From 81211d69cd799fc62db75a2a196f2172da45033e Mon Sep 17 00:00:00 2001 From: Sergej Polovnikov Date: Mon, 31 Aug 2026 22:02:46 +0300 Subject: [PATCH 01/19] fix(flow-patterns): make the models pass the platform compiler MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Every model was imported and compiled on the platform, and the diagnostic read back. Six defects kept eleven of the fourteen from compiling: - stale RestApi and RestApi/GET declarations omitted the Timeout parameter that the engine's inlined body references, so the identifier bound to the type System.Threading.Timeout (CS0119); - a leftover TestCodeAction stub declared a string[] return and returned nothing. The engine emits a method for every declared Code Action, called or not, so the stub failed the whole model (CS0161); - HandleException received #Previous where it needs #PreviousData, leaving the Exception unreachable in the branch that only a failure reaches; - two models read Parameters.config without declaring the parameter; - the Config type of the configuration Flow declared fewer fields than its consumers read: to_email and basic_auth were used but never declared. Its own comment had listed them as intended since the first commit. Node labels are English now. Identifiers are untouched, so sequence flows, associations and the diagram still resolve, and event names — which the event-based gateway matches branches by — are left exactly as they were. Nine of the fourteen models now compile on their own. The remaining five need a companion Flow or a stand configuration that this repository does not ship. Co-Authored-By: Claude Fable 5 --- flow-patterns/01-basics/echo-agent.bpmn | 2 +- flow-patterns/01-basics/global-and-jsonpath.bpmn | 2 +- flow-patterns/03-config-as-flow/get-config.bpmn | 2 +- .../03-config-as-flow/send-links-before.bpmn | 12 ++++++------ flow-patterns/03-config-as-flow/send-links.bpmn | 8 ++++---- .../04-pagination/sync-folder-paged.bpmn | 4 ++-- .../boundary-event-fanout.bpmn | 2 +- .../05-events-and-signals/zip-chunks.bpmn | 16 ++++++++-------- flow-patterns/06-streaming-sse/llm-stream.bpmn | 2 +- flow-patterns/08-ai-agents/ai-completions.bpmn | 2 +- 10 files changed, 26 insertions(+), 26 deletions(-) diff --git a/flow-patterns/01-basics/echo-agent.bpmn b/flow-patterns/01-basics/echo-agent.bpmn index 5bedb57..996ab15 100644 --- a/flow-patterns/01-basics/echo-agent.bpmn +++ b/flow-patterns/01-basics/echo-agent.bpmn @@ -4,7 +4,7 @@ ["Action","Function"] [{"name":"ErrorResponse","definition":"{\r\n \"$schema\": \"http://json-schema.org/draft-06/schema#\",\r\n \"$ref\": \"#/definitions/ErrorResponse\",\r\n \"definitions\": {\r\n \"ErrorResponse\": {\r\n \"type\": \"object\",\r\n \"additionalProperties\": true,\r\n \"properties\": {\r\n \"LevelMessage\": {\r\n \"title\": \"The Error level\",\r\n \"type\": \"string\"\r\n },\r\n \"statusCode\": {\r\n \"title\": \"The Error Status Code\",\r\n \"type\": \"integer\"\r\n },\r\n \"ErrNumber\": {\r\n \"title\": \"The Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Message\": {\r\n \"title\": \"The Error Message\",\r\n \"type\": \"string\"\r\n },\r\n \"State\": {\r\n \"title\": \"The Error State\",\r\n \"type\": \"string\"\r\n },\r\n \"HelpLink\": {\r\n \"title\": \"The Help Link\",\r\n \"type\": \"string\"\r\n },\r\n \"errNumberReason\": {\r\n \"title\": \"The initial Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Data\": {\r\n \"title\": \"The Error Data\",\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"LevelMessage\": {\r\n \"title\": \"The Error level\",\r\n \"type\": \"string\"\r\n },\r\n \"statusCode\": {\r\n \"title\": \"The Error Status Code\",\r\n \"type\": \"integer\"\r\n },\r\n \"ErrNumber\": {\r\n \"title\": \"The Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Message\": {\r\n \"title\": \"The Error Message\",\r\n \"type\": \"string\"\r\n },\r\n \"State\": {\r\n \"title\": \"The Error State\",\r\n \"type\": \"string\"\r\n },\r\n \"HelpLink\": {\r\n \"title\": \"The Help Link\",\r\n \"type\": \"string\"\r\n },\r\n \"errNumberReason\": {\r\n \"title\": \"The initial Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Data\": {\r\n \"title\": \"The Data Schema\",\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"LevelMessage\": {\r\n \"title\": \"The Error level\",\r\n \"type\": \"string\"\r\n },\r\n \"statusCode\": {\r\n \"title\": \"The Error Status Code\",\r\n \"type\": \"integer\"\r\n },\r\n \"ErrNumber\": {\r\n \"title\": \"The Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Message\": {\r\n \"title\": \"The Error Message\",\r\n \"type\": \"string\"\r\n },\r\n \"State\": {\r\n \"title\": \"The Error State\",\r\n \"type\": \"string\"\r\n },\r\n \"HelpLink\": {\r\n \"title\": \"The Help Link\",\r\n \"type\": \"string\"\r\n },\r\n \"errNumberReason\": {\r\n \"title\": \"The initial Error Number\",\r\n \"type\": \"string\"\r\n }\r\n }\r\n },\r\n \"ResolveUrl\": {\r\n \"title\": \"The Resolve Url Link\",\r\n \"type\": \"string\"\r\n }\r\n }\r\n },\r\n \"ResolveUrl\": {\r\n \"title\": \"The Resolve Url Link\",\r\n \"type\": \"string\"\r\n },\r\n \"extraData\": {\r\n \"title\": \"The Error Extra Data \",\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"operationDuration\": {\r\n \"title\": \"The Operation Duration\",\r\n \"type\": \"integer\"\r\n }\r\n }\r\n }\r\n },\r\n \"title\": \"ErrorResponse\"\r\n }\r\n }\r\n}","isNativeDefinition":false},{"name":"HttpConfig","definition":"{\r\n \"$schema\":\"http://natec.tech/simpleschema\",\r\n \"$ref\":\"#/definitions/HttpConfig\",\r\n \"definitions\":{\r\n \"HttpConfig\":{\r\n \"type\":\"object\",\r\n \"properties\":{\r\n \"host\":{\r\n \"type\":\"string\"\r\n },\r\n \"port\":{\r\n \"type\":\"string\"\r\n },\r\n \"login\":{\r\n \"type\":\"string\"\r\n },\r\n \"password\":{\r\n \"type\":\"string\"\r\n },\r\n \"encoding\":{\r\n \"type\":\"string\"\r\n },\r\n \"headers\":{\r\n \"type\":\"StringDictionary<string, string>\"\r\n }\r\n },\r\n \"required\": [\"host\", \"encoding\", \"headers\"],\r\n \"title\":\"HttpConfig\"\r\n }\r\n }\r\n}","isNativeDefinition":false},{"name":"OracleConfig","definition":"{\r\n \"$schema\":\"http://natec.tech/simpleschema\",\r\n \"$ref\":\"#/definitions/OracleConfig\",\r\n \"definitions\":{\r\n \"OracleConfig\":{\r\n \"type\":\"object\",\r\n \"properties\":{\r\n \"userId\":{\r\n \"type\":\"string\"\r\n },\r\n \"password\":{\r\n \"type\":\"string\"\r\n },\r\n \"dataSource\":{\r\n \"type\":\"string\"\r\n }\r\n },\r\n \"required\": [\"userId\", \"password\", \"dataSource\"],\r\n \"title\":\"OracleConfig\"\r\n }\r\n }\r\n}","isNativeDefinition":false},{"name":"SystemException","definition":"{\r\n \"$schema\":\"http://natec.tech/simpleschema\",\r\n \"$ref\":\"#/definitions/SystemException\",\r\n \"definitions\":{\r\n \"SystemException\":{\r\n \"type\":\"object\",\r\n \"properties\":{\r\n \"Exception\":{\r\n \"type\":\"types://core/System.Exception\"\r\n },\r\n \"info\":{\r\n \"type\":\"string\"\r\n }\r\n },\r\n \"title\":\"SystemException\"\r\n }\r\n }\r\n}","isNativeDefinition":false},{"name":"TestClass","definition":"\r\n/// A product to be created defined by value or existing defined by reference. The polymorphic attributes type, schemaLocation referredType are related to the product entity and not the RelatedProductRefOrValue class itself\r\n\r\npublic class TestClass { \r\n\tpublic int Id {get;set;}\r\n}","isNativeDefinition":true}] [{"name":"AmaAgentModel","definition":"types://external/ama_base_agent/AmaAgentModel"},{"name":"AmaChatBodyRequest","definition":"types://external/ama_base_agent/AmaChatBodyRequest"},{"name":"AmaMessageDelivery","definition":"types://external/ama_base_agent/AmaMessageDelivery"},{"name":"AmaMessageModel","definition":"types://external/ama_base_agent/AmaMessageModel"},{"name":"ChatCompletionsRequestMessageViewModel","definition":"types://external/ai/UCP.Common.AI.ChatCompletionsRequestMessageViewModel"},{"name":"SseMessage","definition":"types://external/ai/UCP.Common.Dto.Sse.SseMessage"}] - [{"name":"InspectOracleResult","initCode":"string[] InspectOracleResult (\n\t\tCollection oracleData\n\t) \n {\n //get single value\n //Logger.LogInformation($\"get single value of FIELD_NAME1 by index: syntax oracleData[index].FIELD_NAME1\");\n var field_first = oracleData[0].FIELD_NAME1;\n\n //enumeration of FIELD_NAME1 (with LINQ)\n var field_rows = from row in oracleData\n select row.FIELD_NAME1;\n //passing by enumeration\n Logger.LogInformation($\"passing by enumeration field_rows of var1: syntax FIELD_NAME1:var1\");\n foreach (var field1 in field_rows)\n Logger.LogInformation($\"FIELD_NAME1:{field1}\");\n\n //get array of msisdn from enumeration\n Logger.LogInformation($\"get array from enumeration: syntax field_rows.ToArray()\");\n var myArray = field_rows.ToArray();\n //get first value from array\n var field_from_Array = myArray[0];\n\n //passing by enumeration of whole dataset\n Logger.LogInformation($\"passing by enumeration of whole dataset: syntax FIELD_NAME1:row.FIELD_NAME1, FIELD_NAME2:row.FIELD_NAME2 etc...\");\n foreach (var row in oracleData)\n Logger.LogInformation($\"FIELD_NAME1:{row.FIELD_NAME1}\");\n\n //convert whole dataset to string \n var field_list = from row in oracleData\n select row.FIELD_NAME1 as string;\n //convert string to string array \n return field_list.ToList();\n\n }","initParameters":[{"name":"Result","type":"string[]"},{"name":"oracleData","type":"Collection","required":true}]},{"name":"HandleException","initCode":"ErrorResponse HandleException (\n\t\tPassingResult prevData\n\t) \n {\n try\n {\n //investigate the Exception \n Logger.LogInformation($\"Exception name : {prevData.Exception.GetType().Name}\");\n //casting to exception example\n OracleException exception = null;\n if (prevData.Exception is OracleException)\n {\n exception = prevData.Exception as OracleException;\n }\n \n //forming the HTTP error result\n if (WorkflowEnvironment.RuntimeName == \"UCP\")\n WorkflowEnvironment.Variables[\"StatusCode\"] = 500;\n return new ErrorResponse()\n {\n Message = string.Concat(prevData.Exception.Message, $\"({prevData.Exception.InnerException?.Message})\"),\n LevelMessage = \"11\",\n statusCode = 500,\n State = \"1\",\n //ErrNumber = exception.Number.ToString()\n }; \n }\n catch (Exception e) {\n Logger.LogError($\"HandleException:: error {e}\");\n throw new Exception($\"HandleException:: error {e}\");\n }\n }","initParameters":[{"name":"Result","type":"ErrorResponse"},{"name":"prevData","type":"PassingResult","required":true}]},{"name":"CodeActionExample","initCode":"Json CodeActionExample (\n\t\tJson inputData\n\t) \n {\n try \n { \n \n Logger.LogInformation($\"CodeActionExample:: started\");\n // TODO Insert your code here\n Logger.LogInformation($\"CodeActionExample:: finished\");\n return inputData;\n }\n catch (Exception e) {\n Logger.LogError($\"CodeActionExample:: error {e}\");\n throw new Exception($\"CodeActionExample:: error {e}\");\n }\n \n }","initParameters":[{"name":"Result","type":"Json"},{"name":"inputData","type":"Json","required":false}]},{"name":"TestCodeAction","initCode":"string[] TestCodeAction (\n\t\tstring arg\n\t) \n {\n // TODO Insert your code here\n }","initParameters":[{"name":"Result","type":"string[]"},{"name":"arg","type":"string","required":false}]}] + [{"name":"InspectOracleResult","initCode":"string[] InspectOracleResult (\n\t\tCollection oracleData\n\t) \n {\n //get single value\n //Logger.LogInformation($\"get single value of FIELD_NAME1 by index: syntax oracleData[index].FIELD_NAME1\");\n var field_first = oracleData[0].FIELD_NAME1;\n\n //enumeration of FIELD_NAME1 (with LINQ)\n var field_rows = from row in oracleData\n select row.FIELD_NAME1;\n //passing by enumeration\n Logger.LogInformation($\"passing by enumeration field_rows of var1: syntax FIELD_NAME1:var1\");\n foreach (var field1 in field_rows)\n Logger.LogInformation($\"FIELD_NAME1:{field1}\");\n\n //get array of msisdn from enumeration\n Logger.LogInformation($\"get array from enumeration: syntax field_rows.ToArray()\");\n var myArray = field_rows.ToArray();\n //get first value from array\n var field_from_Array = myArray[0];\n\n //passing by enumeration of whole dataset\n Logger.LogInformation($\"passing by enumeration of whole dataset: syntax FIELD_NAME1:row.FIELD_NAME1, FIELD_NAME2:row.FIELD_NAME2 etc...\");\n foreach (var row in oracleData)\n Logger.LogInformation($\"FIELD_NAME1:{row.FIELD_NAME1}\");\n\n //convert whole dataset to string \n var field_list = from row in oracleData\n select row.FIELD_NAME1 as string;\n //convert string to string array \n return field_list.ToList();\n\n }","initParameters":[{"name":"Result","type":"string[]"},{"name":"oracleData","type":"Collection","required":true}]},{"name":"HandleException","initCode":"ErrorResponse HandleException (\n\t\tPassingResult prevData\n\t) \n {\n try\n {\n //investigate the Exception \n Logger.LogInformation($\"Exception name : {prevData.Exception.GetType().Name}\");\n //casting to exception example\n OracleException exception = null;\n if (prevData.Exception is OracleException)\n {\n exception = prevData.Exception as OracleException;\n }\n \n //forming the HTTP error result\n if (WorkflowEnvironment.RuntimeName == \"UCP\")\n WorkflowEnvironment.Variables[\"StatusCode\"] = 500;\n return new ErrorResponse()\n {\n Message = string.Concat(prevData.Exception.Message, $\"({prevData.Exception.InnerException?.Message})\"),\n LevelMessage = \"11\",\n statusCode = 500,\n State = \"1\",\n //ErrNumber = exception.Number.ToString()\n }; \n }\n catch (Exception e) {\n Logger.LogError($\"HandleException:: error {e}\");\n throw new Exception($\"HandleException:: error {e}\");\n }\n }","initParameters":[{"name":"Result","type":"ErrorResponse"},{"name":"prevData","type":"PassingResult","required":true}]},{"name":"CodeActionExample","initCode":"Json CodeActionExample (\n\t\tJson inputData\n\t) \n {\n try \n { \n \n Logger.LogInformation($\"CodeActionExample:: started\");\n // TODO Insert your code here\n Logger.LogInformation($\"CodeActionExample:: finished\");\n return inputData;\n }\n catch (Exception e) {\n Logger.LogError($\"CodeActionExample:: error {e}\");\n throw new Exception($\"CodeActionExample:: error {e}\");\n }\n \n }","initParameters":[{"name":"Result","type":"Json"},{"name":"inputData","type":"Json","required":false}]}] [{"name":"bll","link":"libs://common/bll","version":"","entities":[]},{"name":"ai","link":"libs://common/ai","version":"","entities":[]},{"name":"Platform","link":"libs://common/platform","version":"","entities":[]},{"name":"ama_base_agent","link":"activities://bpmn-mnemo/tenant/Shared AI Agents/ama_base_agent/#latest"}] [{"name":"RestApi","initCode":"functions://default/RestApi","initParameters":[{"name":"Uri","type":"Uri","required":true,"oldName":"Uri","oldType":"Uri","defaultValue":"http://servername:port/resource"},{"name":"Method","type":"string","required":true,"oldName":"Method","oldType":"String","defaultValue":"GET"},{"name":"Login","type":"string","required":false,"oldName":"Login","oldType":"String","defaultValue":null},{"name":"Password","type":"string","required":false,"oldName":"Password","oldType":"String","defaultValue":null},{"name":"Headers","type":"StringDictionary","required":false,"oldName":"Headers","oldType":"StringDictionary","defaultValue":"{\r\n \"Content-Type\":\"application/json;charset=utf-16\",\r\n \"system\":\"204\",\r\n \"global_unique_id\":\"6a297fcb-956e-4228-8c11-017e9bacd629\"\r\n }"},{"name":"Body","type":"string","required":false,"oldName":"Body","oldType":"String","defaultValue":"{}"},{"name":"Encoding","type":"string","required":false,"oldName":"Encoding","oldType":"String","defaultValue":"utf-8"},{"name":"Timeout","type":"int","required":false,"oldName":"Timeout","oldType":"int","defaultValue":"0"},{"name":"Result","type":"HttpResponse","required":false,"oldName":"Result","oldType":"HttpResponse","defaultValue":null}],"oldName":"RestApi"},{"name":"RestApi/GET","initCode":"functions://default/RestApi/Get","initParameters":[{"name":"Uri","type":"Uri","required":true,"oldName":"Uri","oldType":"Uri","defaultValue":"http://servername:port/resource"},{"name":"Login","type":"string","required":false,"oldName":"Login","oldType":"String","defaultValue":null},{"name":"Password","type":"string","required":false,"oldName":"Password","oldType":"String","defaultValue":null},{"name":"Headers","type":"StringDictionary","required":false,"oldName":"Headers","oldType":"StringDictionary","defaultValue":"{\r\n \"Content-Type\":\"application/json;charset=utf-16\",\r\n \"system\":\"204\",\r\n \"global_unique_id\":\"6a297fcb-956e-4228-8c11-017e9bacd629\"\r\n }"},{"name":"Encoding","type":"string","required":false,"oldName":"Encoding","oldType":"String","defaultValue":"utf-8"},{"name":"Timeout","type":"int","required":false,"oldName":"Timeout","oldType":"int","defaultValue":"0"},{"name":"Result","type":"HttpResponse","required":false,"oldName":"Result","oldType":"HttpResponse","defaultValue":null}],"oldName":"RestApi/GET"},{"name":"JsonPath","initCode":"functions://default//JsonPath","initParameters":[{"name":"Response","type":"HttpResponse","required":true,"oldName":"Response","oldType":"HttpResponse","defaultValue":null},{"name":"Path","type":"string","required":false,"oldName":"Path","oldType":"String","defaultValue":"$"},{"name":"Result","type":"Json","required":false,"oldName":"Result","oldType":"Json","defaultValue":null}],"oldName":"JsonPath"},{"name":"SaveVariable","initCode":"functions://default//SaveVariable","initParameters":[{"name":"VariableName","type":"string","required":true,"oldName":"VariableName","oldType":"string","defaultValue":"varName"},{"name":"Data","type":"object","required":true,"oldName":"Data","oldType":"object","defaultValue":"#previous"}],"oldName":"SaveVariable"},{"name":"SQL/Oracle/Query","initCode":"functions://default//SQL/Oracle/Query","initParameters":[{"name":"userID","type":"string","required":true,"oldName":"userID","oldType":"String","defaultValue":null},{"name":"password","type":"string","required":false,"oldName":"password","oldType":"String","defaultValue":null},{"name":"dataSource","type":"string","required":false,"oldName":"dataSource","oldType":"String","defaultValue":null},{"name":"query","type":"string","required":false,"oldName":"query","oldType":"String","defaultValue":null},{"name":"Result","type":"Collection","required":false,"oldName":"Result","oldType":"Collection","defaultValue":null}],"oldName":"SQL/Oracle/Query"},{"name":"SQL/Oracle/Command","initCode":"functions://default//SQL/Oracle/Command","initParameters":[{"name":"userID","type":"string","required":true,"oldName":"userID","oldType":"String","defaultValue":null},{"name":"password","type":"string","required":false,"oldName":"password","oldType":"String","defaultValue":null},{"name":"dataSource","type":"string","required":false,"oldName":"dataSource","oldType":"String","defaultValue":null},{"name":"command","type":"string","required":false,"oldName":"command","oldType":"String","defaultValue":null},{"name":"Result","type":"int","required":false,"oldName":"Result","oldType":"int","defaultValue":null}],"oldName":"SQL/Oracle/Command"}] [] diff --git a/flow-patterns/01-basics/global-and-jsonpath.bpmn b/flow-patterns/01-basics/global-and-jsonpath.bpmn index cba2e82..d12d96b 100644 --- a/flow-patterns/01-basics/global-and-jsonpath.bpmn +++ b/flow-patterns/01-basics/global-and-jsonpath.bpmn @@ -6,7 +6,7 @@ [] [{"name":"InspectOracleResult","initCode":"string[] InspectOracleResult (\n\t\tCollection oracleData\n\t) \n {\n //get single value\n //Logger.LogInformation($\"get single value of FIELD_NAME1 by index: syntax oracleData[index].FIELD_NAME1\");\n var field_first = oracleData[0].FIELD_NAME1;\n\n //enumeration of FIELD_NAME1 (with LINQ)\n var field_rows = from row in oracleData\n select row.FIELD_NAME1;\n //passing by enumeration\n Logger.LogInformation($\"passing by enumeration field_rows of var1: syntax FIELD_NAME1:var1\");\n foreach (var field1 in field_rows)\n Logger.LogInformation($\"FIELD_NAME1:{field1}\");\n\n //get array of msisdn from enumeration\n Logger.LogInformation($\"get array from enumeration: syntax field_rows.ToArray()\");\n var myArray = field_rows.ToArray();\n //get first value from array\n var field_from_Array = myArray[0];\n\n //passing by enumeration of whole dataset\n Logger.LogInformation($\"passing by enumeration of whole dataset: syntax FIELD_NAME1:row.FIELD_NAME1, FIELD_NAME2:row.FIELD_NAME2 etc...\");\n foreach (var row in oracleData)\n Logger.LogInformation($\"FIELD_NAME1:{row.FIELD_NAME1}\");\n\n //convert whole dataset to string \n var field_list = from row in oracleData\n select row.FIELD_NAME1 as string;\n //convert string to string array \n return field_list.ToList();\n\n }","initParameters":[{"name":"Result","type":"string[]"},{"name":"oracleData","type":"Collection","required":true}]},{"name":"HandleException","initCode":"ErrorResponse HandleException (\n\t\tPassingResult prevData\n\t) \n {\n try\n {\n //investigate the Exception \n Logger.LogInformation($\"Exception name : {prevData.Exception.GetType().Name}\");\n \n //casting to exception example\n OracleException exception = null;\n if (prevData.Exception is OracleException)\n {\n exception = prevData.Exception as OracleException;\n }\n \n //forming the HTTP error result\n if (WorkflowEnvironment.RuntimeName == \"UCP\")\n WorkflowEnvironment.Variables[\"StatusCode\"] = 500;\n return new ErrorResponse()\n {\n Message = exception.Message,\n LevelMessage = \"11\",\n statusCode = 500,\n State = \"1\",\n ErrNumber = exception.Number.ToString()\n }; \n }\n catch (Exception e) {\n Logger.LogError($\"HandleException:: error {e}\");\n throw new Exception($\"HandleException:: error {e}\");\n }\n }","initParameters":[{"name":"Result","type":"ErrorResponse"},{"name":"prevData","type":"PassingResult","required":true}]},{"name":"CodeActionExample","initCode":"Json CodeActionExample (\n\t\tJson inputData\n\t) \n {\n try \n { \n \n Logger.LogInformation($\"CodeActionExample:: started\");\n // TODO Insert your code here\n Logger.LogInformation($\"CodeActionExample:: finished\");\n return inputData;\n }\n catch (Exception e) {\n Logger.LogError($\"CodeActionExample:: error {e}\");\n throw new Exception($\"CodeActionExample:: error {e}\");\n }\n \n }","initParameters":[{"name":"Result","type":"Json"},{"name":"inputData","type":"Json","required":false}]},{"name":"returnErrorAsJSON","initCode":"Json returnErrorAsJSON (\n\t) \n {\n string errorString = \"[\\\"ERROR\\\"]\";\n \n JSON response = new JSON(errorString);\n return response;\n }","initParameters":[{"name":"Result","type":"Json"}]},{"name":"formatResult","initCode":"CredentialSP formatResult (\n\t\tJson folders,\n\t\tstring sql,\n\t\tCredentialSP credential\n\t) \n {\n var result = new CredentialSP()\n {\n username = credential?.username,\n password = credential?.password,\n accountname = credential?.accountname\n };\n \n result.sql = sql;\n if(folders != null)\n // remove /sites/Retail/Shared Documents\n result.folders = folders.Cast<string[]>()\n .Select(item=>{\n if (item==\"ERROR\")\n return item;\n else\n return item.Substring(30);\n \n })\n .ToArray();\n return result;\n }","initParameters":[{"name":"Result","type":"CredentialSP"},{"name":"folders","type":"Json","required":false},{"name":"sql","type":"string","required":false},{"name":"credential","type":"CredentialSP","required":false}]}] [] - [{"name":"RestApi","initCode":"functions://default/RestApi","initParameters":[{"name":"Uri","type":"Uri","required":true,"oldName":"Uri","defaultValue":"http://servername:port/resource"},{"name":"Method","type":"String","required":true,"oldName":"Method","defaultValue":"GET"},{"name":"Login","type":"String","required":false,"oldName":"Login","defaultValue":null},{"name":"Password","type":"String","required":false,"oldName":"Password","defaultValue":null},{"name":"Headers","type":"StringDictionary","required":false,"oldName":"Headers","defaultValue":"{\r\n \"Content-Type\":\"application/json;charset=utf-16\",\r\n \"system\":\"204\",\r\n \"global_unique_id\":\"6a297fcb-956e-4228-8c11-017e9bacd629\"\r\n }"},{"name":"Body","type":"String","required":false,"oldName":"Body","defaultValue":"{}"},{"name":"Encoding","type":"String","required":false,"oldName":"Encoding","defaultValue":"utf-8"},{"name":"Result","type":"HttpResponse","required":false,"oldName":"Result","defaultValue":null}],"oldName":"RestApi"},{"name":"RestApi/GET","initCode":"functions://default/RestApi/Get","initParameters":[{"name":"Uri","type":"Uri","required":true,"oldName":"Uri","defaultValue":"http://servername:port/resource"},{"name":"Login","type":"String","required":false,"oldName":"Login","defaultValue":null},{"name":"Password","type":"String","required":false,"oldName":"Password","defaultValue":null},{"name":"Headers","type":"StringDictionary","required":false,"oldName":"Headers","defaultValue":"{\r\n \"Content-Type\":\"application/json;charset=utf-16\",\r\n \"system\":\"204\",\r\n \"global_unique_id\":\"6a297fcb-956e-4228-8c11-017e9bacd629\"\r\n }"},{"name":"Encoding","type":"String","required":false,"oldName":"Encoding","defaultValue":"utf-8"},{"name":"Result","type":"HttpResponse","required":false,"oldName":"Result","defaultValue":null}],"oldName":"RestApi/GET"},{"name":"JsonPath","initCode":"functions://default//JsonPath","initParameters":[{"name":"Response","type":"HttpResponse","required":true,"oldName":"Response","defaultValue":null},{"name":"Path","type":"String","required":false,"oldName":"Path","defaultValue":"$"},{"name":"Result","type":"Json","required":false,"oldName":"Result","defaultValue":null}],"oldName":"JsonPath"},{"name":"SaveVariable","initCode":"functions://default//SaveVariable","initParameters":[{"name":"VariableName","type":"string","required":true,"oldName":"VariableName","defaultValue":"varName"},{"name":"Data","type":"object","required":true,"oldName":"Data","defaultValue":"#previous"}],"oldName":"SaveVariable"},{"name":"SQL/Oracle/Query","initCode":"functions://default//SQL/Oracle/Query","initParameters":[{"name":"userID","type":"String","required":true,"oldName":"userID","defaultValue":null},{"name":"password","type":"String","required":false,"oldName":"password","defaultValue":null},{"name":"dataSource","type":"String","required":false,"oldName":"dataSource","defaultValue":null},{"name":"query","type":"String","required":false,"oldName":"query","defaultValue":null},{"name":"Result","type":"Collection","required":false,"oldName":"Result","defaultValue":null}],"oldName":"SQL/Oracle/Query"},{"name":"SQL/Oracle/Command","initCode":"functions://default//SQL/Oracle/Command","initParameters":[{"name":"userID","type":"String","required":true,"oldName":"userID","defaultValue":null},{"name":"password","type":"String","required":false,"oldName":"password","defaultValue":null},{"name":"dataSource","type":"String","required":false,"oldName":"dataSource","defaultValue":null},{"name":"command","type":"String","required":false,"oldName":"command","defaultValue":null},{"name":"Result","type":"int","required":false,"oldName":"Result","defaultValue":null}],"oldName":"SQL/Oracle/Command"}] + [{"name":"RestApi","initCode":"functions://default/RestApi","initParameters":[{"name":"Uri","type":"Uri","required":true,"oldName":"Uri","defaultValue":"http://servername:port/resource"},{"name":"Method","type":"String","required":true,"oldName":"Method","defaultValue":"GET"},{"name":"Login","type":"String","required":false,"oldName":"Login","defaultValue":null},{"name":"Password","type":"String","required":false,"oldName":"Password","defaultValue":null},{"name":"Headers","type":"StringDictionary","required":false,"oldName":"Headers","defaultValue":"{\r\n \"Content-Type\":\"application/json;charset=utf-16\",\r\n \"system\":\"204\",\r\n \"global_unique_id\":\"6a297fcb-956e-4228-8c11-017e9bacd629\"\r\n }"},{"name":"Body","type":"String","required":false,"oldName":"Body","defaultValue":"{}"},{"name":"Encoding","type":"String","required":false,"oldName":"Encoding","defaultValue":"utf-8"},{"name":"Timeout","type":"int","required":false,"oldName":"Timeout","defaultValue":"100000"},{"name":"Result","type":"HttpResponse","required":false,"oldName":"Result","defaultValue":null}],"oldName":"RestApi"},{"name":"RestApi/GET","initCode":"functions://default/RestApi/Get","initParameters":[{"name":"Uri","type":"Uri","required":true,"oldName":"Uri","defaultValue":"http://servername:port/resource"},{"name":"Login","type":"String","required":false,"oldName":"Login","defaultValue":null},{"name":"Password","type":"String","required":false,"oldName":"Password","defaultValue":null},{"name":"Headers","type":"StringDictionary","required":false,"oldName":"Headers","defaultValue":"{\r\n \"Content-Type\":\"application/json;charset=utf-16\",\r\n \"system\":\"204\",\r\n \"global_unique_id\":\"6a297fcb-956e-4228-8c11-017e9bacd629\"\r\n }"},{"name":"Encoding","type":"String","required":false,"oldName":"Encoding","defaultValue":"utf-8"},{"name":"Timeout","type":"int","required":false,"oldName":"Timeout","defaultValue":"100000"},{"name":"Result","type":"HttpResponse","required":false,"oldName":"Result","defaultValue":null}],"oldName":"RestApi/GET"},{"name":"JsonPath","initCode":"functions://default//JsonPath","initParameters":[{"name":"Response","type":"HttpResponse","required":true,"oldName":"Response","defaultValue":null},{"name":"Path","type":"String","required":false,"oldName":"Path","defaultValue":"$"},{"name":"Result","type":"Json","required":false,"oldName":"Result","defaultValue":null}],"oldName":"JsonPath"},{"name":"SaveVariable","initCode":"functions://default//SaveVariable","initParameters":[{"name":"VariableName","type":"string","required":true,"oldName":"VariableName","defaultValue":"varName"},{"name":"Data","type":"object","required":true,"oldName":"Data","defaultValue":"#previous"}],"oldName":"SaveVariable"},{"name":"SQL/Oracle/Query","initCode":"functions://default//SQL/Oracle/Query","initParameters":[{"name":"userID","type":"String","required":true,"oldName":"userID","defaultValue":null},{"name":"password","type":"String","required":false,"oldName":"password","defaultValue":null},{"name":"dataSource","type":"String","required":false,"oldName":"dataSource","defaultValue":null},{"name":"query","type":"String","required":false,"oldName":"query","defaultValue":null},{"name":"Result","type":"Collection","required":false,"oldName":"Result","defaultValue":null}],"oldName":"SQL/Oracle/Query"},{"name":"SQL/Oracle/Command","initCode":"functions://default//SQL/Oracle/Command","initParameters":[{"name":"userID","type":"String","required":true,"oldName":"userID","defaultValue":null},{"name":"password","type":"String","required":false,"oldName":"password","defaultValue":null},{"name":"dataSource","type":"String","required":false,"oldName":"dataSource","defaultValue":null},{"name":"command","type":"String","required":false,"oldName":"command","defaultValue":null},{"name":"Result","type":"int","required":false,"oldName":"Result","defaultValue":null}],"oldName":"SQL/Oracle/Command"}] [] [{"name":"oracleConfig","type":"OracleConfig","initialValue":"{\r\n \"userId\":\"dbuser\",\r\n \"password\":\"\",\r\n \"dataSource\":\"dbhost:1521/servicename\"\r\n}\r\n"},{"name":"httpConfig","type":"HttpConfig","initialValue":"{\r\n \"host\":\"http://servername\",\r\n \"port\":\"4433\",\r\n \"login\":null,\r\n \"password\":null,\r\n \"encoding\":\"utf-8\",\r\n \"headers\":{\r\n \"Content-Type\":\"application/json\",\r\n \"Accept\":\"application/json\"\r\n }\r\n}\r\n"}] {"username":"login","password":"","accountname":"SharePoint_Source[serviceaccount]","sql":"","folders":[""]} diff --git a/flow-patterns/03-config-as-flow/get-config.bpmn b/flow-patterns/03-config-as-flow/get-config.bpmn index 01bcc37..fe750dd 100644 --- a/flow-patterns/03-config-as-flow/get-config.bpmn +++ b/flow-patterns/03-config-as-flow/get-config.bpmn @@ -2,7 +2,7 @@ ["Action","Function"] - [{"name":"Config","definition":" public class Config\r\n {\r\n /*логін\r\n пароль\r\nконнешн до бази\r\nнтв-айді\r\nмоде\r\nto\r\nfrom\r\nto_error\r\nfrom_error*/\r\n public string login { get; set; }\r\n public string password { get; set; }\r\n public string db_connection_str { get; set; }\r\n public string value { get; set; }\r\n public int id { get; set; }\r\n }","isNativeDefinition":true},{"name":"ErrorResponse","definition":"{\r\n \"$schema\": \"http://json-schema.org/draft-06/schema#\",\r\n \"$ref\": \"#/definitions/ErrorResponse\",\r\n \"definitions\": {\r\n \"ErrorResponse\": {\r\n \"type\": \"object\",\r\n \"additionalProperties\": true,\r\n \"properties\": {\r\n \"LevelMessage\": {\r\n \"title\": \"The Error level\",\r\n \"type\": \"string\"\r\n },\r\n \"statusCode\": {\r\n \"title\": \"The Error Status Code\",\r\n \"type\": \"integer\"\r\n },\r\n \"ErrNumber\": {\r\n \"title\": \"The Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Message\": {\r\n \"title\": \"The Error Message\",\r\n \"type\": \"string\"\r\n },\r\n \"State\": {\r\n \"title\": \"The Error State\",\r\n \"type\": \"string\"\r\n },\r\n \"HelpLink\": {\r\n \"title\": \"The Help Link\",\r\n \"type\": \"string\"\r\n },\r\n \"errNumberReason\": {\r\n \"title\": \"The initial Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Data\": {\r\n \"title\": \"The Error Data\",\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"LevelMessage\": {\r\n \"title\": \"The Error level\",\r\n \"type\": \"string\"\r\n },\r\n \"statusCode\": {\r\n \"title\": \"The Error Status Code\",\r\n \"type\": \"integer\"\r\n },\r\n \"ErrNumber\": {\r\n \"title\": \"The Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Message\": {\r\n \"title\": \"The Error Message\",\r\n \"type\": \"string\"\r\n },\r\n \"State\": {\r\n \"title\": \"The Error State\",\r\n \"type\": \"string\"\r\n },\r\n \"HelpLink\": {\r\n \"title\": \"The Help Link\",\r\n \"type\": \"string\"\r\n },\r\n \"errNumberReason\": {\r\n \"title\": \"The initial Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Data\": {\r\n \"title\": \"The Data Schema\",\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"LevelMessage\": {\r\n \"title\": \"The Error level\",\r\n \"type\": \"string\"\r\n },\r\n \"statusCode\": {\r\n \"title\": \"The Error Status Code\",\r\n \"type\": \"integer\"\r\n },\r\n \"ErrNumber\": {\r\n \"title\": \"The Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Message\": {\r\n \"title\": \"The Error Message\",\r\n \"type\": \"string\"\r\n },\r\n \"State\": {\r\n \"title\": \"The Error State\",\r\n \"type\": \"string\"\r\n },\r\n \"HelpLink\": {\r\n \"title\": \"The Help Link\",\r\n \"type\": \"string\"\r\n },\r\n \"errNumberReason\": {\r\n \"title\": \"The initial Error Number\",\r\n \"type\": \"string\"\r\n }\r\n }\r\n },\r\n \"ResolveUrl\": {\r\n \"title\": \"The Resolve Url Link\",\r\n \"type\": \"string\"\r\n }\r\n }\r\n },\r\n \"ResolveUrl\": {\r\n \"title\": \"The Resolve Url Link\",\r\n \"type\": \"string\"\r\n },\r\n \"extraData\": {\r\n \"title\": \"The Error Extra Data \",\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"operationDuration\": {\r\n \"title\": \"The Operation Duration\",\r\n \"type\": \"integer\"\r\n }\r\n }\r\n }\r\n },\r\n \"title\": \"ErrorResponse\"\r\n }\r\n }\r\n}","isNativeDefinition":false},{"name":"SystemException","definition":"{\r\n \"$schema\":\"http://natec.tech/simpleschema\",\r\n \"$ref\":\"#/definitions/SystemException\",\r\n \"definitions\":{\r\n \"SystemException\":{\r\n \"type\":\"object\",\r\n \"properties\":{\r\n \"Exception\":{\r\n \"type\":\"types://core/System.Exception\"\r\n },\r\n \"info\":{\r\n \"type\":\"string\"\r\n }\r\n },\r\n \"title\":\"SystemException\"\r\n }\r\n }\r\n}","isNativeDefinition":false}] + [{"name":"Config","definition":" public class Config\r\n {\r\n /* Settings resolved at run time by this configuration Flow.\r\n Consumers in this repository read db_connection_str, to_email\r\n and basic_auth. */\r\n public string login { get; set; }\r\n public string password { get; set; }\r\n public string db_connection_str { get; set; }\r\n public string basic_auth { get; set; }\r\n public string to_email { get; set; }\r\n public string value { get; set; }\r\n public int id { get; set; }\r\n }","isNativeDefinition":true},{"name":"ErrorResponse","definition":"{\r\n \"$schema\": \"http://json-schema.org/draft-06/schema#\",\r\n \"$ref\": \"#/definitions/ErrorResponse\",\r\n \"definitions\": {\r\n \"ErrorResponse\": {\r\n \"type\": \"object\",\r\n \"additionalProperties\": true,\r\n \"properties\": {\r\n \"LevelMessage\": {\r\n \"title\": \"The Error level\",\r\n \"type\": \"string\"\r\n },\r\n \"statusCode\": {\r\n \"title\": \"The Error Status Code\",\r\n \"type\": \"integer\"\r\n },\r\n \"ErrNumber\": {\r\n \"title\": \"The Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Message\": {\r\n \"title\": \"The Error Message\",\r\n \"type\": \"string\"\r\n },\r\n \"State\": {\r\n \"title\": \"The Error State\",\r\n \"type\": \"string\"\r\n },\r\n \"HelpLink\": {\r\n \"title\": \"The Help Link\",\r\n \"type\": \"string\"\r\n },\r\n \"errNumberReason\": {\r\n \"title\": \"The initial Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Data\": {\r\n \"title\": \"The Error Data\",\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"LevelMessage\": {\r\n \"title\": \"The Error level\",\r\n \"type\": \"string\"\r\n },\r\n \"statusCode\": {\r\n \"title\": \"The Error Status Code\",\r\n \"type\": \"integer\"\r\n },\r\n \"ErrNumber\": {\r\n \"title\": \"The Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Message\": {\r\n \"title\": \"The Error Message\",\r\n \"type\": \"string\"\r\n },\r\n \"State\": {\r\n \"title\": \"The Error State\",\r\n \"type\": \"string\"\r\n },\r\n \"HelpLink\": {\r\n \"title\": \"The Help Link\",\r\n \"type\": \"string\"\r\n },\r\n \"errNumberReason\": {\r\n \"title\": \"The initial Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Data\": {\r\n \"title\": \"The Data Schema\",\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"LevelMessage\": {\r\n \"title\": \"The Error level\",\r\n \"type\": \"string\"\r\n },\r\n \"statusCode\": {\r\n \"title\": \"The Error Status Code\",\r\n \"type\": \"integer\"\r\n },\r\n \"ErrNumber\": {\r\n \"title\": \"The Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Message\": {\r\n \"title\": \"The Error Message\",\r\n \"type\": \"string\"\r\n },\r\n \"State\": {\r\n \"title\": \"The Error State\",\r\n \"type\": \"string\"\r\n },\r\n \"HelpLink\": {\r\n \"title\": \"The Help Link\",\r\n \"type\": \"string\"\r\n },\r\n \"errNumberReason\": {\r\n \"title\": \"The initial Error Number\",\r\n \"type\": \"string\"\r\n }\r\n }\r\n },\r\n \"ResolveUrl\": {\r\n \"title\": \"The Resolve Url Link\",\r\n \"type\": \"string\"\r\n }\r\n }\r\n },\r\n \"ResolveUrl\": {\r\n \"title\": \"The Resolve Url Link\",\r\n \"type\": \"string\"\r\n },\r\n \"extraData\": {\r\n \"title\": \"The Error Extra Data \",\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"operationDuration\": {\r\n \"title\": \"The Operation Duration\",\r\n \"type\": \"integer\"\r\n }\r\n }\r\n }\r\n },\r\n \"title\": \"ErrorResponse\"\r\n }\r\n }\r\n}","isNativeDefinition":false},{"name":"SystemException","definition":"{\r\n \"$schema\":\"http://natec.tech/simpleschema\",\r\n \"$ref\":\"#/definitions/SystemException\",\r\n \"definitions\":{\r\n \"SystemException\":{\r\n \"type\":\"object\",\r\n \"properties\":{\r\n \"Exception\":{\r\n \"type\":\"types://core/System.Exception\"\r\n },\r\n \"info\":{\r\n \"type\":\"string\"\r\n }\r\n },\r\n \"title\":\"SystemException\"\r\n }\r\n }\r\n}","isNativeDefinition":false}] [] [{"name":"HandleException","initCode":"ErrorResponse HandleException (\n\t\tPassingResult prevData\n\t) \n {\n try\n {\n //investigate the Exception \n Logger.LogInformation($\"Exception name : {prevData.Exception.GetType().Name}\");\n //casting to exception example\n OracleException exception = null;\n if (prevData.Exception is OracleException)\n {\n exception = prevData.Exception as OracleException;\n }\n \n //forming the HTTP error result\n if (WorkflowEnvironment.RuntimeName == \"UCP\")\n WorkflowEnvironment.Variables[\"StatusCode\"] = 500;\n return new ErrorResponse()\n {\n Message = string.Concat(prevData.Exception.Message, $\"({prevData.Exception.InnerException?.Message})\"),\n LevelMessage = \"11\",\n statusCode = 500,\n State = \"1\",\n //ErrNumber = exception.Number.ToString()\n }; \n }\n catch (Exception e) {\n Logger.LogError($\"HandleException:: error {e}\");\n throw new Exception($\"HandleException:: error {e}\");\n }\n }","initParameters":[{"name":"Result","type":"ErrorResponse"},{"name":"prevData","type":"PassingResult","required":true}]}] [] diff --git a/flow-patterns/03-config-as-flow/send-links-before.bpmn b/flow-patterns/03-config-as-flow/send-links-before.bpmn index 76d01fa..db3e013 100644 --- a/flow-patterns/03-config-as-flow/send-links-before.bpmn +++ b/flow-patterns/03-config-as-flow/send-links-before.bpmn @@ -22,7 +22,7 @@ - + 10 @@ -35,7 +35,7 @@ DataObjectReference_1y3l3pb - + {"actionType":"Action","action":"GetLinks","actionParam":{"pageInfo":"Input"},"libName":"","libEntity":"","libMethod":""} @@ -63,7 +63,7 @@ - {"actionType":"Expression","action":"var links = #Previous as List<FileLinkInfo>;\n\n var result = new List<FileLinkInfo>();\n using var client = new HttpClient();\n var authToken = Convert.ToBase64String(Encoding.UTF8.GetBytes(\"{Root.Parameters.config.basic_auth}\"));\n client.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue(\"Basic\", authToken);\n \n foreach (var fli in links)\n {\n string fileUrl = fli.Url;\n var localFile = DataAssociations.DS_LinksFolder.CreateFile(fli.FileName);\n\n using HttpResponseMessage response = client.GetAsync(fileUrl, HttpCompletionOption.ResponseHeadersRead).Result;\n using Stream streamToReadFrom = response.Content.ReadAsStream();\n using Stream streamToWriteTo = localFile.OpenStream();\n streamToReadFrom.CopyTo(streamToWriteTo);\n var rLink = localFile.CreateLink();\n result.Add(new FileLinkInfo()\n {\n FileName = fli.FileName,\n Url = rLink\n });\n }\n\n return result;"} + {"actionType":"Expression","action":"var links = #Previous as List<FileLinkInfo>;\n\n var result = new List<FileLinkInfo>();\n using var client = new HttpClient();\n var authToken = Convert.ToBase64String(Encoding.UTF8.GetBytes(\"login:password\"));\n client.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue(\"Basic\", authToken);\n \n foreach (var fli in links)\n {\n string fileUrl = fli.Url;\n var localFile = DataAssociations.DS_LinksFolder.CreateFile(fli.FileName);\n\n using HttpResponseMessage response = client.GetAsync(fileUrl, HttpCompletionOption.ResponseHeadersRead).Result;\n using Stream streamToReadFrom = response.Content.ReadAsStream();\n using Stream streamToWriteTo = localFile.OpenStream();\n streamToReadFrom.CopyTo(streamToWriteTo);\n var rLink = localFile.CreateLink();\n result.Add(new FileLinkInfo()\n {\n FileName = fli.FileName,\n Url = rLink\n });\n }\n\n return result;"} Flow_0m1psi6 Flow_0lbkzux @@ -126,7 +126,7 @@ - + {"actionType":"Action","action":"GetPageInfos","actionParam":{"pageSize":"Parameters.PageSize"},"libName":"","libEntity":"","libMethod":""} @@ -140,7 +140,7 @@ - + {"actionType":"Expression","action":"var linksList = #Previous;\r\nvar sb = new StringBuilder();\r\n\r\nsb.AppendLine(\r\n \"<p style='font-family:Arial,sans-serif;font-size:14px;line-height:1.5;'>\" +\r\n \"Це автоматичне повідомлення. Нижче наведено перелік білінгових рахунків на оплату \" +\r\n \"із зазначенням ідентифікатора <strong>Service Line</strong>, які були згенеровані \" +\r\n \"системою WideCoup BSS для послуги доступу до двостороннього супутникового \" +\r\n \"Інтернету Starlink.\" +\r\n \"</p>\"\r\n);\r\n\r\nsb.AppendLine(\r\n \"<table style='border-collapse:collapse;width:100%;font-family:Arial,sans-serif;font-size:14px;'>\"\r\n);\r\n\r\nsb.AppendLine(\r\n \"<thead>\" +\r\n \"<tr>\" +\r\n \"<th style='border:1px solid #d9d9d9;padding:10px;text-align:left;background-color:#f2f2f2;'>\" +\r\n \"Service Line\" +\r\n \"</th>\" +\r\n \"</tr>\" +\r\n \"</thead>\"\r\n);\r\n\r\nsb.AppendLine(\"<tbody>\");\r\n\r\nforeach (var links in linksList)\r\n{\r\n foreach (var lnk in links)\r\n {\r\n sb.AppendLine(\r\n \"<tr>\" +\r\n \"<td style='border:1px solid #d9d9d9;padding:10px;'>\" +\r\n $\"<a href='{lnk.Url}' target='_blank'>{lnk.FileName}</a>\" +\r\n \"</td>\" +\r\n \"</tr>\"\r\n );\r\n }\r\n}\r\n\r\nsb.AppendLine(\"</tbody>\");\r\nsb.AppendLine(\"</table>\");\r\n\r\nsb.AppendLine(\r\n \"<p style='font-family:Arial,sans-serif;font-size:12px;color:#777777;margin-top:16px;'>\" +\r\n \"Повідомлення сформовано автоматично. Будь ласка, не відповідайте на нього.\" +\r\n \"</p>\"\r\n);\r\n\r\nreturn sb.ToString();"} @@ -181,7 +181,7 @@ - {"type":"MSSQL.Procedure","connection":"{Root.Parameters.config.db_connection_str}","object":"p_ucp_get_TreeNodes_Grid","parameters":[{"name":"Ntw_ID","dbType":"Int64","direction":"Input","size":null},{"name":"mode","dbType":"Int64","direction":"Input","size":null},{"name":"PageNumber","dbType":"Int64","direction":"Input","size":null},{"name":"PageSize","dbType":"Int64","direction":"Input","size":null}]} + {"type":"MSSQL.Procedure","connection":"Server=servername;Database=database;User ID=login;Password=;TrustServerCertificate=true;MultipleActiveResultSets=true","object":"p_ucp_get_TreeNodes_Grid","parameters":[{"name":"Ntw_ID","dbType":"Int64","direction":"Input","size":null},{"name":"mode","dbType":"Int64","direction":"Input","size":null},{"name":"PageNumber","dbType":"Int64","direction":"Input","size":null},{"name":"PageSize","dbType":"Int64","direction":"Input","size":null}]} diff --git a/flow-patterns/03-config-as-flow/send-links.bpmn b/flow-patterns/03-config-as-flow/send-links.bpmn index 70bb0f5..a510084 100644 --- a/flow-patterns/03-config-as-flow/send-links.bpmn +++ b/flow-patterns/03-config-as-flow/send-links.bpmn @@ -22,7 +22,7 @@ - + 10 @@ -35,7 +35,7 @@ DataObjectReference_1y3l3pb - + {"actionType":"Action","action":"GetLinks","actionParam":{"pageInfo":"Input"},"libName":"","libEntity":"","libMethod":""} @@ -113,7 +113,7 @@ - + {"actionType":"Action","action":"GetPageInfos","actionParam":{"pageSize":"Parameters.PageSize"},"libName":"","libEntity":"","libMethod":""} @@ -127,7 +127,7 @@ - + {"actionType":"Expression","action":"var linksList = #Previous;\r\nvar sb = new StringBuilder();\r\n\r\nsb.AppendLine(\r\n \"<p style='font-family:Arial,sans-serif;font-size:14px;line-height:1.5;'>\" +\r\n \"Це автоматичне повідомлення. Нижче наведено перелік білінгових рахунків на оплату \" +\r\n \"із зазначенням ідентифікатора <strong>Service Line</strong>, які були згенеровані \" +\r\n \"системою WideCoup BSS для послуги доступу до двостороннього супутникового \" +\r\n \"Інтернету Starlink.\" +\r\n \"</p>\"\r\n);\r\n\r\nsb.AppendLine(\r\n \"<table style='border-collapse:collapse;width:100%;font-family:Arial,sans-serif;font-size:14px;'>\"\r\n);\r\n\r\nsb.AppendLine(\r\n \"<thead>\" +\r\n \"<tr>\" +\r\n \"<th style='border:1px solid #d9d9d9;padding:10px;text-align:left;background-color:#f2f2f2;'>\" +\r\n \"Service Line\" +\r\n \"</th>\" +\r\n \"</tr>\" +\r\n \"</thead>\"\r\n);\r\n\r\nsb.AppendLine(\"<tbody>\");\r\n\r\nforeach (var links in linksList)\r\n{\r\n foreach (var lnk in links)\r\n {\r\n sb.AppendLine(\r\n \"<tr>\" +\r\n \"<td style='border:1px solid #d9d9d9;padding:10px;'>\" +\r\n $\"<a href='{lnk.Url}' target='_blank'>{lnk.FileName}</a>\" +\r\n \"</td>\" +\r\n \"</tr>\"\r\n );\r\n }\r\n}\r\n\r\nsb.AppendLine(\"</tbody>\");\r\nsb.AppendLine(\"</table>\");\r\n\r\nsb.AppendLine(\r\n \"<p style='font-family:Arial,sans-serif;font-size:12px;color:#777777;margin-top:16px;'>\" +\r\n \"Повідомлення сформовано автоматично. Будь ласка, не відповідайте на нього.\" +\r\n \"</p>\"\r\n);\r\n\r\nreturn sb.ToString();"} diff --git a/flow-patterns/04-pagination/sync-folder-paged.bpmn b/flow-patterns/04-pagination/sync-folder-paged.bpmn index 82fe3aa..de6bdaa 100644 --- a/flow-patterns/04-pagination/sync-folder-paged.bpmn +++ b/flow-patterns/04-pagination/sync-folder-paged.bpmn @@ -6,7 +6,7 @@ [] [{"name":"InspectOracleResult","initCode":"string[] InspectOracleResult (\n\t\tCollection oracleData\n\t) \n {\n //get single value\n //Logger.LogInformation($\"get single value of FIELD_NAME1 by index: syntax oracleData[index].FIELD_NAME1\");\n var field_first = oracleData[0].FIELD_NAME1;\n\n //enumeration of FIELD_NAME1 (with LINQ)\n var field_rows = from row in oracleData\n select row.FIELD_NAME1;\n //passing by enumeration\n Logger.LogInformation($\"passing by enumeration field_rows of var1: syntax FIELD_NAME1:var1\");\n foreach (var field1 in field_rows)\n Logger.LogInformation($\"FIELD_NAME1:{field1}\");\n\n //get array of msisdn from enumeration\n Logger.LogInformation($\"get array from enumeration: syntax field_rows.ToArray()\");\n var myArray = field_rows.ToArray();\n //get first value from array\n var field_from_Array = myArray[0];\n\n //passing by enumeration of whole dataset\n Logger.LogInformation($\"passing by enumeration of whole dataset: syntax FIELD_NAME1:row.FIELD_NAME1, FIELD_NAME2:row.FIELD_NAME2 etc...\");\n foreach (var row in oracleData)\n Logger.LogInformation($\"FIELD_NAME1:{row.FIELD_NAME1}\");\n\n //convert whole dataset to string \n var field_list = from row in oracleData\n select row.FIELD_NAME1 as string;\n //convert string to string array \n return field_list.ToList();\n\n }","initParameters":[{"name":"Result","type":"string[]"},{"name":"oracleData","type":"Collection","required":true}]},{"name":"HandleException","initCode":"ErrorResponse HandleException (\n\t\tPassingResult prevData\n\t) \n {\n try\n {\n //investigate the Exception \n Logger.LogInformation($\"Exception name : {prevData.Exception.GetType().Name}\");\n \n //casting to exception example\n OracleException exception = null;\n if (prevData.Exception is OracleException)\n {\n exception = prevData.Exception as OracleException;\n }\n \n //forming the HTTP error result\n if (WorkflowEnvironment.RuntimeName == \"UCP\")\n WorkflowEnvironment.Variables[\"StatusCode\"] = 500;\n return new ErrorResponse()\n {\n Message = exception.Message,\n LevelMessage = \"11\",\n statusCode = 500,\n State = \"1\",\n ErrNumber = exception.Number.ToString()\n }; \n }\n catch (Exception e) {\n Logger.LogError($\"HandleException:: error {e}\");\n throw new Exception($\"HandleException:: error {e}\");\n }\n }","initParameters":[{"name":"Result","type":"ErrorResponse"},{"name":"prevData","type":"PassingResult","required":true}]},{"name":"returnErrorAsString","initCode":"string returnErrorAsString (\n\t) \n {\n string response = \"ERROR\";\n //if (Global.Response.IsSuccess == false)\n // return Global.checkConnectionResponse.ErrorMessage.ToString();\n\n //else\n return response;\n }","initParameters":[{"name":"Result","type":"string"}]},{"name":"setSourceParam","initCode":"SharePointSource setSourceParam (\n\t) \n {\n // TODO Insert your code here\n return Parameters.Source;\n }","initParameters":[{"name":"Result","type":"SharePointSource"}]},{"name":"setTargetParam","initCode":"SharePointTarget setTargetParam (\n\t) \n {\n // TODO Insert your code here\n return Parameters.Target;\n }","initParameters":[{"name":"Result","type":"SharePointTarget"}]},{"name":"findDelta","initCode":"string[] findDelta (\n\t\tSharePointSource source,\n\t\tSharePointTarget target\n\t) \n {\n var result = source.folders?.Except(target?.folders)?.ToList();\n Global.delta = result;\n return result;\n }","initParameters":[{"name":"Result","type":"string[]"},{"name":"source","type":"SharePointSource","required":true,"defaultValue":""},{"name":"target","type":"SharePointTarget","required":true}]},{"name":"returnInputString","initCode":"string returnInputString (\n\t\tstring inputString\n\t) \n {\n // TODO Insert your code here\n return inputString;\n }","initParameters":[{"name":"Result","type":"string"},{"name":"inputString","type":"string","required":true}]},{"name":"saveSqlAndSourceFolders","initCode":"SharePointSource saveSqlAndSourceFolders (\n\t\tJson src\n\t) \n {\n var result = src.Cast<SharePointSource>();\n Global.source = result;\n return result;\n }","initParameters":[{"name":"Result","type":"SharePointSource"},{"name":"src","type":"Json","required":false}]},{"name":"saveSqlAndTargetFolders","initCode":"SharePointTarget saveSqlAndTargetFolders (\n\t\tJson target\n\t) \n {\n var result = target.Cast<SharePointTarget>();\n Global.target = result;\n return result;\n }","initParameters":[{"name":"Result","type":"SharePointTarget"},{"name":"target","type":"Json","required":false}]},{"name":"returnEmptyAsString","initCode":"string returnEmptyAsString (\n\t) \n {\n // TODO Insert your code here\n string response = \"EMPTY\";\n //if (Global.Response.IsSuccess == false)\n // return Global.checkConnectionResponse.ErrorMessage.ToString();\n\n //else\n return response;\n }","initParameters":[{"name":"Result","type":"string"}]}] [] - [{"name":"RestApi","initCode":"functions://default/RestApi","initParameters":[{"name":"Uri","type":"Uri","required":true,"oldName":"Uri","defaultValue":"http://servername:port/resource"},{"name":"Method","type":"String","required":true,"oldName":"Method","defaultValue":"GET"},{"name":"Login","type":"String","required":false,"oldName":"Login","defaultValue":null},{"name":"Password","type":"String","required":false,"oldName":"Password","defaultValue":null},{"name":"Headers","type":"StringDictionary","required":false,"oldName":"Headers","defaultValue":"{\r\n \"Content-Type\":\"application/json;charset=utf-16\",\r\n \"system\":\"204\",\r\n \"global_unique_id\":\"6a297fcb-956e-4228-8c11-017e9bacd629\"\r\n }"},{"name":"Body","type":"String","required":false,"oldName":"Body","defaultValue":"{}"},{"name":"Encoding","type":"String","required":false,"oldName":"Encoding","defaultValue":"utf-8"},{"name":"Result","type":"HttpResponse","required":false,"oldName":"Result","defaultValue":null}],"oldName":"RestApi"},{"name":"RestApi/GET","initCode":"functions://default/RestApi/Get","initParameters":[{"name":"Uri","type":"Uri","required":true,"oldName":"Uri","defaultValue":"http://servername:port/resource"},{"name":"Login","type":"String","required":false,"oldName":"Login","defaultValue":null},{"name":"Password","type":"String","required":false,"oldName":"Password","defaultValue":null},{"name":"Headers","type":"StringDictionary","required":false,"oldName":"Headers","defaultValue":"{\r\n \"Content-Type\":\"application/json;charset=utf-16\",\r\n \"system\":\"204\",\r\n \"global_unique_id\":\"6a297fcb-956e-4228-8c11-017e9bacd629\"\r\n }"},{"name":"Encoding","type":"String","required":false,"oldName":"Encoding","defaultValue":"utf-8"},{"name":"Result","type":"HttpResponse","required":false,"oldName":"Result","defaultValue":null}],"oldName":"RestApi/GET"},{"name":"JsonPath","initCode":"functions://default//JsonPath","initParameters":[{"name":"Response","type":"HttpResponse","required":true,"oldName":"Response","defaultValue":null},{"name":"Path","type":"String","required":false,"oldName":"Path","defaultValue":"$"},{"name":"Result","type":"Json","required":false,"oldName":"Result","defaultValue":null}],"oldName":"JsonPath"},{"name":"SaveVariable","initCode":"functions://default//SaveVariable","initParameters":[{"name":"VariableName","type":"string","required":true,"oldName":"VariableName","defaultValue":"varName"},{"name":"Data","type":"object","required":true,"oldName":"Data","defaultValue":"#previous"}],"oldName":"SaveVariable"},{"name":"SQL/Oracle/Query","initCode":"functions://default//SQL/Oracle/Query","initParameters":[{"name":"userID","type":"String","required":true,"oldName":"userID","defaultValue":null},{"name":"password","type":"String","required":false,"oldName":"password","defaultValue":null},{"name":"dataSource","type":"String","required":false,"oldName":"dataSource","defaultValue":null},{"name":"query","type":"String","required":false,"oldName":"query","defaultValue":null},{"name":"Result","type":"Collection","required":false,"oldName":"Result","defaultValue":null}],"oldName":"SQL/Oracle/Query"},{"name":"SQL/Oracle/Command","initCode":"functions://default//SQL/Oracle/Command","initParameters":[{"name":"userID","type":"String","required":true,"oldName":"userID","defaultValue":null},{"name":"password","type":"String","required":false,"oldName":"password","defaultValue":null},{"name":"dataSource","type":"String","required":false,"oldName":"dataSource","defaultValue":null},{"name":"command","type":"String","required":false,"oldName":"command","defaultValue":null},{"name":"Result","type":"int","required":false,"oldName":"Result","defaultValue":null}],"oldName":"SQL/Oracle/Command"}] + [{"name":"RestApi","initCode":"functions://default/RestApi","initParameters":[{"name":"Uri","type":"Uri","required":true,"oldName":"Uri","defaultValue":"http://servername:port/resource"},{"name":"Method","type":"String","required":true,"oldName":"Method","defaultValue":"GET"},{"name":"Login","type":"String","required":false,"oldName":"Login","defaultValue":null},{"name":"Password","type":"String","required":false,"oldName":"Password","defaultValue":null},{"name":"Headers","type":"StringDictionary","required":false,"oldName":"Headers","defaultValue":"{\r\n \"Content-Type\":\"application/json;charset=utf-16\",\r\n \"system\":\"204\",\r\n \"global_unique_id\":\"6a297fcb-956e-4228-8c11-017e9bacd629\"\r\n }"},{"name":"Body","type":"String","required":false,"oldName":"Body","defaultValue":"{}"},{"name":"Encoding","type":"String","required":false,"oldName":"Encoding","defaultValue":"utf-8"},{"name":"Timeout","type":"int","required":false,"nullable":false},{"name":"Result","type":"HttpResponse","required":false,"oldName":"Result","defaultValue":null}],"oldName":"RestApi"},{"name":"RestApi/GET","initCode":"functions://default/RestApi/Get","initParameters":[{"name":"Uri","type":"Uri","required":true,"oldName":"Uri","defaultValue":"http://servername:port/resource"},{"name":"Login","type":"String","required":false,"oldName":"Login","defaultValue":null},{"name":"Password","type":"String","required":false,"oldName":"Password","defaultValue":null},{"name":"Headers","type":"StringDictionary","required":false,"oldName":"Headers","defaultValue":"{\r\n \"Content-Type\":\"application/json;charset=utf-16\",\r\n \"system\":\"204\",\r\n \"global_unique_id\":\"6a297fcb-956e-4228-8c11-017e9bacd629\"\r\n }"},{"name":"Encoding","type":"String","required":false,"oldName":"Encoding","defaultValue":"utf-8"},{"name":"Timeout","type":"int","required":false,"nullable":false},{"name":"Result","type":"HttpResponse","required":false,"oldName":"Result","defaultValue":null}],"oldName":"RestApi/GET"},{"name":"JsonPath","initCode":"functions://default//JsonPath","initParameters":[{"name":"Response","type":"HttpResponse","required":true,"oldName":"Response","defaultValue":null},{"name":"Path","type":"String","required":false,"oldName":"Path","defaultValue":"$"},{"name":"Result","type":"Json","required":false,"oldName":"Result","defaultValue":null}],"oldName":"JsonPath"},{"name":"SaveVariable","initCode":"functions://default//SaveVariable","initParameters":[{"name":"VariableName","type":"string","required":true,"oldName":"VariableName","defaultValue":"varName"},{"name":"Data","type":"object","required":true,"oldName":"Data","defaultValue":"#previous"}],"oldName":"SaveVariable"},{"name":"SQL/Oracle/Query","initCode":"functions://default//SQL/Oracle/Query","initParameters":[{"name":"userID","type":"String","required":true,"oldName":"userID","defaultValue":null},{"name":"password","type":"String","required":false,"oldName":"password","defaultValue":null},{"name":"dataSource","type":"String","required":false,"oldName":"dataSource","defaultValue":null},{"name":"query","type":"String","required":false,"oldName":"query","defaultValue":null},{"name":"Result","type":"Collection","required":false,"oldName":"Result","defaultValue":null}],"oldName":"SQL/Oracle/Query"},{"name":"SQL/Oracle/Command","initCode":"functions://default//SQL/Oracle/Command","initParameters":[{"name":"userID","type":"String","required":true,"oldName":"userID","defaultValue":null},{"name":"password","type":"String","required":false,"oldName":"password","defaultValue":null},{"name":"dataSource","type":"String","required":false,"oldName":"dataSource","defaultValue":null},{"name":"command","type":"String","required":false,"oldName":"command","defaultValue":null},{"name":"Result","type":"int","required":false,"oldName":"Result","defaultValue":null}],"oldName":"SQL/Oracle/Command"}] [] [{"name":"oracleConfig","type":"OracleConfig","initialValue":"{\r\n \"userId\":\"dbuser\",\r\n \"password\":\"\",\r\n \"dataSource\":\"dbhost:1521/servicename\"\r\n}\r\n"},{"name":"httpConfig","type":"HttpConfig","initialValue":"{\r\n \"host\":\"http://servername\",\r\n \"port\":\"4433\",\r\n \"login\":null,\r\n \"password\":null,\r\n \"encoding\":\"utf-8\",\r\n \"headers\":{\r\n \"Content-Type\":\"application/json\",\r\n \"Accept\":\"application/json\"\r\n }\r\n}\r\n"},{"name":"Source","type":"SharePointSource","initialValue":"{\r\n\t\"username\":\"login\",\r\n\t\"password\":\"\",\r\n\t\"accountname\":\"SharePoint_Source[serviceaccount]\",\r\n\t\"sql\":\"\",\r\n\t\"folders\":[\r\n \"\"\r\n ]\r\n}"},{"name":"Target","type":"SharePointTarget","initialValue":"{\r\n\t\"username\":\"login\",\r\n\t\"password\":\"\",\r\n\t\"accountname\":\"SharePoint_Target[login]\",\r\n\t\"sql\":\"\",\r\n\t\"folders\":[\r\n \"\"\r\n ]\r\n}"},{"name":"DeltaArray","type":"string[]","initialValue":""}] {} @@ -28,7 +28,7 @@ - {"actionType":"Action","action":"HandleException","actionParam":{"prevData":"#Previous"}} + {"actionType":"Action","action":"HandleException","actionParam":{"prevData":"#PreviousData"}} Flow_0zffgnd Flow_0sonrxh diff --git a/flow-patterns/05-events-and-signals/boundary-event-fanout.bpmn b/flow-patterns/05-events-and-signals/boundary-event-fanout.bpmn index cde302c..dd80f08 100644 --- a/flow-patterns/05-events-and-signals/boundary-event-fanout.bpmn +++ b/flow-patterns/05-events-and-signals/boundary-event-fanout.bpmn @@ -4,7 +4,7 @@ ["Action","Function"] [{"name":"ErrorResponse","definition":"{\r\n \"$schema\": \"http://json-schema.org/draft-06/schema#\",\r\n \"$ref\": \"#/definitions/ErrorResponse\",\r\n \"definitions\": {\r\n \"ErrorResponse\": {\r\n \"type\": \"object\",\r\n \"additionalProperties\": true,\r\n \"properties\": {\r\n \"LevelMessage\": {\r\n \"title\": \"The Error level\",\r\n \"type\": \"string\"\r\n },\r\n \"statusCode\": {\r\n \"title\": \"The Error Status Code\",\r\n \"type\": \"integer\"\r\n },\r\n \"ErrNumber\": {\r\n \"title\": \"The Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Message\": {\r\n \"title\": \"The Error Message\",\r\n \"type\": \"string\"\r\n },\r\n \"State\": {\r\n \"title\": \"The Error State\",\r\n \"type\": \"string\"\r\n },\r\n \"HelpLink\": {\r\n \"title\": \"The Help Link\",\r\n \"type\": \"string\"\r\n },\r\n \"errNumberReason\": {\r\n \"title\": \"The initial Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Data\": {\r\n \"title\": \"The Error Data\",\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"LevelMessage\": {\r\n \"title\": \"The Error level\",\r\n \"type\": \"string\"\r\n },\r\n \"statusCode\": {\r\n \"title\": \"The Error Status Code\",\r\n \"type\": \"integer\"\r\n },\r\n \"ErrNumber\": {\r\n \"title\": \"The Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Message\": {\r\n \"title\": \"The Error Message\",\r\n \"type\": \"string\"\r\n },\r\n \"State\": {\r\n \"title\": \"The Error State\",\r\n \"type\": \"string\"\r\n },\r\n \"HelpLink\": {\r\n \"title\": \"The Help Link\",\r\n \"type\": \"string\"\r\n },\r\n \"errNumberReason\": {\r\n \"title\": \"The initial Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Data\": {\r\n \"title\": \"The Data Schema\",\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"LevelMessage\": {\r\n \"title\": \"The Error level\",\r\n \"type\": \"string\"\r\n },\r\n \"statusCode\": {\r\n \"title\": \"The Error Status Code\",\r\n \"type\": \"integer\"\r\n },\r\n \"ErrNumber\": {\r\n \"title\": \"The Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Message\": {\r\n \"title\": \"The Error Message\",\r\n \"type\": \"string\"\r\n },\r\n \"State\": {\r\n \"title\": \"The Error State\",\r\n \"type\": \"string\"\r\n },\r\n \"HelpLink\": {\r\n \"title\": \"The Help Link\",\r\n \"type\": \"string\"\r\n },\r\n \"errNumberReason\": {\r\n \"title\": \"The initial Error Number\",\r\n \"type\": \"string\"\r\n }\r\n }\r\n },\r\n \"ResolveUrl\": {\r\n \"title\": \"The Resolve Url Link\",\r\n \"type\": \"string\"\r\n }\r\n }\r\n },\r\n \"ResolveUrl\": {\r\n \"title\": \"The Resolve Url Link\",\r\n \"type\": \"string\"\r\n },\r\n \"extraData\": {\r\n \"title\": \"The Error Extra Data \",\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"operationDuration\": {\r\n \"title\": \"The Operation Duration\",\r\n \"type\": \"integer\"\r\n }\r\n }\r\n }\r\n },\r\n \"title\": \"ErrorResponse\"\r\n }\r\n }\r\n}","isNativeDefinition":false},{"name":"HttpConfig","definition":"{\r\n \"$schema\":\"http://natec.tech/simpleschema\",\r\n \"$ref\":\"#/definitions/HttpConfig\",\r\n \"definitions\":{\r\n \"HttpConfig\":{\r\n \"type\":\"object\",\r\n \"properties\":{\r\n \"host\":{\r\n \"type\":\"string\"\r\n },\r\n \"port\":{\r\n \"type\":\"string\"\r\n },\r\n \"login\":{\r\n \"type\":\"string\"\r\n },\r\n \"password\":{\r\n \"type\":\"string\"\r\n },\r\n \"encoding\":{\r\n \"type\":\"string\"\r\n },\r\n \"headers\":{\r\n \"type\":\"StringDictionary<string, string>\"\r\n }\r\n },\r\n \"required\": [\"host\", \"encoding\", \"headers\"],\r\n \"title\":\"HttpConfig\"\r\n }\r\n }\r\n}","isNativeDefinition":false},{"name":"SystemException","definition":"{\r\n \"$schema\":\"http://natec.tech/simpleschema\",\r\n \"$ref\":\"#/definitions/SystemException\",\r\n \"definitions\":{\r\n \"SystemException\":{\r\n \"type\":\"object\",\r\n \"properties\":{\r\n \"Exception\":{\r\n \"type\":\"types://core/System.Exception\"\r\n },\r\n \"info\":{\r\n \"type\":\"string\"\r\n }\r\n },\r\n \"title\":\"SystemException\"\r\n }\r\n }\r\n}","isNativeDefinition":false}] [{"definition":"types://external/Platform/UCP.API.Application.Services.SseMessage","name":"SseMessage"}] - [{"name":"CodeActionExample","initCode":"Json CodeActionExample (\n\t\tJson inputData\n\t) \n {\n try \n { \n \n Logger.LogInformation($\"CodeActionExample:: started\");\n // TODO Insert your code here\n Logger.LogInformation($\"CodeActionExample:: finished\");\n return inputData;\n }\n catch (Exception e) {\n Logger.LogError($\"CodeActionExample:: error {e}\");\n throw new Exception($\"CodeActionExample:: error {e}\");\n }\n \n }","initParameters":[{"name":"Result","type":"Json"},{"name":"inputData","type":"Json","required":false}]},{"name":"HandleException","initCode":"ErrorResponse HandleException (\n\t\tPassingResult prevData\n\t) \n {\n try\n {\n //investigate the Exception \n Logger.LogInformation($\"Exception name : {prevData.Exception.GetType().Name}\");\n //casting to exception example\n OracleException exception = null;\n if (prevData.Exception is OracleException)\n {\n exception = prevData.Exception as OracleException;\n }\n \n //forming the HTTP error result\n if (WorkflowEnvironment.RuntimeName == \"UCP\")\n WorkflowEnvironment.Variables[\"StatusCode\"] = 500;\n return new ErrorResponse()\n {\n Message = string.Concat(prevData.Exception.Message, $\"({prevData.Exception.InnerException?.Message})\"),\n LevelMessage = \"11\",\n statusCode = 500,\n State = \"1\",\n //ErrNumber = exception.Number.ToString()\n }; \n }\n catch (Exception e) {\n Logger.LogError($\"HandleException:: error {e}\");\n throw new Exception($\"HandleException:: error {e}\");\n }\n }","initParameters":[{"name":"Result","type":"ErrorResponse"},{"name":"prevData","type":"PassingResult","required":true}]},{"name":"InspectOracleResult","initCode":"string[] InspectOracleResult (\n\t\tCollection oracleData\n\t) \n {\n //get single value\n //Logger.LogInformation($\"get single value of FIELD_NAME1 by index: syntax oracleData[index].FIELD_NAME1\");\n var field_first = oracleData[0].FIELD_NAME1;\n\n //enumeration of FIELD_NAME1 (with LINQ)\n var field_rows = from row in oracleData\n select row.FIELD_NAME1;\n //passing by enumeration\n Logger.LogInformation($\"passing by enumeration field_rows of var1: syntax FIELD_NAME1:var1\");\n foreach (var field1 in field_rows)\n Logger.LogInformation($\"FIELD_NAME1:{field1}\");\n\n //get array of msisdn from enumeration\n Logger.LogInformation($\"get array from enumeration: syntax field_rows.ToArray()\");\n var myArray = field_rows.ToArray();\n //get first value from array\n var field_from_Array = myArray[0];\n\n //passing by enumeration of whole dataset\n Logger.LogInformation($\"passing by enumeration of whole dataset: syntax FIELD_NAME1:row.FIELD_NAME1, FIELD_NAME2:row.FIELD_NAME2 etc...\");\n foreach (var row in oracleData)\n Logger.LogInformation($\"FIELD_NAME1:{row.FIELD_NAME1}\");\n\n //convert whole dataset to string \n var field_list = from row in oracleData\n select row.FIELD_NAME1 as string;\n //convert string to string array \n return field_list.ToList();\n\n }","initParameters":[{"name":"Result","type":"string[]"},{"name":"oracleData","type":"Collection","required":true}]},{"name":"TestCodeAction","initCode":"string[] TestCodeAction (\n\t\tstring arg\n\t) \n {\n // TODO Insert your code here\n }","initParameters":[{"name":"Result","type":"string[]"},{"name":"arg","type":"string","required":false}]}] + [{"name":"CodeActionExample","initCode":"Json CodeActionExample (\n\t\tJson inputData\n\t) \n {\n try \n { \n \n Logger.LogInformation($\"CodeActionExample:: started\");\n // TODO Insert your code here\n Logger.LogInformation($\"CodeActionExample:: finished\");\n return inputData;\n }\n catch (Exception e) {\n Logger.LogError($\"CodeActionExample:: error {e}\");\n throw new Exception($\"CodeActionExample:: error {e}\");\n }\n \n }","initParameters":[{"name":"Result","type":"Json"},{"name":"inputData","type":"Json","required":false}]},{"name":"HandleException","initCode":"ErrorResponse HandleException (\n\t\tPassingResult prevData\n\t) \n {\n try\n {\n //investigate the Exception \n Logger.LogInformation($\"Exception name : {prevData.Exception.GetType().Name}\");\n //casting to exception example\n OracleException exception = null;\n if (prevData.Exception is OracleException)\n {\n exception = prevData.Exception as OracleException;\n }\n \n //forming the HTTP error result\n if (WorkflowEnvironment.RuntimeName == \"UCP\")\n WorkflowEnvironment.Variables[\"StatusCode\"] = 500;\n return new ErrorResponse()\n {\n Message = string.Concat(prevData.Exception.Message, $\"({prevData.Exception.InnerException?.Message})\"),\n LevelMessage = \"11\",\n statusCode = 500,\n State = \"1\",\n //ErrNumber = exception.Number.ToString()\n }; \n }\n catch (Exception e) {\n Logger.LogError($\"HandleException:: error {e}\");\n throw new Exception($\"HandleException:: error {e}\");\n }\n }","initParameters":[{"name":"Result","type":"ErrorResponse"},{"name":"prevData","type":"PassingResult","required":true}]},{"name":"InspectOracleResult","initCode":"string[] InspectOracleResult (\n\t\tCollection oracleData\n\t) \n {\n //get single value\n //Logger.LogInformation($\"get single value of FIELD_NAME1 by index: syntax oracleData[index].FIELD_NAME1\");\n var field_first = oracleData[0].FIELD_NAME1;\n\n //enumeration of FIELD_NAME1 (with LINQ)\n var field_rows = from row in oracleData\n select row.FIELD_NAME1;\n //passing by enumeration\n Logger.LogInformation($\"passing by enumeration field_rows of var1: syntax FIELD_NAME1:var1\");\n foreach (var field1 in field_rows)\n Logger.LogInformation($\"FIELD_NAME1:{field1}\");\n\n //get array of msisdn from enumeration\n Logger.LogInformation($\"get array from enumeration: syntax field_rows.ToArray()\");\n var myArray = field_rows.ToArray();\n //get first value from array\n var field_from_Array = myArray[0];\n\n //passing by enumeration of whole dataset\n Logger.LogInformation($\"passing by enumeration of whole dataset: syntax FIELD_NAME1:row.FIELD_NAME1, FIELD_NAME2:row.FIELD_NAME2 etc...\");\n foreach (var row in oracleData)\n Logger.LogInformation($\"FIELD_NAME1:{row.FIELD_NAME1}\");\n\n //convert whole dataset to string \n var field_list = from row in oracleData\n select row.FIELD_NAME1 as string;\n //convert string to string array \n return field_list.ToList();\n\n }","initParameters":[{"name":"Result","type":"string[]"},{"name":"oracleData","type":"Collection","required":true}]}] [{"name":"Platform","link":"libs://common/platform","version":"","entities":[]}] [{"name":"RestApi","initCode":"functions://default/RestApi","initParameters":[{"name":"Uri","type":"Uri","required":true,"oldName":"Uri","oldType":"Uri","defaultValue":"http://servername:port/resource"},{"name":"Method","type":"string","required":true,"oldName":"Method","oldType":"String","defaultValue":"GET"},{"name":"Login","type":"string","required":false,"oldName":"Login","oldType":"String","defaultValue":null},{"name":"Password","type":"string","required":false,"oldName":"Password","oldType":"String","defaultValue":null},{"name":"Headers","type":"StringDictionary","required":false,"oldName":"Headers","oldType":"StringDictionary","defaultValue":"{\r\n \"Content-Type\":\"application/json;charset=utf-16\",\r\n \"system\":\"204\",\r\n \"global_unique_id\":\"6a297fcb-956e-4228-8c11-017e9bacd629\"\r\n }"},{"name":"Body","type":"string","required":false,"oldName":"Body","oldType":"String","defaultValue":"{}"},{"name":"Encoding","type":"string","required":false,"oldName":"Encoding","oldType":"String","defaultValue":"utf-8"},{"name":"Timeout","type":"int","required":false,"oldName":"Timeout","oldType":"int","defaultValue":"0"},{"name":"Result","type":"HttpResponse","required":false,"oldName":"Result","oldType":"HttpResponse","defaultValue":null}],"oldName":"RestApi"},{"name":"RestApi/GET","initCode":"functions://default/RestApi/Get","initParameters":[{"name":"Uri","type":"Uri","required":true,"oldName":"Uri","oldType":"Uri","defaultValue":"http://servername:port/resource"},{"name":"Login","type":"string","required":false,"oldName":"Login","oldType":"String","defaultValue":null},{"name":"Password","type":"string","required":false,"oldName":"Password","oldType":"String","defaultValue":null},{"name":"Headers","type":"StringDictionary","required":false,"oldName":"Headers","oldType":"StringDictionary","defaultValue":"{\r\n \"Content-Type\":\"application/json;charset=utf-16\",\r\n \"system\":\"204\",\r\n \"global_unique_id\":\"6a297fcb-956e-4228-8c11-017e9bacd629\"\r\n }"},{"name":"Encoding","type":"string","required":false,"oldName":"Encoding","oldType":"String","defaultValue":"utf-8"},{"name":"Timeout","type":"int","required":false,"oldName":"Timeout","oldType":"int","defaultValue":"0"},{"name":"Result","type":"HttpResponse","required":false,"oldName":"Result","oldType":"HttpResponse","defaultValue":null}],"oldName":"RestApi/GET"},{"name":"JsonPath","initCode":"functions://default//JsonPath","initParameters":[{"name":"Response","type":"HttpResponse","required":true,"oldName":"Response","oldType":"HttpResponse","defaultValue":null},{"name":"Path","type":"string","required":false,"oldName":"Path","oldType":"String","defaultValue":"$"},{"name":"Result","type":"Json","required":false,"oldName":"Result","oldType":"Json","defaultValue":null}],"oldName":"JsonPath"},{"name":"SaveVariable","initCode":"functions://default//SaveVariable","initParameters":[{"name":"VariableName","type":"string","required":true,"oldName":"VariableName","oldType":"string","defaultValue":"varName"},{"name":"Data","type":"object","required":true,"oldName":"Data","oldType":"object","defaultValue":"#previous"}],"oldName":"SaveVariable"},{"name":"SQL/Oracle/Query","initCode":"functions://default//SQL/Oracle/Query","initParameters":[{"name":"userID","type":"string","required":true,"oldName":"userID","oldType":"String","defaultValue":null},{"name":"password","type":"string","required":false,"oldName":"password","oldType":"String","defaultValue":null},{"name":"dataSource","type":"string","required":false,"oldName":"dataSource","oldType":"String","defaultValue":null},{"name":"query","type":"string","required":false,"oldName":"query","oldType":"String","defaultValue":null},{"name":"Result","type":"Collection","required":false,"oldName":"Result","oldType":"Collection","defaultValue":null}],"oldName":"SQL/Oracle/Query"},{"name":"SQL/Oracle/Command","initCode":"functions://default//SQL/Oracle/Command","initParameters":[{"name":"userID","type":"string","required":true,"oldName":"userID","oldType":"String","defaultValue":null},{"name":"password","type":"string","required":false,"oldName":"password","oldType":"String","defaultValue":null},{"name":"dataSource","type":"string","required":false,"oldName":"dataSource","oldType":"String","defaultValue":null},{"name":"command","type":"string","required":false,"oldName":"command","oldType":"String","defaultValue":null},{"name":"Result","type":"int","required":false,"oldName":"Result","oldType":"int","defaultValue":null}],"oldName":"SQL/Oracle/Command"}] [] diff --git a/flow-patterns/05-events-and-signals/zip-chunks.bpmn b/flow-patterns/05-events-and-signals/zip-chunks.bpmn index e9f5024..612a310 100644 --- a/flow-patterns/05-events-and-signals/zip-chunks.bpmn +++ b/flow-patterns/05-events-and-signals/zip-chunks.bpmn @@ -23,7 +23,7 @@ - + 10 @@ -36,7 +36,7 @@ DataObjectReference_1y3l3pb - + {"actionType":"Action","action":"GetPage","actionParam":{"pageInfo":"Input"},"libName":"","libEntity":"","libMethod":""} @@ -50,7 +50,7 @@ - + {"actionType":"Expression","action":"var sd = #Previous as List<ServiceData>;\n\nbyte[] buf = Encoding.Default.GetBytes(JsonString(sd));\n\nreturn new DataChunk()\n{\n Index = Input.Number,\n Data = buf\n};"} @@ -80,10 +80,10 @@ - + Flow_0fymw2o Flow_1ywmvqa - + {"actionType":"Expression","action":"var dataChunk = #event.Data as DataChunk;\n\nParameters.SBuffer.AddChunk(dataChunk.Index, dataChunk.Content);\nusing (Stream aFile = DataAssociations.DataStoreReference_TmpFile.OpenStream(FileMode.Append))\nusing (StreamWriter sw = new StreamWriter(aFile))\n{\n var chunkNum = 0;\n string nchunk = Parameters.SBuffer.ReadNextChunk(out chunkNum);\n while (nchunk != null)\n {\n sw.Write( nchunk );\n nchunk = Parameters.SBuffer.ReadNextChunk(out chunkNum);\n }\n} \n\nreturn dataChunk.Index;"} @@ -163,7 +163,7 @@ - + {"actionType":"Action","action":"GetPageInfos","actionParam":{"pageSize":"Parameters.PageSize"},"libName":"","libEntity":"","libMethod":""} @@ -192,7 +192,7 @@ - + {"actionType":"Expression","action":" var file = DataAssociations.DataStoreReference_TmpFile.GetFile();\r\n file.AddToZip(\"tst.zip\");\r\n var lnk = file.CreateLink();\r\n\treturn lnk;"} @@ -215,7 +215,7 @@ - {"type":"MSSQL.Procedure","connection":"{Root.Parameters.config.db_connection_str}","object":"[dbo].[p_ucp_get_ServiceUsage]","parameters":[{"name":"ErrFormat","dbType":"String","direction":"Input","size":25},{"name":"Lang","dbType":"String","direction":"InputOutput","size":3},{"name":"id","dbType":"Int64","direction":"Input","size":null},{"name":"x_ms_client_request_id","dbType":"String","direction":"InputOutput","size":32},{"name":"relatedParty","dbType":"String","direction":"Input","size":null},{"name":"periodCoverage","dbType":"String","direction":"Input","size":null},{"name":"logicalResource","dbType":"String","direction":"Input","size":null},{"name":"billCycleNo","dbType":"String","direction":"Input","size":50},{"name":"externalId","dbType":"String","direction":"Input","size":null},{"name":"IsExternalID","dbType":"Int32","direction":"InputOutput","size":null},{"name":"PageNumber","dbType":"Int32","direction":"InputOutput","size":null},{"name":"PageSize","dbType":"Int32","direction":"InputOutput","size":null},{"name":"SortColumn","dbType":"String","direction":"InputOutput","size":null},{"name":"SortDirection","dbType":"String","direction":"InputOutput","size":20},{"name":"DebugLevel","dbType":"Int32","direction":"Input","size":null}]} + {"type":"MSSQL.Procedure","connection":"Server=servername;Database=database;User ID=login;Password=;TrustServerCertificate=true;MultipleActiveResultSets=true","object":"[dbo].[p_ucp_get_ServiceUsage]","parameters":[{"name":"ErrFormat","dbType":"String","direction":"Input","size":25},{"name":"Lang","dbType":"String","direction":"InputOutput","size":3},{"name":"id","dbType":"Int64","direction":"Input","size":null},{"name":"x_ms_client_request_id","dbType":"String","direction":"InputOutput","size":32},{"name":"relatedParty","dbType":"String","direction":"Input","size":null},{"name":"periodCoverage","dbType":"String","direction":"Input","size":null},{"name":"logicalResource","dbType":"String","direction":"Input","size":null},{"name":"billCycleNo","dbType":"String","direction":"Input","size":50},{"name":"externalId","dbType":"String","direction":"Input","size":null},{"name":"IsExternalID","dbType":"Int32","direction":"InputOutput","size":null},{"name":"PageNumber","dbType":"Int32","direction":"InputOutput","size":null},{"name":"PageSize","dbType":"Int32","direction":"InputOutput","size":null},{"name":"SortColumn","dbType":"String","direction":"InputOutput","size":null},{"name":"SortDirection","dbType":"String","direction":"InputOutput","size":20},{"name":"DebugLevel","dbType":"Int32","direction":"Input","size":null}]} diff --git a/flow-patterns/06-streaming-sse/llm-stream.bpmn b/flow-patterns/06-streaming-sse/llm-stream.bpmn index 9fe6152..3079e83 100644 --- a/flow-patterns/06-streaming-sse/llm-stream.bpmn +++ b/flow-patterns/06-streaming-sse/llm-stream.bpmn @@ -4,7 +4,7 @@ ["Action","Function"] [{"name":"ErrorResponse","definition":"{\r\n \"$schema\": \"http://json-schema.org/draft-06/schema#\",\r\n \"$ref\": \"#/definitions/ErrorResponse\",\r\n \"definitions\": {\r\n \"ErrorResponse\": {\r\n \"type\": \"object\",\r\n \"additionalProperties\": true,\r\n \"properties\": {\r\n \"LevelMessage\": {\r\n \"title\": \"The Error level\",\r\n \"type\": \"string\"\r\n },\r\n \"statusCode\": {\r\n \"title\": \"The Error Status Code\",\r\n \"type\": \"integer\"\r\n },\r\n \"ErrNumber\": {\r\n \"title\": \"The Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Message\": {\r\n \"title\": \"The Error Message\",\r\n \"type\": \"string\"\r\n },\r\n \"State\": {\r\n \"title\": \"The Error State\",\r\n \"type\": \"string\"\r\n },\r\n \"HelpLink\": {\r\n \"title\": \"The Help Link\",\r\n \"type\": \"string\"\r\n },\r\n \"errNumberReason\": {\r\n \"title\": \"The initial Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Data\": {\r\n \"title\": \"The Error Data\",\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"LevelMessage\": {\r\n \"title\": \"The Error level\",\r\n \"type\": \"string\"\r\n },\r\n \"statusCode\": {\r\n \"title\": \"The Error Status Code\",\r\n \"type\": \"integer\"\r\n },\r\n \"ErrNumber\": {\r\n \"title\": \"The Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Message\": {\r\n \"title\": \"The Error Message\",\r\n \"type\": \"string\"\r\n },\r\n \"State\": {\r\n \"title\": \"The Error State\",\r\n \"type\": \"string\"\r\n },\r\n \"HelpLink\": {\r\n \"title\": \"The Help Link\",\r\n \"type\": \"string\"\r\n },\r\n \"errNumberReason\": {\r\n \"title\": \"The initial Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Data\": {\r\n \"title\": \"The Data Schema\",\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"LevelMessage\": {\r\n \"title\": \"The Error level\",\r\n \"type\": \"string\"\r\n },\r\n \"statusCode\": {\r\n \"title\": \"The Error Status Code\",\r\n \"type\": \"integer\"\r\n },\r\n \"ErrNumber\": {\r\n \"title\": \"The Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Message\": {\r\n \"title\": \"The Error Message\",\r\n \"type\": \"string\"\r\n },\r\n \"State\": {\r\n \"title\": \"The Error State\",\r\n \"type\": \"string\"\r\n },\r\n \"HelpLink\": {\r\n \"title\": \"The Help Link\",\r\n \"type\": \"string\"\r\n },\r\n \"errNumberReason\": {\r\n \"title\": \"The initial Error Number\",\r\n \"type\": \"string\"\r\n }\r\n }\r\n },\r\n \"ResolveUrl\": {\r\n \"title\": \"The Resolve Url Link\",\r\n \"type\": \"string\"\r\n }\r\n }\r\n },\r\n \"ResolveUrl\": {\r\n \"title\": \"The Resolve Url Link\",\r\n \"type\": \"string\"\r\n },\r\n \"extraData\": {\r\n \"title\": \"The Error Extra Data \",\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"operationDuration\": {\r\n \"title\": \"The Operation Duration\",\r\n \"type\": \"integer\"\r\n }\r\n }\r\n }\r\n },\r\n \"title\": \"ErrorResponse\"\r\n }\r\n }\r\n}","isNativeDefinition":false},{"name":"ResponseModel","definition":"{\n\t\"$schema\": \"http://json-schema.org/draft-06/schema#\",\n\t\"$ref\": \"#/definitions/ResponseModel\",\n\t\"definitions\": {\n\t\t\"ResponseModel\": {\n\t\t\t\"type\": \"object\",\n\t\t\t\"additionalProperties\": false,\n\t\t\t\"properties\": {\n\t\t\t\t\"success\": {\n\t\t\t\t\t\"type\": \"boolean\"\n\t\t\t\t},\n\t\t\t\t\"details\": {\n\t\t\t\t\t\"type\": \"string\"\n\t\t\t\t},\n\t\t\t\t\"statuscode\": {\n\t\t\t\t\t\"type\": \"integer\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"title\": \"ResponseModel\"\n\t\t}\n\t}\n}","isNativeDefinition":false},{"name":"SomeNativeClass","definition":"public class SomeNativeClass { \n\t// Fields, properties, methods and events go here...\n}","isNativeDefinition":true},{"name":"SystemException","definition":"{\r\n \"$schema\":\"http://natec.tech/simpleschema\",\r\n \"$ref\":\"#/definitions/SystemException\",\r\n \"definitions\":{\r\n \"SystemException\":{\r\n \"type\":\"object\",\r\n \"properties\":{\r\n \"Exception\":{\r\n \"type\":\"types://core/System.Exception\"\r\n },\r\n \"info\":{\r\n \"type\":\"string\"\r\n }\r\n },\r\n \"title\":\"SystemException\"\r\n }\r\n }\r\n}","isNativeDefinition":false},{"name":"TestClass","definition":"\r\n/// A &product @to be @created defined by value or existing defined by reference. The polymorphic attributes type, schemaLocation referredType are related to the product entity and not the RelatedProductRefOrValue class itself\r\n\r\npublic class TestClass { \r\n\tpublic int Id {get;set;}\r\n}","isNativeDefinition":true}] [{"name":"SseMessage","definition":"types://external/Platform/UCP.API.Application.Services.SseMessage"}] - [{"name":"CodeActionExample","initCode":"Json CodeActionExample (\n\t\tJson inputData\n\t) \n {\n try \n { \n \n Logger.LogInformation($\"CodeActionExample:: started\");\n // TODO Insert your code here\n Logger.LogInformation($\"CodeActionExample:: finished\");\n return inputData;\n }\n catch (Exception e) {\n Logger.LogError($\"CodeActionExample:: error {e}\");\n throw new Exception($\"CodeActionExample:: error {e}\");\n }\n \n }","initParameters":[{"name":"Result","type":"Json"},{"name":"inputData","type":"Json","required":false}]},{"name":"HandleException","initCode":"ErrorResponse HandleException (\n\t\tPassingResult prevData\n\t) \n {\n try\n {\n //investigate the Exception \n Logger.LogInformation($\"Exception name : {prevData.Exception.GetType().Name}\");\n //casting to exception example\n OracleException exception = null;\n if (prevData.Exception is OracleException)\n {\n exception = prevData.Exception as OracleException;\n }\n \n //forming the HTTP error result\n if (WorkflowEnvironment.RuntimeName == \"UCP\")\n WorkflowEnvironment.Variables[\"StatusCode\"] = 500;\n return new ErrorResponse()\n {\n Message = string.Concat(prevData.Exception.Message, $\"({prevData.Exception.InnerException?.Message})\"),\n LevelMessage = \"11\",\n statusCode = 500,\n State = \"1\",\n //ErrNumber = exception.Number.ToString()\n }; \n }\n catch (Exception e) {\n Logger.LogError($\"HandleException:: error {e}\");\n throw new Exception($\"HandleException:: error {e}\");\n }\n }","initParameters":[{"name":"Result","type":"ErrorResponse"},{"name":"prevData","type":"PassingResult","required":true}]},{"name":"InspectOracleResult","initCode":"string[] InspectOracleResult (\n\t\tCollection oracleData\n\t) \n {\n //get single value\n //Logger.LogInformation($\"get single value of FIELD_NAME1 by index: syntax oracleData[index].FIELD_NAME1\");\n var field_first = oracleData[0].FIELD_NAME1;\n\n //enumeration of FIELD_NAME1 (with LINQ)\n var field_rows = from row in oracleData\n select row.FIELD_NAME1;\n //passing by enumeration\n Logger.LogInformation($\"passing by enumeration field_rows of var1: syntax FIELD_NAME1:var1\");\n foreach (var field1 in field_rows)\n Logger.LogInformation($\"FIELD_NAME1:{field1}\");\n\n //get array of msisdn from enumeration\n Logger.LogInformation($\"get array from enumeration: syntax field_rows.ToArray()\");\n var myArray = field_rows.ToArray();\n //get first value from array\n var field_from_Array = myArray[0];\n\n //passing by enumeration of whole dataset\n Logger.LogInformation($\"passing by enumeration of whole dataset: syntax FIELD_NAME1:row.FIELD_NAME1, FIELD_NAME2:row.FIELD_NAME2 etc...\");\n foreach (var row in oracleData)\n Logger.LogInformation($\"FIELD_NAME1:{row.FIELD_NAME1}\");\n\n //convert whole dataset to string \n var field_list = from row in oracleData\n select row.FIELD_NAME1 as string;\n //convert string to string array \n return field_list.ToList();\n\n }","initParameters":[{"name":"Result","type":"string[]"},{"name":"oracleData","type":"Collection","required":true}]},{"name":"TestCodeAction","initCode":"string[] TestCodeAction (\n\t\tstring arg\n\t) \n {\n // TODO Insert your code here\n }","initParameters":[{"name":"Result","type":"string[]"},{"name":"arg","type":"string","required":false}]}] + [{"name":"CodeActionExample","initCode":"Json CodeActionExample (\n\t\tJson inputData\n\t) \n {\n try \n { \n \n Logger.LogInformation($\"CodeActionExample:: started\");\n // TODO Insert your code here\n Logger.LogInformation($\"CodeActionExample:: finished\");\n return inputData;\n }\n catch (Exception e) {\n Logger.LogError($\"CodeActionExample:: error {e}\");\n throw new Exception($\"CodeActionExample:: error {e}\");\n }\n \n }","initParameters":[{"name":"Result","type":"Json"},{"name":"inputData","type":"Json","required":false}]},{"name":"HandleException","initCode":"ErrorResponse HandleException (\n\t\tPassingResult prevData\n\t) \n {\n try\n {\n //investigate the Exception \n Logger.LogInformation($\"Exception name : {prevData.Exception.GetType().Name}\");\n //casting to exception example\n OracleException exception = null;\n if (prevData.Exception is OracleException)\n {\n exception = prevData.Exception as OracleException;\n }\n \n //forming the HTTP error result\n if (WorkflowEnvironment.RuntimeName == \"UCP\")\n WorkflowEnvironment.Variables[\"StatusCode\"] = 500;\n return new ErrorResponse()\n {\n Message = string.Concat(prevData.Exception.Message, $\"({prevData.Exception.InnerException?.Message})\"),\n LevelMessage = \"11\",\n statusCode = 500,\n State = \"1\",\n //ErrNumber = exception.Number.ToString()\n }; \n }\n catch (Exception e) {\n Logger.LogError($\"HandleException:: error {e}\");\n throw new Exception($\"HandleException:: error {e}\");\n }\n }","initParameters":[{"name":"Result","type":"ErrorResponse"},{"name":"prevData","type":"PassingResult","required":true}]},{"name":"InspectOracleResult","initCode":"string[] InspectOracleResult (\n\t\tCollection oracleData\n\t) \n {\n //get single value\n //Logger.LogInformation($\"get single value of FIELD_NAME1 by index: syntax oracleData[index].FIELD_NAME1\");\n var field_first = oracleData[0].FIELD_NAME1;\n\n //enumeration of FIELD_NAME1 (with LINQ)\n var field_rows = from row in oracleData\n select row.FIELD_NAME1;\n //passing by enumeration\n Logger.LogInformation($\"passing by enumeration field_rows of var1: syntax FIELD_NAME1:var1\");\n foreach (var field1 in field_rows)\n Logger.LogInformation($\"FIELD_NAME1:{field1}\");\n\n //get array of msisdn from enumeration\n Logger.LogInformation($\"get array from enumeration: syntax field_rows.ToArray()\");\n var myArray = field_rows.ToArray();\n //get first value from array\n var field_from_Array = myArray[0];\n\n //passing by enumeration of whole dataset\n Logger.LogInformation($\"passing by enumeration of whole dataset: syntax FIELD_NAME1:row.FIELD_NAME1, FIELD_NAME2:row.FIELD_NAME2 etc...\");\n foreach (var row in oracleData)\n Logger.LogInformation($\"FIELD_NAME1:{row.FIELD_NAME1}\");\n\n //convert whole dataset to string \n var field_list = from row in oracleData\n select row.FIELD_NAME1 as string;\n //convert string to string array \n return field_list.ToList();\n\n }","initParameters":[{"name":"Result","type":"string[]"},{"name":"oracleData","type":"Collection","required":true}]}] [{"name":"Platform","link":"libs://common/platform","version":"","entities":[]}] [{"name":"RestApi","initCode":"functions://default/RestApi","initParameters":[{"name":"Uri","type":"Uri","required":true,"oldName":"Uri","oldType":"Uri","defaultValue":"http://servername:port/resource"},{"name":"Method","type":"string","required":true,"oldName":"Method","oldType":"String","defaultValue":"GET"},{"name":"Login","type":"string","required":false,"oldName":"Login","oldType":"String","defaultValue":null},{"name":"Password","type":"string","required":false,"oldName":"Password","oldType":"String","defaultValue":null},{"name":"Headers","type":"StringDictionary","required":false,"oldName":"Headers","oldType":"StringDictionary","defaultValue":"{\r\n \"Content-Type\":\"application/json;charset=utf-16\",\r\n \"system\":\"204\",\r\n \"global_unique_id\":\"6a297fcb-956e-4228-8c11-017e9bacd629\"\r\n }"},{"name":"Body","type":"string","required":false,"oldName":"Body","oldType":"String","defaultValue":"{}"},{"name":"Encoding","type":"string","required":false,"oldName":"Encoding","oldType":"String","defaultValue":"utf-8"},{"name":"Timeout","type":"int","required":false,"oldName":"Timeout","oldType":"int","defaultValue":"0"},{"name":"Result","type":"HttpResponse","required":false,"oldName":"Result","oldType":"HttpResponse","defaultValue":null}],"oldName":"RestApi"},{"name":"RestApi/GET","initCode":"functions://default/RestApi/Get","initParameters":[{"name":"Uri","type":"Uri","required":true,"oldName":"Uri","oldType":"Uri","defaultValue":"http://servername:port/resource"},{"name":"Login","type":"string","required":false,"oldName":"Login","oldType":"String","defaultValue":null},{"name":"Password","type":"string","required":false,"oldName":"Password","oldType":"String","defaultValue":null},{"name":"Headers","type":"StringDictionary","required":false,"oldName":"Headers","oldType":"StringDictionary","defaultValue":"{\r\n \"Content-Type\":\"application/json;charset=utf-16\",\r\n \"system\":\"204\",\r\n \"global_unique_id\":\"6a297fcb-956e-4228-8c11-017e9bacd629\"\r\n }"},{"name":"Encoding","type":"string","required":false,"oldName":"Encoding","oldType":"String","defaultValue":"utf-8"},{"name":"Timeout","type":"int","required":false,"oldName":"Timeout","oldType":"int","defaultValue":"0"},{"name":"Result","type":"HttpResponse","required":false,"oldName":"Result","oldType":"HttpResponse","defaultValue":null}],"oldName":"RestApi/GET"},{"name":"JsonPath","initCode":"functions://default//JsonPath","initParameters":[{"name":"Response","type":"HttpResponse","required":true,"oldName":"Response","oldType":"HttpResponse","defaultValue":null},{"name":"Path","type":"string","required":false,"oldName":"Path","oldType":"String","defaultValue":"$"},{"name":"Result","type":"Json","required":false,"oldName":"Result","oldType":"Json","defaultValue":null}],"oldName":"JsonPath"},{"name":"SaveVariable","initCode":"functions://default//SaveVariable","initParameters":[{"name":"VariableName","type":"string","required":true,"oldName":"VariableName","oldType":"string","defaultValue":"varName"},{"name":"Data","type":"object","required":true,"oldName":"Data","oldType":"object","defaultValue":"#previous"}],"oldName":"SaveVariable"},{"name":"SQL/Oracle/Query","initCode":"functions://default//SQL/Oracle/Query","initParameters":[{"name":"userID","type":"string","required":true,"oldName":"userID","oldType":"String","defaultValue":null},{"name":"password","type":"string","required":false,"oldName":"password","oldType":"String","defaultValue":null},{"name":"dataSource","type":"string","required":false,"oldName":"dataSource","oldType":"String","defaultValue":null},{"name":"query","type":"string","required":false,"oldName":"query","oldType":"String","defaultValue":null},{"name":"Result","type":"Collection","required":false,"oldName":"Result","oldType":"Collection","defaultValue":null}],"oldName":"SQL/Oracle/Query"},{"name":"SQL/Oracle/Command","initCode":"functions://default//SQL/Oracle/Command","initParameters":[{"name":"userID","type":"string","required":true,"oldName":"userID","oldType":"String","defaultValue":null},{"name":"password","type":"string","required":false,"oldName":"password","oldType":"String","defaultValue":null},{"name":"dataSource","type":"string","required":false,"oldName":"dataSource","oldType":"String","defaultValue":null},{"name":"command","type":"string","required":false,"oldName":"command","oldType":"String","defaultValue":null},{"name":"Result","type":"int","required":false,"oldName":"Result","oldType":"int","defaultValue":null}],"oldName":"SQL/Oracle/Command"}] [] diff --git a/flow-patterns/08-ai-agents/ai-completions.bpmn b/flow-patterns/08-ai-agents/ai-completions.bpmn index 4bc5f6a..8cffbce 100644 --- a/flow-patterns/08-ai-agents/ai-completions.bpmn +++ b/flow-patterns/08-ai-agents/ai-completions.bpmn @@ -4,7 +4,7 @@ ["Action","Function"] [{"name":"ErrorResponse","definition":"{\r\n \"$schema\": \"http://json-schema.org/draft-06/schema#\",\r\n \"$ref\": \"#/definitions/ErrorResponse\",\r\n \"definitions\": {\r\n \"ErrorResponse\": {\r\n \"type\": \"object\",\r\n \"additionalProperties\": true,\r\n \"properties\": {\r\n \"LevelMessage\": {\r\n \"title\": \"The Error level\",\r\n \"type\": \"string\"\r\n },\r\n \"statusCode\": {\r\n \"title\": \"The Error Status Code\",\r\n \"type\": \"integer\"\r\n },\r\n \"ErrNumber\": {\r\n \"title\": \"The Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Message\": {\r\n \"title\": \"The Error Message\",\r\n \"type\": \"string\"\r\n },\r\n \"State\": {\r\n \"title\": \"The Error State\",\r\n \"type\": \"string\"\r\n },\r\n \"HelpLink\": {\r\n \"title\": \"The Help Link\",\r\n \"type\": \"string\"\r\n },\r\n \"errNumberReason\": {\r\n \"title\": \"The initial Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Data\": {\r\n \"title\": \"The Error Data\",\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"LevelMessage\": {\r\n \"title\": \"The Error level\",\r\n \"type\": \"string\"\r\n },\r\n \"statusCode\": {\r\n \"title\": \"The Error Status Code\",\r\n \"type\": \"integer\"\r\n },\r\n \"ErrNumber\": {\r\n \"title\": \"The Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Message\": {\r\n \"title\": \"The Error Message\",\r\n \"type\": \"string\"\r\n },\r\n \"State\": {\r\n \"title\": \"The Error State\",\r\n \"type\": \"string\"\r\n },\r\n \"HelpLink\": {\r\n \"title\": \"The Help Link\",\r\n \"type\": \"string\"\r\n },\r\n \"errNumberReason\": {\r\n \"title\": \"The initial Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Data\": {\r\n \"title\": \"The Data Schema\",\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"LevelMessage\": {\r\n \"title\": \"The Error level\",\r\n \"type\": \"string\"\r\n },\r\n \"statusCode\": {\r\n \"title\": \"The Error Status Code\",\r\n \"type\": \"integer\"\r\n },\r\n \"ErrNumber\": {\r\n \"title\": \"The Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Message\": {\r\n \"title\": \"The Error Message\",\r\n \"type\": \"string\"\r\n },\r\n \"State\": {\r\n \"title\": \"The Error State\",\r\n \"type\": \"string\"\r\n },\r\n \"HelpLink\": {\r\n \"title\": \"The Help Link\",\r\n \"type\": \"string\"\r\n },\r\n \"errNumberReason\": {\r\n \"title\": \"The initial Error Number\",\r\n \"type\": \"string\"\r\n }\r\n }\r\n },\r\n \"ResolveUrl\": {\r\n \"title\": \"The Resolve Url Link\",\r\n \"type\": \"string\"\r\n }\r\n }\r\n },\r\n \"ResolveUrl\": {\r\n \"title\": \"The Resolve Url Link\",\r\n \"type\": \"string\"\r\n },\r\n \"extraData\": {\r\n \"title\": \"The Error Extra Data \",\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"operationDuration\": {\r\n \"title\": \"The Operation Duration\",\r\n \"type\": \"integer\"\r\n }\r\n }\r\n }\r\n },\r\n \"title\": \"ErrorResponse\"\r\n }\r\n }\r\n}","isNativeDefinition":false},{"name":"HttpConfig","definition":"{\r\n \"$schema\":\"http://natec.tech/simpleschema\",\r\n \"$ref\":\"#/definitions/HttpConfig\",\r\n \"definitions\":{\r\n \"HttpConfig\":{\r\n \"type\":\"object\",\r\n \"properties\":{\r\n \"host\":{\r\n \"type\":\"string\"\r\n },\r\n \"port\":{\r\n \"type\":\"string\"\r\n },\r\n \"login\":{\r\n \"type\":\"string\"\r\n },\r\n \"password\":{\r\n \"type\":\"string\"\r\n },\r\n \"encoding\":{\r\n \"type\":\"string\"\r\n },\r\n \"headers\":{\r\n \"type\":\"StringDictionary<string, string>\"\r\n }\r\n },\r\n \"required\": [\"host\", \"encoding\", \"headers\"],\r\n \"title\":\"HttpConfig\"\r\n }\r\n }\r\n}","isNativeDefinition":false},{"name":"OracleConfig","definition":"{\r\n \"$schema\":\"http://natec.tech/simpleschema\",\r\n \"$ref\":\"#/definitions/OracleConfig\",\r\n \"definitions\":{\r\n \"OracleConfig\":{\r\n \"type\":\"object\",\r\n \"properties\":{\r\n \"userId\":{\r\n \"type\":\"string\"\r\n },\r\n \"password\":{\r\n \"type\":\"string\"\r\n },\r\n \"dataSource\":{\r\n \"type\":\"string\"\r\n }\r\n },\r\n \"required\": [\"userId\", \"password\", \"dataSource\"],\r\n \"title\":\"OracleConfig\"\r\n }\r\n }\r\n}","isNativeDefinition":false},{"name":"SystemException","definition":"{\r\n \"$schema\":\"http://natec.tech/simpleschema\",\r\n \"$ref\":\"#/definitions/SystemException\",\r\n \"definitions\":{\r\n \"SystemException\":{\r\n \"type\":\"object\",\r\n \"properties\":{\r\n \"Exception\":{\r\n \"type\":\"types://core/System.Exception\"\r\n },\r\n \"info\":{\r\n \"type\":\"string\"\r\n }\r\n },\r\n \"title\":\"SystemException\"\r\n }\r\n }\r\n}","isNativeDefinition":false},{"name":"TestClass","definition":"\r\n/// A &product @to be @created defined by value or existing defined by reference. The polymorphic attributes type, schemaLocation referredType are related to the product entity and not the RelatedProductRefOrValue class itself\r\n\r\npublic class TestClass { \r\n\tpublic int Id {get;set;}\r\n}","isNativeDefinition":true}] [{"name":"ChatCompletionsRequestMessageViewModel","definition":"types://external/ai/UCP.Common.AI.ChatCompletionsRequestMessageViewModel"},{"name":"ConfigViewModel","definition":"types://external/ai/UCP.Common.AI.ConfigViewModel"},{"name":"Config","definition":"types://external/Create_Config_Yiz_Http/Config"}] - [{"name":"InspectOracleResult","initCode":"string[] InspectOracleResult (\n\t\tCollection oracleData\n\t) \n {\n //get single value\n //Logger.LogInformation($\"get single value of FIELD_NAME1 by index: syntax oracleData[index].FIELD_NAME1\");\n var field_first = oracleData[0].FIELD_NAME1;\n\n //enumeration of FIELD_NAME1 (with LINQ)\n var field_rows = from row in oracleData\n select row.FIELD_NAME1;\n //passing by enumeration\n Logger.LogInformation($\"passing by enumeration field_rows of var1: syntax FIELD_NAME1:var1\");\n foreach (var field1 in field_rows)\n Logger.LogInformation($\"FIELD_NAME1:{field1}\");\n\n //get array of msisdn from enumeration\n Logger.LogInformation($\"get array from enumeration: syntax field_rows.ToArray()\");\n var myArray = field_rows.ToArray();\n //get first value from array\n var field_from_Array = myArray[0];\n\n //passing by enumeration of whole dataset\n Logger.LogInformation($\"passing by enumeration of whole dataset: syntax FIELD_NAME1:row.FIELD_NAME1, FIELD_NAME2:row.FIELD_NAME2 etc...\");\n foreach (var row in oracleData)\n Logger.LogInformation($\"FIELD_NAME1:{row.FIELD_NAME1}\");\n\n //convert whole dataset to string \n var field_list = from row in oracleData\n select row.FIELD_NAME1 as string;\n //convert string to string array \n return field_list.ToList();\n\n }","initParameters":[{"name":"Result","type":"string[]"},{"name":"oracleData","type":"Collection","required":true}]},{"name":"HandleException","initCode":"ErrorResponse HandleException (\n\t\tPassingResult prevData\n\t) \n {\n try\n {\n //investigate the Exception \n Logger.LogInformation($\"Exception name : {prevData.Exception.GetType().Name}\");\n //casting to exception example\n OracleException exception = null;\n if (prevData.Exception is OracleException)\n {\n exception = prevData.Exception as OracleException;\n }\n \n //forming the HTTP error result\n if (WorkflowEnvironment.RuntimeName == \"UCP\")\n WorkflowEnvironment.Variables[\"StatusCode\"] = 500;\n return new ErrorResponse()\n {\n Message = string.Concat(prevData.Exception.Message, $\"({prevData.Exception.InnerException?.Message})\"),\n LevelMessage = \"11\",\n statusCode = 500,\n State = \"1\",\n //ErrNumber = exception.Number.ToString()\n }; \n }\n catch (Exception e) {\n Logger.LogError($\"HandleException:: error {e}\");\n throw new Exception($\"HandleException:: error {e}\");\n }\n }","initParameters":[{"name":"Result","type":"ErrorResponse"},{"name":"prevData","type":"PassingResult","required":true}]},{"name":"CodeActionExample","initCode":"Json CodeActionExample (\n\t\tJson inputData\n\t) \n {\n try \n { \n \n Logger.LogInformation($\"CodeActionExample:: started\");\n // TODO Insert your code here\n Logger.LogInformation($\"CodeActionExample:: finished\");\n return inputData;\n }\n catch (Exception e) {\n Logger.LogError($\"CodeActionExample:: error {e}\");\n throw new Exception($\"CodeActionExample:: error {e}\");\n }\n \n }","initParameters":[{"name":"Result","type":"Json"},{"name":"inputData","type":"Json","required":false}]},{"name":"TestCodeAction","initCode":"string[] TestCodeAction (\n\t\tstring arg\n\t) \n {\n // TODO Insert your code here\n }","initParameters":[{"name":"Result","type":"string[]"},{"name":"arg","type":"string","required":false}]}] + [{"name":"InspectOracleResult","initCode":"string[] InspectOracleResult (\n\t\tCollection oracleData\n\t) \n {\n //get single value\n //Logger.LogInformation($\"get single value of FIELD_NAME1 by index: syntax oracleData[index].FIELD_NAME1\");\n var field_first = oracleData[0].FIELD_NAME1;\n\n //enumeration of FIELD_NAME1 (with LINQ)\n var field_rows = from row in oracleData\n select row.FIELD_NAME1;\n //passing by enumeration\n Logger.LogInformation($\"passing by enumeration field_rows of var1: syntax FIELD_NAME1:var1\");\n foreach (var field1 in field_rows)\n Logger.LogInformation($\"FIELD_NAME1:{field1}\");\n\n //get array of msisdn from enumeration\n Logger.LogInformation($\"get array from enumeration: syntax field_rows.ToArray()\");\n var myArray = field_rows.ToArray();\n //get first value from array\n var field_from_Array = myArray[0];\n\n //passing by enumeration of whole dataset\n Logger.LogInformation($\"passing by enumeration of whole dataset: syntax FIELD_NAME1:row.FIELD_NAME1, FIELD_NAME2:row.FIELD_NAME2 etc...\");\n foreach (var row in oracleData)\n Logger.LogInformation($\"FIELD_NAME1:{row.FIELD_NAME1}\");\n\n //convert whole dataset to string \n var field_list = from row in oracleData\n select row.FIELD_NAME1 as string;\n //convert string to string array \n return field_list.ToList();\n\n }","initParameters":[{"name":"Result","type":"string[]"},{"name":"oracleData","type":"Collection","required":true}]},{"name":"HandleException","initCode":"ErrorResponse HandleException (\n\t\tPassingResult prevData\n\t) \n {\n try\n {\n //investigate the Exception \n Logger.LogInformation($\"Exception name : {prevData.Exception.GetType().Name}\");\n //casting to exception example\n OracleException exception = null;\n if (prevData.Exception is OracleException)\n {\n exception = prevData.Exception as OracleException;\n }\n \n //forming the HTTP error result\n if (WorkflowEnvironment.RuntimeName == \"UCP\")\n WorkflowEnvironment.Variables[\"StatusCode\"] = 500;\n return new ErrorResponse()\n {\n Message = string.Concat(prevData.Exception.Message, $\"({prevData.Exception.InnerException?.Message})\"),\n LevelMessage = \"11\",\n statusCode = 500,\n State = \"1\",\n //ErrNumber = exception.Number.ToString()\n }; \n }\n catch (Exception e) {\n Logger.LogError($\"HandleException:: error {e}\");\n throw new Exception($\"HandleException:: error {e}\");\n }\n }","initParameters":[{"name":"Result","type":"ErrorResponse"},{"name":"prevData","type":"PassingResult","required":true}]},{"name":"CodeActionExample","initCode":"Json CodeActionExample (\n\t\tJson inputData\n\t) \n {\n try \n { \n \n Logger.LogInformation($\"CodeActionExample:: started\");\n // TODO Insert your code here\n Logger.LogInformation($\"CodeActionExample:: finished\");\n return inputData;\n }\n catch (Exception e) {\n Logger.LogError($\"CodeActionExample:: error {e}\");\n throw new Exception($\"CodeActionExample:: error {e}\");\n }\n \n }","initParameters":[{"name":"Result","type":"Json"},{"name":"inputData","type":"Json","required":false}]}] [{"name":"ai","link":"libs://common/ai","version":"","entities":[]},{"name":"bll","link":"libs://common/bll","version":"","entities":[]},{"name":"Create_Config_Yiz_Http","link":"activities://bpmn-mnemo/personal/MyDrafts/Create_Config_Yiz_Http/#latest","version":"","entities":[]}] [{"name":"RestApi","initCode":"functions://default/RestApi","initParameters":[{"name":"Uri","type":"Uri","required":true,"oldName":"Uri","oldType":"Uri","defaultValue":"http://servername:port/resource"},{"name":"Method","type":"string","required":true,"oldName":"Method","oldType":"String","defaultValue":"GET"},{"name":"Login","type":"string","required":false,"oldName":"Login","oldType":"String","defaultValue":null},{"name":"Password","type":"string","required":false,"oldName":"Password","oldType":"String","defaultValue":null},{"name":"Headers","type":"StringDictionary","required":false,"oldName":"Headers","oldType":"StringDictionary","defaultValue":"{\r\n \"Content-Type\":\"application/json;charset=utf-16\",\r\n \"system\":\"204\",\r\n \"global_unique_id\":\"6a297fcb-956e-4228-8c11-017e9bacd629\"\r\n }"},{"name":"Body","type":"string","required":false,"oldName":"Body","oldType":"String","defaultValue":"{}"},{"name":"Encoding","type":"string","required":false,"oldName":"Encoding","oldType":"String","defaultValue":"utf-8"},{"name":"Timeout","type":"int","required":false,"oldName":"Timeout","oldType":"int","defaultValue":"0"},{"name":"Result","type":"HttpResponse","required":false,"oldName":"Result","oldType":"HttpResponse","defaultValue":null}],"oldName":"RestApi"},{"name":"RestApi/GET","initCode":"functions://default/RestApi/Get","initParameters":[{"name":"Uri","type":"Uri","required":true,"oldName":"Uri","oldType":"Uri","defaultValue":"http://servername:port/resource"},{"name":"Login","type":"string","required":false,"oldName":"Login","oldType":"String","defaultValue":null},{"name":"Password","type":"string","required":false,"oldName":"Password","oldType":"String","defaultValue":null},{"name":"Headers","type":"StringDictionary","required":false,"oldName":"Headers","oldType":"StringDictionary","defaultValue":"{\r\n \"Content-Type\":\"application/json;charset=utf-16\",\r\n \"system\":\"204\",\r\n \"global_unique_id\":\"6a297fcb-956e-4228-8c11-017e9bacd629\"\r\n }"},{"name":"Encoding","type":"string","required":false,"oldName":"Encoding","oldType":"String","defaultValue":"utf-8"},{"name":"Timeout","type":"int","required":false,"oldName":"Timeout","oldType":"int","defaultValue":"0"},{"name":"Result","type":"HttpResponse","required":false,"oldName":"Result","oldType":"HttpResponse","defaultValue":null}],"oldName":"RestApi/GET"},{"name":"JsonPath","initCode":"functions://default//JsonPath","initParameters":[{"name":"Response","type":"HttpResponse","required":true,"oldName":"Response","oldType":"HttpResponse","defaultValue":null},{"name":"Path","type":"string","required":false,"oldName":"Path","oldType":"String","defaultValue":"$"},{"name":"Result","type":"Json","required":false,"oldName":"Result","oldType":"Json","defaultValue":null}],"oldName":"JsonPath"},{"name":"SaveVariable","initCode":"functions://default//SaveVariable","initParameters":[{"name":"VariableName","type":"string","required":true,"oldName":"VariableName","oldType":"string","defaultValue":"varName"},{"name":"Data","type":"object","required":true,"oldName":"Data","oldType":"object","defaultValue":"#previous"}],"oldName":"SaveVariable"},{"name":"SQL/Oracle/Query","initCode":"functions://default//SQL/Oracle/Query","initParameters":[{"name":"userID","type":"string","required":true,"oldName":"userID","oldType":"String","defaultValue":null},{"name":"password","type":"string","required":false,"oldName":"password","oldType":"String","defaultValue":null},{"name":"dataSource","type":"string","required":false,"oldName":"dataSource","oldType":"String","defaultValue":null},{"name":"query","type":"string","required":false,"oldName":"query","oldType":"String","defaultValue":null},{"name":"Result","type":"Collection","required":false,"oldName":"Result","oldType":"Collection","defaultValue":null}],"oldName":"SQL/Oracle/Query"},{"name":"SQL/Oracle/Command","initCode":"functions://default//SQL/Oracle/Command","initParameters":[{"name":"userID","type":"string","required":true,"oldName":"userID","oldType":"String","defaultValue":null},{"name":"password","type":"string","required":false,"oldName":"password","oldType":"String","defaultValue":null},{"name":"dataSource","type":"string","required":false,"oldName":"dataSource","oldType":"String","defaultValue":null},{"name":"command","type":"string","required":false,"oldName":"command","oldType":"String","defaultValue":null},{"name":"Result","type":"int","required":false,"oldName":"Result","oldType":"int","defaultValue":null}],"oldName":"SQL/Oracle/Command"},{"name":"AI/Completions","initCode":"functions://default//AI/Completions","initParameters":[{"name":"Model","type":"string","required":true,"oldName":"Model","oldType":"String","defaultValue":"meta-llama/Llama-3.1-8B-Instruct"},{"name":"Messages","type":"ChatCompletionsRequestMessageViewModel[]","required":true,"oldName":"Messages","oldType":"ChatCompletionsRequestMessageViewModel[]","defaultValue":null},{"name":"Config","type":"ConfigViewModel","required":true,"oldName":"Config","oldType":"ConfigViewModel","defaultValue":null},{"name":"Result","type":"string[]","required":false,"oldName":"Result","oldType":"string[]","defaultValue":null}],"oldName":"AI/Completions"},{"name":"AI/ExecuteReader","initCode":"functions://default//AI/ExecuteReader","initParameters":[{"name":"vectorExecuteRequest","type":"string","required":true,"oldName":"vectorExecuteRequest","oldType":"String","defaultValue":null},{"name":"Result","type":"string","required":false,"oldName":"Result","oldType":"string","defaultValue":null}],"oldName":"AI/ExecuteReader"}] [] From d4a086a86c8e481c49fc1d4e7439f51b991de688 Mon Sep 17 00:00:00 2001 From: Sergej Polovnikov Date: Mon, 31 Aug 2026 22:02:47 +0300 Subject: [PATCH 02/19] docs(flow-patterns): English as the normative language MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The root README has been English from the start; the pattern guides, the type design chapter and the catalogue were not, which left the publish target unusable for the reader it is published for. Translated with the structure preserved: same headings and levels, same table columns and row order, same code blocks. In CATALOGUE.md every count, model path and reserved-word list is byte-identical to before; only prose and column headers changed. Adds a "Companion Flows" section to the group index. A Flow takes its settings from a separate configuration Flow through a Call Activity (activities://bpmn-mnemo////#latest) and declares that Flow's shared types as external (types://external//). The indirection is what keeps a model independent of its environment and keeps one declaration of a type instead of a copy per Flow — and it is also why an example that references a companion will not compile until the companion exists in the target library, under the name the reference uses. The table says which example needs which. Co-Authored-By: Claude Fable 5 --- CATALOGUE.md | 215 +++++++++--------- flow-patterns/01-basics/README.md | 37 +-- flow-patterns/02-error-handling/README.md | 40 ++-- flow-patterns/03-config-as-flow/README.md | 46 ++-- flow-patterns/04-pagination/README.md | 36 +-- flow-patterns/05-events-and-signals/README.md | 45 ++-- flow-patterns/06-streaming-sse/README.md | 38 ++-- flow-patterns/07-triggers/README.md | 36 +-- flow-patterns/08-ai-agents/README.md | 45 ++-- flow-patterns/README.md | 64 ++++-- flow-patterns/TYPE-DESIGN.md | 215 +++++++++--------- 11 files changed, 426 insertions(+), 391 deletions(-) diff --git a/CATALOGUE.md b/CATALOGUE.md index c2e9498..99529a3 100644 --- a/CATALOGUE.md +++ b/CATALOGUE.md @@ -1,150 +1,149 @@ -# Каталог прикладів +# Catalog of examples -Перелік моделей репозиторію з призначенням кожної та переліком того, що саме вона показує. Дані зібрано з самих файлів, а не з описів: режими задач, задіяні елементи, зарезервовані слова та оголошені типи прочитано з моделей. +A list of the models in this repository, what each one is for, and what exactly it shows. The data is collected from the files themselves, not from descriptions: task modes, elements used, reserved words and declared types are read from the models. -## Покриття можливостей +## Capability coverage -Знаменник — те, що приймає компілятор і що пропонує панель властивостей. Порожній рядок означає, що можливість не покрита жодним прикладом. +The denominator is what the compiler accepts and what the properties panel offers. An empty row means the capability is not covered by any example. -| Можливість | Моделей | Де подивитись | +| Capability | Models | Where to look | |---|---|---| -| **Вузли** | | | -| Задача | 48 | `Kafka_getConfig/Kafka.bpmn`, `api-call/api-call.bpmn` (+46) | -| Зовнішній компонент (Call Activity) | 5 | `flow-patterns/02-error-handling/event-error-routing.bpmn`, `flow-patterns/03-config-as-flow/send-links.bpmn` (+3) | -| Підпроцес | 4 | `flow-patterns/03-config-as-flow/send-links-before.bpmn`, `flow-patterns/03-config-as-flow/send-links.bpmn` (+2) | -| Ексклюзивний шлюз | 32 | `api-call/api-call.bpmn`, `flow-patterns/01-basics/global-and-jsonpath.bpmn` (+30) | -| Паралельний шлюз | 15 | `flow-patterns/05-events-and-signals/boundary-event-fanout.bpmn`, `flow-patterns/05-events-and-signals/zip-chunks.bpmn` (+13) | -| Подієвий шлюз | 1 | `flow-patterns/05-events-and-signals/zip-chunks.bpmn` | -| Початкова подія | 48 | `Kafka_getConfig/Kafka.bpmn`, `api-call/api-call.bpmn` (+46) | -| Кінцева подія | 48 | `Kafka_getConfig/Kafka.bpmn`, `api-call/api-call.bpmn` (+46) | -| Гранична подія | 39 | `flow-patterns/01-basics/global-and-jsonpath.bpmn`, `flow-patterns/02-error-handling/event-error-routing.bpmn` (+37) | -| Проміжна подія-перехоплювач | 2 | `api-call/api-call.bpmn`, `flow-patterns/05-events-and-signals/zip-chunks.bpmn` | -| Проміжна подія-кидок | 7 | `flow-patterns/03-config-as-flow/send-links-before.bpmn`, `flow-patterns/03-config-as-flow/send-links.bpmn` (+5) | -| **Види подій** | | | -| помилка | 35 | `flow-patterns/01-basics/global-and-jsonpath.bpmn`, `flow-patterns/02-error-handling/event-error-routing.bpmn` (+33) | -| таймер | 1 | `api-call/api-call.bpmn` | -| сигнал | 3 | `flow-patterns/02-error-handling/event-error-routing.bpmn`, `flow-patterns/05-events-and-signals/zip-chunks.bpmn` (+1) | -| повідомлення | 7 | `flow-patterns/03-config-as-flow/send-links-before.bpmn`, `flow-patterns/03-config-as-flow/send-links.bpmn` (+5) | -| **Цикли** | | | -| виконання у кількох екземплярах | 4 | `flow-patterns/03-config-as-flow/send-links-before.bpmn`, `flow-patterns/03-config-as-flow/send-links.bpmn` (+2) | -| **Дані** | | | +| **Nodes** | | | +| Task | 48 | `Kafka_getConfig/Kafka.bpmn`, `api-call/api-call.bpmn` (+46) | +| External component (Call Activity) | 5 | `flow-patterns/02-error-handling/event-error-routing.bpmn`, `flow-patterns/03-config-as-flow/send-links.bpmn` (+3) | +| Sub Process | 4 | `flow-patterns/03-config-as-flow/send-links-before.bpmn`, `flow-patterns/03-config-as-flow/send-links.bpmn` (+2) | +| Exclusive gateway | 32 | `api-call/api-call.bpmn`, `flow-patterns/01-basics/global-and-jsonpath.bpmn` (+30) | +| Parallel gateway | 15 | `flow-patterns/05-events-and-signals/boundary-event-fanout.bpmn`, `flow-patterns/05-events-and-signals/zip-chunks.bpmn` (+13) | +| Event-based gateway | 1 | `flow-patterns/05-events-and-signals/zip-chunks.bpmn` | +| Start event | 48 | `Kafka_getConfig/Kafka.bpmn`, `api-call/api-call.bpmn` (+46) | +| End event | 48 | `Kafka_getConfig/Kafka.bpmn`, `api-call/api-call.bpmn` (+46) | +| Boundary event | 39 | `flow-patterns/01-basics/global-and-jsonpath.bpmn`, `flow-patterns/02-error-handling/event-error-routing.bpmn` (+37) | +| Intermediate catch event | 2 | `api-call/api-call.bpmn`, `flow-patterns/05-events-and-signals/zip-chunks.bpmn` | +| Intermediate throw event | 7 | `flow-patterns/03-config-as-flow/send-links-before.bpmn`, `flow-patterns/03-config-as-flow/send-links.bpmn` (+5) | +| **Event kinds** | | | +| error | 35 | `flow-patterns/01-basics/global-and-jsonpath.bpmn`, `flow-patterns/02-error-handling/event-error-routing.bpmn` (+33) | +| timer | 1 | `api-call/api-call.bpmn` | +| signal | 3 | `flow-patterns/02-error-handling/event-error-routing.bpmn`, `flow-patterns/05-events-and-signals/zip-chunks.bpmn` (+1) | +| message | 7 | `flow-patterns/03-config-as-flow/send-links-before.bpmn`, `flow-patterns/03-config-as-flow/send-links.bpmn` (+5) | +| **Loops** | | | +| Multi Instance execution | 4 | `flow-patterns/03-config-as-flow/send-links-before.bpmn`, `flow-patterns/03-config-as-flow/send-links.bpmn` (+2) | +| **Data** | | | | Data Object | 48 | `Kafka_getConfig/Kafka.bpmn`, `api-call/api-call.bpmn` (+46) | | Data Store | 3 | `flow-patterns/03-config-as-flow/send-links-before.bpmn`, `flow-patterns/03-config-as-flow/send-links.bpmn` (+1) | -| **Режими задачі** | | | +| **Task modes** | | | | Action | 39 | `api-call/api-call.bpmn`, `api-gateway/api-gateway.bpmn` (+37) | | Function | 13 | `api-call/api-call.bpmn`, `api-gateway/api-gateway.bpmn` (+11) | -| ExternalAction | 0 | — **немає** | +| ExternalAction | 0 | — **none** | | Inline | 17 | `Kafka_getConfig/Kafka.bpmn`, `flow-patterns/01-basics/echo-agent.bpmn` (+15) | -| **Типи** | | | -| Native (клас C#) | 40 | `Kafka_getConfig/Kafka.bpmn`, `flow-patterns/01-basics/echo-agent.bpmn` (+38) | +| **Types** | | | +| Native (C# class) | 40 | `Kafka_getConfig/Kafka.bpmn`, `flow-patterns/01-basics/echo-agent.bpmn` (+38) | | Inner (JSON Schema) | 44 | `Kafka_getConfig/Kafka.bpmn`, `api-call/api-call.bpmn` (+42) | -| External (посилання) | 9 | `Kafka_getConfig/Kafka.bpmn`, `flow-patterns/01-basics/echo-agent.bpmn` (+7) | -| **Інше** | | | -| Підключені бібліотеки | 12 | `Kafka_getConfig/Kafka.bpmn`, `flow-patterns/01-basics/echo-agent.bpmn` (+10) | -| Параметри Flow | 44 | `Kafka_getConfig/Kafka.bpmn`, `flow-patterns/01-basics/echo-agent.bpmn` (+42) | -| Посилання на інший Flow | 7 | `Kafka_getConfig/Kafka.bpmn`, `flow-patterns/01-basics/echo-agent.bpmn` (+5) | +| External (reference) | 9 | `Kafka_getConfig/Kafka.bpmn`, `flow-patterns/01-basics/echo-agent.bpmn` (+7) | +| **Other** | | | +| Linked libraries | 12 | `Kafka_getConfig/Kafka.bpmn`, `flow-patterns/01-basics/echo-agent.bpmn` (+10) | +| Flow parameters | 44 | `Kafka_getConfig/Kafka.bpmn`, `flow-patterns/01-basics/echo-agent.bpmn` (+42) | +| Reference to another Flow | 7 | `Kafka_getConfig/Kafka.bpmn`, `flow-patterns/01-basics/echo-agent.bpmn` (+5) | -## Моделі +## Models ### Kafka_getConfig -Наскрізний приклад із ґайду: з JSON на вході до типізованої конфігурації. +End-to-end example from the guide: from JSON on input to a typed configuration. -| Модель | Що показує | Режими | Задіяні слова | +| Model | What it shows | Modes | Words used | |---|---|---|---| -| `Kafka.bpmn` | тип Native; тип External | Inline | `Input`, `Logger`, `Parameters`, `WorkflowEnvironment` | +| `Kafka.bpmn` | Native type; External type | Inline | `Input`, `Logger`, `Parameters`, `WorkflowEnvironment` | ### api-call -Наскрізний приклад із ґайду: виклик зовнішнього API з повтором. +End-to-end example from the guide: calling an external API with a retry. -| Модель | Що показує | Режими | Задіяні слова | +| Model | What it shows | Modes | Words used | |---|---|---|---| -| `api-call.bpmn` | ексклюзивний шлюз; таймер; функції: FormReport, RestApi/GET | Action, Function | `#Previous`, `Input`, `Logger`, `Parameters`, `ServiceProvider` | +| `api-call.bpmn` | exclusive gateway; timer; functions: FormReport, RestApi/GET | Action, Function | `#Previous`, `Input`, `Logger`, `Parameters`, `ServiceProvider` | ### api-gateway -Наскрізний приклад із ґайду: проксі-шлюз із коригуванням запиту. +End-to-end example from the guide: a proxy gateway that corrects the request. -| Модель | Що показує | Режими | Задіяні слова | +| Model | What it shows | Modes | Words used | |---|---|---|---| -| `api-gateway.bpmn` | функції: CorrectModels, FormResponse, RestApi | Action, Function | `#Previous`, `Input`, `Parameters`, `ServiceProvider` | +| `api-gateway.bpmn` | functions: CorrectModels, FormResponse, RestApi | Action, Function | `#Previous`, `Input`, `Parameters`, `ServiceProvider` | ### flow-patterns -Навчальні приклади, згруповані за задачею, яку вони розвʼязують. +Teaching examples grouped by the problem they solve. -| Модель | Що показує | Режими | Задіяні слова | +| Model | What it shows | Modes | Words used | |---|---|---|---| -| `01-basics/echo-agent.bpmn` | тип Native; тип External | Inline | `#Previous`, `Input`, `Logger`, `Parameters`, `WorkflowEnvironment` | -| `01-basics/global-and-jsonpath.bpmn` | гранична подія; ексклюзивний шлюз; функції: JsonPath, RestApi, SaveVariable | Action, Function | `#Previous`, `Global`, `Input`, `Logger`, `Parameters` | -| `02-error-handling/event-error-routing.bpmn` | гранична подія; ексклюзивний шлюз; виклик іншого Flow; сигнал; тип Native; функції: HandleException, correctInput, p_ucp_act_Customers_Sync | Action, Inline | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters` | -| `03-config-as-flow/get-config.bpmn` | тип Native | Inline | `#Previous`, `Input`, `Logger`, `Parameters`, `WorkflowEnvironment` | -| `03-config-as-flow/send-links-before.bpmn` | гранична подія; ексклюзивний шлюз; підпроцес; повідомлення; Data Store; кілька екземплярів; тип Native; функції: GetLinks, GetPageInfos, RestApi/Download | Action, Inline, Function | `#Previous`, `DataAssociations`, `Input`, `Logger`, `Parameters` | -| `03-config-as-flow/send-links.bpmn` | гранична подія; ексклюзивний шлюз; підпроцес; виклик іншого Flow; повідомлення; Data Store; кілька екземплярів; тип Native; тип External; функції: GetLinks, GetPageInfos, RestApi/Download | Action, Inline, Function | `#Previous`, `DataAssociations`, `Input`, `Logger`, `Parameters` | -| `04-pagination/sync-folder-paged.bpmn` | гранична подія; ексклюзивний шлюз; підпроцес; виклик іншого Flow; кілька екземплярів; функції: HandleException, JsonPath, RestApi | Action, Function | `#Previous`, `Global`, `Input`, `Logger`, `Parameters` | -| `05-events-and-signals/boundary-event-fanout.bpmn` | гранична подія; паралельний шлюз; ексклюзивний шлюз; повідомлення; тип External; функції: RestApi/GET | Inline, Function | `#Previous`, `Action.BoundaryEvents`, `Input`, `Logger`, `Parameters` | -| `05-events-and-signals/zip-chunks.bpmn` | паралельний шлюз; подієвий шлюз; підпроцес; сигнал; повідомлення; Data Store; кілька екземплярів; тип Native; функції: GetPage, GetPageInfos, SaveVariable | Action, Inline, Function | `#Previous`, `#event`, `DataAssociations`, `Input`, `Logger` | -| `06-streaming-sse/llm-stream.bpmn` | гранична подія; ексклюзивний шлюз; повідомлення; тип Native; тип External; функції: RestApi | Inline, Function | `#Previous`, `Action.BoundaryEvents`, `Input`, `Logger`, `Parameters` | -| `06-streaming-sse/sse-roundtrip.bpmn` | гранична подія; паралельний шлюз; ексклюзивний шлюз; сигнал; повідомлення; тип External; функції: 1, DataResult, RestApi | Action, Inline, Function | `#Previous`, `Action.BoundaryEvents`, `Input`, `Logger`, `Parameters` | -| `07-triggers/http-route-start.bpmn` | виклик іншого Flow; тип Native; тип External | Inline | `#Previous`, `Input`, `Parameters` | -| `08-ai-agents/ai-completions.bpmn` | виклик іншого Flow; тип Native; тип External; функції: AI/Completions | Inline, Function | `Input`, `Logger`, `Parameters`, `WorkflowEnvironment` | -| `08-ai-agents/compile-structured-prompt.bpmn` | тип Native | Inline | `Input`, `Logger`, `Parameters`, `Root`, `WorkflowEnvironment` | +| `01-basics/echo-agent.bpmn` | Native type; External type | Inline | `#Previous`, `Input`, `Logger`, `Parameters`, `WorkflowEnvironment` | +| `01-basics/global-and-jsonpath.bpmn` | boundary event; exclusive gateway; functions: JsonPath, RestApi, SaveVariable | Action, Function | `#Previous`, `Global`, `Input`, `Logger`, `Parameters` | +| `02-error-handling/event-error-routing.bpmn` | boundary event; exclusive gateway; call to another Flow; signal; Native type; functions: HandleException, correctInput, p_ucp_act_Customers_Sync | Action, Inline | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters` | +| `03-config-as-flow/get-config.bpmn` | Native type | Inline | `#Previous`, `Input`, `Logger`, `Parameters`, `WorkflowEnvironment` | +| `03-config-as-flow/send-links-before.bpmn` | boundary event; exclusive gateway; Sub Process; message; Data Store; Multi Instance; Native type; functions: GetLinks, GetPageInfos, RestApi/Download | Action, Inline, Function | `#Previous`, `DataAssociations`, `Input`, `Logger`, `Parameters` | +| `03-config-as-flow/send-links.bpmn` | boundary event; exclusive gateway; Sub Process; call to another Flow; message; Data Store; Multi Instance; Native type; External type; functions: GetLinks, GetPageInfos, RestApi/Download | Action, Inline, Function | `#Previous`, `DataAssociations`, `Input`, `Logger`, `Parameters` | +| `04-pagination/sync-folder-paged.bpmn` | boundary event; exclusive gateway; Sub Process; call to another Flow; Multi Instance; functions: HandleException, JsonPath, RestApi | Action, Function | `#Previous`, `Global`, `Input`, `Logger`, `Parameters` | +| `05-events-and-signals/boundary-event-fanout.bpmn` | boundary event; parallel gateway; exclusive gateway; message; External type; functions: RestApi/GET | Inline, Function | `#Previous`, `Action.BoundaryEvents`, `Input`, `Logger`, `Parameters` | +| `05-events-and-signals/zip-chunks.bpmn` | parallel gateway; event-based gateway; Sub Process; signal; message; Data Store; Multi Instance; Native type; functions: GetPage, GetPageInfos, SaveVariable | Action, Inline, Function | `#Previous`, `#event`, `DataAssociations`, `Input`, `Logger` | +| `06-streaming-sse/llm-stream.bpmn` | boundary event; exclusive gateway; message; Native type; External type; functions: RestApi | Inline, Function | `#Previous`, `Action.BoundaryEvents`, `Input`, `Logger`, `Parameters` | +| `06-streaming-sse/sse-roundtrip.bpmn` | boundary event; parallel gateway; exclusive gateway; signal; message; External type; functions: 1, DataResult, RestApi | Action, Inline, Function | `#Previous`, `Action.BoundaryEvents`, `Input`, `Logger`, `Parameters` | +| `07-triggers/http-route-start.bpmn` | call to another Flow; Native type; External type | Inline | `#Previous`, `Input`, `Parameters` | +| `08-ai-agents/ai-completions.bpmn` | call to another Flow; Native type; External type; functions: AI/Completions | Inline, Function | `Input`, `Logger`, `Parameters`, `WorkflowEnvironment` | +| `08-ai-agents/compile-structured-prompt.bpmn` | Native type | Inline | `Input`, `Logger`, `Parameters`, `Root`, `WorkflowEnvironment` | ### http-stream -Наскрізний приклад із ґайду: потокова відповідь і розсилання подій. +End-to-end example from the guide: a streaming response and event delivery. -| Модель | Що показує | Режими | Задіяні слова | +| Model | What it shows | Modes | Words used | |---|---|---|---| -| `http_stream.bpmn` | гранична подія; ексклюзивний шлюз; повідомлення; тип Native; тип External; функції: RestApi | Inline, Function | `#Previous`, `Action.BoundaryEvents`, `Input`, `Logger`, `Parameters` | +| `http_stream.bpmn` | boundary event; exclusive gateway; message; Native type; External type; functions: RestApi | Inline, Function | `#Previous`, `Action.BoundaryEvents`, `Input`, `Logger`, `Parameters` | ### tmforum-apis -Реалізації відкритих API TM Forum: кожен Flow — одна операція (метод + ресурс) з кешуванням відповіді та обробкою помилок. +Implementations of TM Forum Open APIs: each Flow is one operation (method + resource) with response caching and error handling. -| Модель | Що показує | Режими | Задіяні слова | +| Model | What it shows | Modes | Words used | |---|---|---|---| -| `TMF620_Product_Catalog_Management/TMF620_Get_ProductOffering.bpmn` | гранична подія; паралельний шлюз; ексклюзивний шлюз; тип Native; функції: HandleException, compose_ReadCacheResult, compose_WriteCacheResult | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters` | -| `TMF622_CancelProductOrder/TMF622_Post_CancelProductOrder.bpmn` | гранична подія; тип Native; функції: HandleException, get_Note, p_ucp_del_ProductOrder | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters` | -| `TMF622_Monitor/TMF622_Get_Monitor.bpmn` | гранична подія; ексклюзивний шлюз; тип Native; функції: HandleException, correct_EmptyResult, correct_Request | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters` | -| `TMF622_Product_Ordering/TMF622_Get_ProductOrder.bpmn` | гранична подія; ексклюзивний шлюз; тип Native; функції: HandleException, correct_EmptyResult, correct_Request | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters` | -| `TMF622_Product_Ordering/TMF622_Post_CancelProductOrder.bpmn` | гранична подія; тип Native; функції: HandleException, get_Note, p_ucp_del_ProductOrder | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters` | -| `TMF622_Product_Ordering/TMF622_Post_ProductOrder.bpmn` | гранична подія; тип Native; функції: HandleException, POST_p_ucp_set_ProductOrder, add | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters` | -| `TMF622_Product_Ordering/TMF622_Put_ProductOrder.bpmn` | гранична подія; ексклюзивний шлюз; тип Native; функції: HandleException, PUT_p_ucp_set_ProductOrder, change | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters` | -| `TMF640_Service_Activation_and_Configuration/TMF640_Get_Service.bpmn` | гранична подія; паралельний шлюз; ексклюзивний шлюз; тип Native; функції: HandleException, compose_ReadCacheResult, compose_WriteCacheResult | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters` | -| `TMF640_Service_Activation_and_Configuration/TMF640_Patch_Service.bpmn` | гранична подія; ексклюзивний шлюз; тип Native; функції: HandleException, formResponse, form_CacheId | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters` | -| `TMF640_Service_Activation_and_Configuration/TMF640_Post_Service.bpmn` | гранична подія; тип Native; функції: HandleException, p_ucp_set_ServiceOrder, proceedConfig | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters` | -| `TMF640_Service_Activation_and_Configuration/TMF640_Put_Service.bpmn` | гранична подія; тип Native; функції: HandleException, p_ucp_set_ServiceOrder, proceedConfig | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters` | -| `TMF653_Service_Test_Management/TMF653_POST_ServiceTest.bpmn` | гранична подія; ексклюзивний шлюз; тип Native; функції: HandleException, p_ucp_get_ServiceTest, proceedSessionParameters | Action, Inline | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters` | -| `TMF654_PrepayBalance_Management/GET_AccumulatedBalance.bpmn` | гранична подія; паралельний шлюз; ексклюзивний шлюз; тип Native; функції: HandleException, compose_ReadCacheResult, compose_WriteCacheResult | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters` | -| `TMF654_PrepayBalance_Management/TMF654_GET_AccumulatedBalance.bpmn` | гранична подія; паралельний шлюз; ексклюзивний шлюз; функції: HandleException, compose_ReadCacheResult, compose_WriteCacheResult | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters` | -| `TMF666_Account_Management/TMF666_Get_BillingAccount.bpmn` | гранична подія; паралельний шлюз; ексклюзивний шлюз; тип Native; функції: HandleException, compose_ReadCacheResult, compose_WriteCacheResult | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters` | -| `TMF666_Account_Management/TMF666_Post_BillingAccount.bpmn` | гранична подія; тип Native; функції: HandleException, p_ucp_set_BillingAccount_Dbss, proceedSessionParameters | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters` | -| `TMF666_Account_Management/TMF666_Put_BillingAccount.bpmn` | гранична подія; ексклюзивний шлюз; тип Native; функції: HandleException, formValidationError, p_ucp_set_BillingAccount_Dbss | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters` | -| `TMF677_Usage_Consumption_Management/TMF677_Get_QueryUsageConsumption.bpmn` | гранична подія; ексклюзивний шлюз; функції: HandleException, add_Cache, correct_Result | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters` | -| `TMF677_Usage_Consumption_Management/TMF677_Post_QueryUsageConsumption.bpmn` | гранична подія; ексклюзивний шлюз; тип Native; функції: HandleException, add_Cache_Status, correct_Empty_Result | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters` | -| `TMF678_Customer_Bill_Management/TMF678_BillingCycle.bpmn` | гранична подія; паралельний шлюз; ексклюзивний шлюз; тип Native; функції: HandleException, compose_ReadCacheResult, compose_WriteCacheResult | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters` | -| `TMF678_Customer_Bill_Management/TMF678_Get_AppliedCustomerBillingRate.bpmn` | гранична подія; паралельний шлюз; ексклюзивний шлюз; тип Native; функції: HandleException, compose_ReadCacheResult, compose_WriteCacheResult | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters` | -| `TMF678_Customer_Bill_Management/TMF678_Get_BillingCycle.bpmn` | гранична подія; паралельний шлюз; ексклюзивний шлюз; тип Native; функції: HandleException, compose_ReadCacheResult, compose_WriteCacheResult | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters` | -| `TMF688_Event_Management/TMF688_Delete_Topic.bpmn` | гранична подія; тип Native; функції: HandleException, p_ucp_del_EventTopic, proceedConfig | Action, Inline | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters` | -| `TMF688_Event_Management/TMF688_Get_Hub.bpmn` | гранична подія; паралельний шлюз; ексклюзивний шлюз; тип Native; функції: HandleException, compose_ReadCacheResult, compose_WriteCacheResult | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters` | -| `TMF688_Event_Management/TMF688_Get_Topic.bpmn` | гранична подія; паралельний шлюз; ексклюзивний шлюз; тип Native; функції: HandleException, compose_ReadCacheResult, compose_WriteCacheResult | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters` | -| `TMF688_Event_Management/TMF688_Get_Topic_Event.bpmn` | гранична подія; паралельний шлюз; ексклюзивний шлюз; тип Native; функції: HandleException, compose_ReadCacheResult, compose_WriteCacheResult | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters` | -| `TMF688_Event_Management/TMF688_Post_Topic.bpmn` | гранична подія; тип Native; функції: HandleException, p_ucp_set_EventTopic, proceedSessionParameters | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters` | -| `TMF688_Event_Management/TMF688_Put_Topic.bpmn` | гранична подія; ексклюзивний шлюз; тип Native; функції: HandleException, format_Validation_Error, p_ucp_set_EventTopic | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters` | -| `TMF724_Incident_Management/TMF724_POST_diagnoseIncident.bpmn` | гранична подія; ексклюзивний шлюз; тип Native; функції: RestApi, RestApi/GET, formatException | Action, Inline, Function | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters` | -| `TMF727_Service_Usage_Management/TMF727_Get_ServiceUsage.bpmn` | гранична подія; паралельний шлюз; ексклюзивний шлюз; тип Native; функції: HandleException, compose_ReadCacheResult, compose_WriteCacheResult | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters` | - -## Чого бракує для повного покриття - -Не покрито жодним прикладом: - -- режим ExternalAction - -Покрито одним-двома прикладами, тобто фактично не перевіряється: - -- Подієвий шлюз — 1 -- Проміжна подія-перехоплювач — 2 -- таймер — 1 - +| `TMF620_Product_Catalog_Management/TMF620_Get_ProductOffering.bpmn` | boundary event; parallel gateway; exclusive gateway; Native type; functions: HandleException, compose_ReadCacheResult, compose_WriteCacheResult | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters` | +| `TMF622_CancelProductOrder/TMF622_Post_CancelProductOrder.bpmn` | boundary event; Native type; functions: HandleException, get_Note, p_ucp_del_ProductOrder | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters` | +| `TMF622_Monitor/TMF622_Get_Monitor.bpmn` | boundary event; exclusive gateway; Native type; functions: HandleException, correct_EmptyResult, correct_Request | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters` | +| `TMF622_Product_Ordering/TMF622_Get_ProductOrder.bpmn` | boundary event; exclusive gateway; Native type; functions: HandleException, correct_EmptyResult, correct_Request | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters` | +| `TMF622_Product_Ordering/TMF622_Post_CancelProductOrder.bpmn` | boundary event; Native type; functions: HandleException, get_Note, p_ucp_del_ProductOrder | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters` | +| `TMF622_Product_Ordering/TMF622_Post_ProductOrder.bpmn` | boundary event; Native type; functions: HandleException, POST_p_ucp_set_ProductOrder, add | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters` | +| `TMF622_Product_Ordering/TMF622_Put_ProductOrder.bpmn` | boundary event; exclusive gateway; Native type; functions: HandleException, PUT_p_ucp_set_ProductOrder, change | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters` | +| `TMF640_Service_Activation_and_Configuration/TMF640_Get_Service.bpmn` | boundary event; parallel gateway; exclusive gateway; Native type; functions: HandleException, compose_ReadCacheResult, compose_WriteCacheResult | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters` | +| `TMF640_Service_Activation_and_Configuration/TMF640_Patch_Service.bpmn` | boundary event; exclusive gateway; Native type; functions: HandleException, formResponse, form_CacheId | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters` | +| `TMF640_Service_Activation_and_Configuration/TMF640_Post_Service.bpmn` | boundary event; Native type; functions: HandleException, p_ucp_set_ServiceOrder, proceedConfig | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters` | +| `TMF640_Service_Activation_and_Configuration/TMF640_Put_Service.bpmn` | boundary event; Native type; functions: HandleException, p_ucp_set_ServiceOrder, proceedConfig | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters` | +| `TMF653_Service_Test_Management/TMF653_POST_ServiceTest.bpmn` | boundary event; exclusive gateway; Native type; functions: HandleException, p_ucp_get_ServiceTest, proceedSessionParameters | Action, Inline | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters` | +| `TMF654_PrepayBalance_Management/GET_AccumulatedBalance.bpmn` | boundary event; parallel gateway; exclusive gateway; Native type; functions: HandleException, compose_ReadCacheResult, compose_WriteCacheResult | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters` | +| `TMF654_PrepayBalance_Management/TMF654_GET_AccumulatedBalance.bpmn` | boundary event; parallel gateway; exclusive gateway; functions: HandleException, compose_ReadCacheResult, compose_WriteCacheResult | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters` | +| `TMF666_Account_Management/TMF666_Get_BillingAccount.bpmn` | boundary event; parallel gateway; exclusive gateway; Native type; functions: HandleException, compose_ReadCacheResult, compose_WriteCacheResult | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters` | +| `TMF666_Account_Management/TMF666_Post_BillingAccount.bpmn` | boundary event; Native type; functions: HandleException, p_ucp_set_BillingAccount_Dbss, proceedSessionParameters | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters` | +| `TMF666_Account_Management/TMF666_Put_BillingAccount.bpmn` | boundary event; exclusive gateway; Native type; functions: HandleException, formValidationError, p_ucp_set_BillingAccount_Dbss | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters` | +| `TMF677_Usage_Consumption_Management/TMF677_Get_QueryUsageConsumption.bpmn` | boundary event; exclusive gateway; functions: HandleException, add_Cache, correct_Result | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters` | +| `TMF677_Usage_Consumption_Management/TMF677_Post_QueryUsageConsumption.bpmn` | boundary event; exclusive gateway; Native type; functions: HandleException, add_Cache_Status, correct_Empty_Result | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters` | +| `TMF678_Customer_Bill_Management/TMF678_BillingCycle.bpmn` | boundary event; parallel gateway; exclusive gateway; Native type; functions: HandleException, compose_ReadCacheResult, compose_WriteCacheResult | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters` | +| `TMF678_Customer_Bill_Management/TMF678_Get_AppliedCustomerBillingRate.bpmn` | boundary event; parallel gateway; exclusive gateway; Native type; functions: HandleException, compose_ReadCacheResult, compose_WriteCacheResult | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters` | +| `TMF678_Customer_Bill_Management/TMF678_Get_BillingCycle.bpmn` | boundary event; parallel gateway; exclusive gateway; Native type; functions: HandleException, compose_ReadCacheResult, compose_WriteCacheResult | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters` | +| `TMF688_Event_Management/TMF688_Delete_Topic.bpmn` | boundary event; Native type; functions: HandleException, p_ucp_del_EventTopic, proceedConfig | Action, Inline | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters` | +| `TMF688_Event_Management/TMF688_Get_Hub.bpmn` | boundary event; parallel gateway; exclusive gateway; Native type; functions: HandleException, compose_ReadCacheResult, compose_WriteCacheResult | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters` | +| `TMF688_Event_Management/TMF688_Get_Topic.bpmn` | boundary event; parallel gateway; exclusive gateway; Native type; functions: HandleException, compose_ReadCacheResult, compose_WriteCacheResult | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters` | +| `TMF688_Event_Management/TMF688_Get_Topic_Event.bpmn` | boundary event; parallel gateway; exclusive gateway; Native type; functions: HandleException, compose_ReadCacheResult, compose_WriteCacheResult | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters` | +| `TMF688_Event_Management/TMF688_Post_Topic.bpmn` | boundary event; Native type; functions: HandleException, p_ucp_set_EventTopic, proceedSessionParameters | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters` | +| `TMF688_Event_Management/TMF688_Put_Topic.bpmn` | boundary event; exclusive gateway; Native type; functions: HandleException, format_Validation_Error, p_ucp_set_EventTopic | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters` | +| `TMF724_Incident_Management/TMF724_POST_diagnoseIncident.bpmn` | boundary event; exclusive gateway; Native type; functions: RestApi, RestApi/GET, formatException | Action, Inline, Function | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters` | +| `TMF727_Service_Usage_Management/TMF727_Get_ServiceUsage.bpmn` | boundary event; parallel gateway; exclusive gateway; Native type; functions: HandleException, compose_ReadCacheResult, compose_WriteCacheResult | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters` | + +## What is missing for full coverage + +Not covered by any example: + +- the ExternalAction mode + +Covered by one or two examples, which means it is effectively untested: + +- Event-based gateway — 1 +- Intermediate catch event — 2 +- timer — 1 diff --git a/flow-patterns/01-basics/README.md b/flow-patterns/01-basics/README.md index efdff38..fc19ede 100644 --- a/flow-patterns/01-basics/README.md +++ b/flow-patterns/01-basics/README.md @@ -1,34 +1,35 @@ -# 01 · Основи: конвеєр даних +# 01 · Basics: the data pipeline -Найменші робочі Flow. Тут видно, як дані входять у процес, проходять елементами й виходять — без черг, файлів і паралельності. +The smallest working Flows. They show how data enters a process, passes through the elements, and leaves — with no queues, files, or parallelism. -## Коли застосовувати +## When to use -Перший Flow. Або коли треба згадати, звідки береться `#Previous` і чим `Global` відрізняється від `Parameters`. +Your first Flow. Or when you need to recall where `#Previous` comes from and how `Global` differs from `Parameters`. -## Файли +## Files -| Файл | Що показує | +| File | What it shows | |---|---| -| `echo-agent.bpmn` | мінімальний конвеєр: старт → задача → кінець; типізація входу й виходу одним типом | -| `global-and-jsonpath.bpmn` | `JsonPath` витягає значення з відповіді, `SaveVariable` кладе його в `Global`, наступні кроки читають | +| `echo-agent.bpmn` | a minimal pipeline: start → task → end; input and output typed with the same type | +| `global-and-jsonpath.bpmn` | `JsonPath` extracts a value from the response, `SaveVariable` puts it into `Global`, and the following steps read it | -## Задіяні функції платформи +## Platform functions used `JsonPath` · `SaveVariable` · `RestApi` -## Зарезервовані слова +## Reserved words `Input` · `#Previous` · `Parameters` · `Global` · `Logger` -## На що звернути увагу +## What to watch out for -- `SaveVariable` пише **у `Global`**, а не в `Parameters`. Читати потім — - `Global.<ім'я>`, і воно доступне до кінця виконання процесу. -- `Global` — динамічний: помилку в імені компілятор не побачить, вона вилізе на - виконанні. Іменуйте змінні один раз і однаково. -- У `echo-agent` вхід і вихід — той самий тип. Це нормально для ехо, але в - реальному процесі кожен крок зазвичай має свій (див. TYPE-DESIGN §3.1). +- `SaveVariable` writes **to `Global`**, not to `Parameters`. To read it later, + use `Global.`; it stays available until the process run ends. +- `Global` is dynamic: the compiler will not see a mistake in a name, it will + surface at run time. Name your variables once and name them consistently. +- In `echo-agent` the input and the output are the same type. That is fine for + an echo, but in a real process each step usually has its own (see + TYPE-DESIGN §3.1). --- -Про типи даних у цих прикладах — [TYPE-DESIGN.md](../TYPE-DESIGN.md). +For the data types in these examples, see [TYPE-DESIGN.md](../TYPE-DESIGN.md). diff --git a/flow-patterns/02-error-handling/README.md b/flow-patterns/02-error-handling/README.md index 4c3de16..840b850 100644 --- a/flow-patterns/02-error-handling/README.md +++ b/flow-patterns/02-error-handling/README.md @@ -1,35 +1,35 @@ -# 02 · Помилки як окремий шлях +# 02 · Errors as a separate path -Помилка тут не зупиняє процес мовчки — вона стає гілкою схеми з власним результатом і власним HTTP-кодом. +Here an error does not stop the process silently — it becomes a branch of the diagram with its own result and its own HTTP code. -## Коли застосовувати +## When to use -Будь-який Flow, що ходить у зовнішню систему. Тобто майже будь-який. +Any Flow that calls an external system. That is, almost any Flow. -## Файли +## Files -| Файл | Що показує | +| File | What it shows | |---|---| -| `event-error-routing.bpmn` | гранична подія помилки на двох задачах → спільний обробник → окрема кінцева подія з кодом 500 | +| `event-error-routing.bpmn` | an error boundary event on two tasks → a shared handler → a separate end event with code 500 | -## Задіяні функції платформи +## Platform functions used -— (усе на Code Action та Expression) +— (everything is done with Code Action and Expression) -## Зарезервовані слова +## Reserved words `#PreviousData` · `PassingResult` · `WorkflowEnvironment.RuntimeName` · `WorkflowEnvironment.Variables["StatusCode"]` -## На що звернути увагу +## What to watch out for -- Обробник приймає `#PreviousData`, а не `#Previous`: йому потрібен не - результат, а обгортка з полем `Exception`. -- Один обробник на кілька задач — нормальна практика: до нього ведуть кілька - вхідних потоків. -- `WorkflowEnvironment.RuntimeName` розрізняє режим (`UCP` / `Plugin`) — код - відповіді ставиться по-різному. -- Кінцева подія має власний `EndSignalRoute` з кодом; без нього клієнт отримає 200 - на помилку. +- The handler takes `#PreviousData`, not `#Previous`: it needs the wrapper with + the `Exception` field, not the result. +- One handler for several tasks is normal practice: several incoming flows lead + into it. +- `WorkflowEnvironment.RuntimeName` tells the mode apart (`UCP` / `Plugin`) — + the response code is set differently in each. +- The end event has its own `EndSignalRoute` with a code; without it the client + gets 200 for an error. --- -Про типи даних у цих прикладах — [TYPE-DESIGN.md](../TYPE-DESIGN.md). +For the data types in these examples, see [TYPE-DESIGN.md](../TYPE-DESIGN.md). diff --git a/flow-patterns/03-config-as-flow/README.md b/flow-patterns/03-config-as-flow/README.md index 877e7f9..2f63bdc 100644 --- a/flow-patterns/03-config-as-flow/README.md +++ b/flow-patterns/03-config-as-flow/README.md @@ -1,39 +1,39 @@ -# 03 · Конфігурація окремим Flow +# 03 · Configuration as a separate Flow -Рядки підключення, адреси й пошта не місце в моделі процесу. Тут показано, як винести їх у окремий Flow і підключити через Call Activity — і як виглядав той самий процес до рефакторингу. +Connection strings, addresses, and mail settings do not belong in the process model. This group shows how to move them into a separate Flow and plug it in through a Call Activity — and what the same process looked like before the refactoring. -## Коли застосовувати +## When to use -Щойно у Flow з'явився бодай один рядок підключення або адреса стенду. +As soon as a Flow contains even one connection string or stand address. -## Файли +## Files -| Файл | Що показує | +| File | What it shows | |---|---| -| `get-config.bpmn` | цільовий Flow конфігурації: три елементи, повертає типізований об'єкт | -| `send-links.bpmn` | споживач: Call Activity → `Parse Config` → усе решта бере значення з `Root.Parameters.config` | -| `send-links-before.bpmn` | **як було**: рядок підключення в моделі, ручний `HttpClient`, зашита адреса пошти | +| `get-config.bpmn` | the target configuration Flow: three elements, returns a typed object | +| `send-links.bpmn` | the consumer: Call Activity → `Parse Config` → everything else takes its values from `Root.Parameters.config` | +| `send-links-before.bpmn` | **how it was**: the connection string in the model, a hand-written `HttpClient`, a hard-coded mail address | -## Задіяні функції платформи +## Platform functions used `RestApi/Download` -## Зарезервовані слова +## Reserved words `Root.Parameters` · `#Previous` · `Input` · `DataAssociations` -## На що звернути увагу +## What to watch out for -- Порівняйте `send-links-before` і `send-links` поруч — це та сама задача - до і після винесення конфігурації. -- Тип конфігурації оголошують **обидві** сторони: у `get-config` як власний, - у `send-links` як зовнішній (`types://external/…`). -- `Root.Parameters` — саме `Root`, бо значення читаються з підпроцесів; звичайне - `Parameters` у підпроцесі вкаже на його власні. -- Посилання на зовнішній Flow має **два формати**: мнемонічний - (`activities://bpmn-mnemo////#latest`) і числовий - (`activities://bpmn////`). Перший читабельний, - другий закріплює конкретну версію. +- Compare `send-links-before` and `send-links` side by side — it is the same + task before and after the configuration was moved out. +- The configuration type is declared by **both** sides: in `get-config` as its + own, in `send-links` as external (`types://external/…`). +- `Root.Parameters` — `Root` specifically, because the values are read from sub + processes; a plain `Parameters` inside a Sub Process points at its own. +- A reference to an external Flow has **two forms**: mnemonic + (`activities://bpmn-mnemo////#latest`) and numeric + (`activities://bpmn////`). The first is + readable, the second pins a specific version. --- -Про типи даних у цих прикладах — [TYPE-DESIGN.md](../TYPE-DESIGN.md). +For the data types in these examples, see [TYPE-DESIGN.md](../TYPE-DESIGN.md). diff --git a/flow-patterns/04-pagination/README.md b/flow-patterns/04-pagination/README.md index 0b93e7e..377e411 100644 --- a/flow-patterns/04-pagination/README.md +++ b/flow-patterns/04-pagination/README.md @@ -1,32 +1,34 @@ -# 04 · Пагінація великих вибірок +# 04 · Paginating large result sets -Коли даних більше, ніж влізає в одну відповідь: список сторінок готується окремим кроком, кожна обробляється підпроцесом. +When there is more data than fits into one response: the list of pages is prepared by a separate step, and each page is handled by a Sub Process. -## Коли застосовувати +## When to use -Вибірка, яка не поміщається в один запит, або обробка набору файлів. +A result set that does not fit into a single request, or the processing of a set of files. -## Файли +## Files -| Файл | Що показує | +| File | What it shows | |---|---| -| `sync-folder-paged.bpmn` | підпроцес із Multi Instance, `PackSize`, вкладені Call Activity | +| `sync-folder-paged.bpmn` | a Sub Process with Multi Instance, `PackSize`, nested Call Activities | -## Задіяні функції платформи +## Platform functions used `RestApi` · `JsonPath` -## Зарезервовані слова +## Reserved words -`Input` (елемент набору) · `Transition.Counter` · `PackSize` +`Input` (an element of the set) · `Transition.Counter` · `PackSize` -## На що звернути увагу +## What to watch out for -- Підпроцес із Multi Instance отримує в `Input` **один елемент** набору, - а не весь набір. Якщо він виконався один раз — на елементі даних забули `[]`. -- `PackSize` задає розмір пакета; послідовний режим (горизонтальні смуги) проти - паралельного (вертикальні) — це властивість підпроцесу, не коду. -- Лічильник проходів — `Transition.Counter` (він же `#PassCounter`). +- A Sub Process with Multi Instance receives **one element** of the set in + `Input`, not the whole set. If it ran only once, the `[]` was forgotten on the + data element. +- `PackSize` sets the pack size; sequential mode (horizontal bars) versus + parallel mode (vertical bars) is a property of the Sub Process, not of the + code. +- The pass counter is `Transition.Counter` (also known as `#PassCounter`). --- -Про типи даних у цих прикладах — [TYPE-DESIGN.md](../TYPE-DESIGN.md). +For the data types in these examples, see [TYPE-DESIGN.md](../TYPE-DESIGN.md). diff --git a/flow-patterns/05-events-and-signals/README.md b/flow-patterns/05-events-and-signals/README.md index 68de177..d8b057f 100644 --- a/flow-patterns/05-events-and-signals/README.md +++ b/flow-patterns/05-events-and-signals/README.md @@ -1,37 +1,38 @@ -# 05 · Події та сигнали +# 05 · Events and signals -Дві різні речі, які легко переплутати: **сигнал** чують усі, хто на нього підписаний; **повідомлення** йде одному адресату. І окремо — як підняти подію з коду. +Two different things that are easy to confuse: a **signal** is heard by everyone subscribed to it; a **message** goes to a single recipient. And, separately, how to raise an event from code. -## Коли застосовувати +## When to use -Складання результату з частин, координація паралельних гілок, «продовжити, коли надійде». +Assembling a result from parts, coordinating parallel branches, "continue when it arrives". -## Файли +## Files -| Файл | Що показує | +| File | What it shows | |---|---| -| `zip-chunks.bpmn` | паралельний шлюз fork/join, сигнал `AllPagesCompleted` проти повідомлення `PageNCompleted`, event-based gateway у циклі очікування, упорядкування частин | -| `boundary-event-fanout.bpmn` | **`Action.BoundaryEvents["…"].Raise(payload)`** — виклик граничної події з коду; неперериваюча гранична подія | +| `zip-chunks.bpmn` | parallel gateway fork/join, signal `AllPagesCompleted` versus message `PageNCompleted`, event-based gateway in a wait loop, ordering of the parts | +| `boundary-event-fanout.bpmn` | **`Action.BoundaryEvents["…"].Raise(payload)`** — raising a boundary event from code; non-interrupting boundary event | -## Задіяні функції платформи +## Platform functions used `RestApi/GET` -## Зарезервовані слова +## Reserved words -**`Action.BoundaryEvents[].Raise()`** · `#event.Data` · `#Previous["ім'я-вузла"]` · `Parameters.Clone()` · `Transition` +**`Action.BoundaryEvents[].Raise()`** · `#event.Data` · `#Previous["node-name"]` · `Parameters.Clone()` · `Transition` -## На що звернути увагу +## What to watch for -- **`Action.BoundaryEvents["Event_X"].Raise(x)`** — головне з цієї групи: - так із коду задачі піднімається прикріплена до неї гранична подія. Ім'я в - дужках — це `id` події на схемі. -- Гранична подія з `cancelActivity="false"` **не перериває** задачу: та працює - далі, а гілка події йде паралельно. Саме це потрібно для розсилки. -- Після паралельного шлюзу `#Previous` — словник. Звертайтеся - `#Previous["ім'я-вузла"]`, інакше отримаєте словник замість об'єкта. -- `Parameters.Clone()` дає гілці власну копію стану — без цього дві гілки - писатимуть в одне. +- **`Action.BoundaryEvents["Event_X"].Raise(x)`** — the main point of this group: + this is how the code of a task raises the boundary event attached to it. The name + in brackets is the `id` of the event in the diagram. +- A boundary event with `cancelActivity="false"` does **not** interrupt the task: the + task keeps running and the event branch runs in parallel. That is exactly what a + fan-out needs. +- After a parallel gateway, `#Previous` is a dictionary. Address it as + `#Previous["node-name"]`, otherwise you get the dictionary instead of the object. +- `Parameters.Clone()` gives a branch its own copy of the state; without it, two + branches write into the same one. --- -Про типи даних у цих прикладах — [TYPE-DESIGN.md](../TYPE-DESIGN.md). +For the data types in these examples, see [TYPE-DESIGN.md](../TYPE-DESIGN.md). diff --git a/flow-patterns/06-streaming-sse/README.md b/flow-patterns/06-streaming-sse/README.md index 509c257..c5e4ad8 100644 --- a/flow-patterns/06-streaming-sse/README.md +++ b/flow-patterns/06-streaming-sse/README.md @@ -1,35 +1,35 @@ -# 06 · Потокові відповіді та SSE +# 06 · Streaming responses and SSE -Читання відповіді, яка приходить порціями, і негайна розсилка кожної порції клієнтам. +Reading a response that arrives in chunks, and sending each chunk out to clients immediately. -## Коли застосовувати +## When to use -LLM-стрім, Server-Sent Events, будь-яка довга відповідь, яку не можна чекати цілком. +LLM streaming, Server-Sent Events, any long response that cannot be waited for in full. -## Файли +## Files -| Файл | Що показує | +| File | What it shows | |---|---| -| `llm-stream.bpmn` | розгалуження «стрім / не стрім» за `Content-Type`, побудовне читання, стоп-прапорець | -| `sse-roundtrip.bpmn` | повний цикл: підписка, надсилання, приймання, перевірка отриманого | +| `llm-stream.bpmn` | branching on "stream / no stream" by `Content-Type`, line-by-line reading, stop flag | +| `sse-roundtrip.bpmn` | the full cycle: subscribe, send, receive, verify what was received | -## Задіяні функції платформи +## Platform functions used `RestApi` · `RestApi/GET` -## Зарезервовані слова +## Reserved words `#Previous.Reader` · `#Previous.IsStreamResponse` · `#Previous.StatusCode` · `#Previous.Headers[…]` · `Action.BoundaryEvents[].Raise()` · `Parameters` -## На що звернути увагу +## What to watch for -- `#Previous.Reader.ReadLine()` читає рядок; наприкінці обов'язково - `.Dispose()`, інакше з'єднання лишиться відкритим. -- Умова гілки перевіряє `Content-Type`. Якщо сервіс додає `charset`, жорстка - рівність не спрацює — перевіряйте входження. -- Зупинка читання — через параметр-прапорець, який ставить обробник порції. -- Розсилка йде через `ThrowMessageEvent` з `tsk_ProcessName: "Server-side events"`; - для нього потрібна підключена бібліотека `Platform`. +- `#Previous.Reader.ReadLine()` reads one line; at the end always call + `.Dispose()`, otherwise the connection stays open. +- The branch condition checks `Content-Type`. If the service adds `charset`, a + strict equality test will not match — check for containment instead. +- Reading is stopped through a flag parameter that the chunk handler sets. +- Delivery goes through `ThrowMessageEvent` with `tsk_ProcessName: "Server-side events"`; + it requires the `Platform` library to be linked. --- -Про типи даних у цих прикладах — [TYPE-DESIGN.md](../TYPE-DESIGN.md). +For the data types in these examples, see [TYPE-DESIGN.md](../TYPE-DESIGN.md). diff --git a/flow-patterns/07-triggers/README.md b/flow-patterns/07-triggers/README.md index 534188c..34abce6 100644 --- a/flow-patterns/07-triggers/README.md +++ b/flow-patterns/07-triggers/README.md @@ -1,33 +1,33 @@ -# 07 · Чим запускається процес +# 07 · What starts a process -Той самий Flow можна запустити HTTP-запитом, повідомленням із черги або вручну. Це властивість стартової події, а не окремий вид процесу. +The same Flow can be started by an HTTP request, by a message from a queue, or by hand. This is a property of the start event, not a separate kind of process. -## Коли застосовувати +## When to use -Проєктування точки входу: маршрут, черга, розклад. +Designing the entry point: route, queue, schedule. -## Файли +## Files -| Файл | Що показує | +| File | What it shows | |---|---| -| `http-route-start.bpmn` | стартова подія з HTTP-маршрутом: метод і шлях задаються прямо на ній | +| `http-route-start.bpmn` | start event with an HTTP route: the method and the path are set directly on it | -## Задіяні функції платформи +## Platform functions used -`AI/Completions` (через Call Activity) +`AI/Completions` (through a Call Activity) -## Зарезервовані слова +## Reserved words `Input` · `#Previous` -## На що звернути увагу +## What to watch for -- HTTP-маршрут задається на стартовій події (`StartSignalRoute`): метод + - route. Схема від цього не змінюється — змінюється спосіб виклику. -- Запуск із черги — сигнальна стартова подія з описом джерела (топік, фільтр, - режим `run` / `debug` / `async`); приклад є в `02-error-handling`. -- `DebugParamas` — дані для кнопки Debug; `ExecuteParamas` — для Execute. Це - різні набори, і обидва лишаються у файлі, тож у них не має бути реальних даних. +- The HTTP route is set on the start event (`StartSignalRoute`): method + + route. The diagram does not change because of it — what changes is the way it is called. +- Starting from a queue is a signal start event with a description of the source (topic, + filter, mode `run` / `debug` / `async`); there is an example in `02-error-handling`. +- `DebugParamas` is the data for the Debug button; `ExecuteParamas` is for Execute. These + are different sets, and both stay in the file, so they must hold no real data. --- -Про типи даних у цих прикладах — [TYPE-DESIGN.md](../TYPE-DESIGN.md). +For the data types in these examples, see [TYPE-DESIGN.md](../TYPE-DESIGN.md). diff --git a/flow-patterns/08-ai-agents/README.md b/flow-patterns/08-ai-agents/README.md index 752454e..5dae53a 100644 --- a/flow-patterns/08-ai-agents/README.md +++ b/flow-patterns/08-ai-agents/README.md @@ -1,37 +1,38 @@ -# 08 · Агентні сценарії +# 08 · Agent scenarios -Виклик мовної моделі й підготовка структурованого запиту до неї. +Calling a language model, and preparing a Structured Prompt for it. -## Коли застосовувати +## When to use -LLM у процесі; складання запиту з шаблону й даних. +An LLM inside a process; assembling a prompt from a template and data. -## Файли +## Files -| Файл | Що показує | +| File | What it shows | |---|---| -| `compile-structured-prompt.bpmn` | **чиста логіка**: сім кроків Expression, жодної функції й жодного сховища — робота з JSON, шаблонами та підстановкою | -| `ai-completions.bpmn` | виклик `AI/Completions`, два Call Activity з різними форматами посилання | +| `compile-structured-prompt.bpmn` | **pure logic**: seven Expression steps, no functions and no storage — working with JSON, templates and substitution | +| `ai-completions.bpmn` | a call to `AI/Completions`, two Call Activity nodes with different reference formats | -## Задіяні функції платформи +## Platform functions used `AI/Completions` -## Зарезервовані слова +## Reserved words -`Parameters` як накопичувач · `#Previous` · `Logger` +`Parameters` as an accumulator · `#Previous` · `Logger` -## На що звернути увагу +## What to watch for -- `compile-structured-prompt` — найкращий приклад для розділу про типи: - видно, як `Parameters.result` накопичує результат через сім кроків, а - `new JSON(x).JsonPath(expr)` дістає значення з довільної структури. -- Помилки тут — це `throw` з кодом (`template_not_found`, - `structured_prompt_not_declared`). Код помилки — частина контракту, не текст - для людини. -- Блок `Functions` у файлі — **знімок** сигнатури на момент збереження, а не - контракт. Контракт визначає платформа: під час компіляції сигнатура береться - з неї. Якщо приклад не збирається — перезбережіть його в поточному Designer. +- `compile-structured-prompt` is the best example for the section on types: + it shows how `Parameters.result` accumulates the result across seven steps, and how + `new JSON(x).JsonPath(expr)` takes a value out of an arbitrary structure. +- Errors here are a `throw` with a code (`template_not_found`, + `structured_prompt_not_declared`). The error code is part of the contract, not text + for a human to read. +- The `Functions` block in the file is a **snapshot** of the signature at the moment of + saving, not a contract. The contract is defined by the platform: at compile time the + signature is taken from there. If an example does not build, save it again in the + current designer. --- -Про типи даних у цих прикладах — [TYPE-DESIGN.md](../TYPE-DESIGN.md). +For the data types in these examples, see [TYPE-DESIGN.md](../TYPE-DESIGN.md). diff --git a/flow-patterns/README.md b/flow-patterns/README.md index 7ed3439..e5e1634 100644 --- a/flow-patterns/README.md +++ b/flow-patterns/README.md @@ -1,24 +1,50 @@ # Flow patterns -Приклади BPMN Flow для платформи MEF.DEV, згруповані за задачею, яку вони -розв'язують. Кожна група самодостатня: відкривайте ту, що відповідає вашій -ситуації. +BPMN Flow examples for the MEF.DEV platform, grouped by the problem they +solve. Each group is self-contained: open the one that matches your +situation. -Усі приклади знеособлені: адреси мають вигляд `http://servername:port/resource`, -паролі порожні, рядки підключення читаються з конфігурації. Перед запуском -підставте свої значення. +All examples are anonymized: addresses look like `http://servername:port/resource`, +passwords are empty, and connection strings are read from configuration. Substitute +your own values before running them. -| Група | Про що | Ключове | +| Group | About | Key | |---|---|---| -| [01 · Основи](01-basics/) | конвеєр даних від входу до виходу | `#Previous`, `Global` | -| [02 · Помилки](02-error-handling/) | помилка як окрема гілка схеми | `#PreviousData`, `StatusCode` | -| [03 · Конфігурація](03-config-as-flow/) | винесення налаштувань у окремий Flow | `Root.Parameters` | -| [04 · Пагінація](04-pagination/) | великі вибірки й набори файлів | Multi Instance, `PackSize` | -| [05 · Події](05-events-and-signals/) | сигнал проти повідомлення; подія з коду | `Action.BoundaryEvents[].Raise()` | -| [06 · Потоки](06-streaming-sse/) | стрімові відповіді та SSE | `#Previous.Reader` | -| [07 · Тригери](07-triggers/) | чим запускається процес | `StartSignalRoute` | -| [08 · Агенти](08-ai-agents/) | LLM і структуровані запити | `AI/Completions` | - -**Перед першим Flow** прочитайте [TYPE-DESIGN.md](TYPE-DESIGN.md) — про те, як -проєктувати типи даних. Більшість помилок, які виглядають як збій платформи, — -це пропущений крок проєктування типів. +| [01 · Basics](01-basics/) | the data pipeline from input to output | `#Previous`, `Global` | +| [02 · Errors](02-error-handling/) | an error as a separate branch of the diagram | `#PreviousData`, `StatusCode` | +| [03 · Configuration](03-config-as-flow/) | moving settings into a separate Flow | `Root.Parameters` | +| [04 · Pagination](04-pagination/) | large result sets and sets of files | Multi Instance, `PackSize` | +| [05 · Events](05-events-and-signals/) | signal versus message; an event raised from code | `Action.BoundaryEvents[].Raise()` | +| [06 · Streaming](06-streaming-sse/) | streaming responses and SSE | `#Previous.Reader` | +| [07 · Triggers](07-triggers/) | what starts a process | `StartSignalRoute` | +| [08 · Agents](08-ai-agents/) | LLMs and structured prompts | `AI/Completions` | + +**Before your first Flow**, read [TYPE-DESIGN.md](TYPE-DESIGN.md) — on how to +design data types. Most errors that look like a platform failure are a skipped +type design step. + +## Companion Flows + +A Flow takes its settings from a separate configuration Flow, reached through a +Call Activity (`activities://bpmn-mnemo////#latest`), +and it declares the shared types of that Flow as external +(`types://external//`). The indirection is deliberate: it is what keeps +a model independent of the environment it runs in, and what keeps one declaration +of a type instead of a copy inside every Flow that touches it. + +The consequence for you: an example that references a companion Flow will not +compile until that companion exists in the target library, under the name the +reference uses. Import the companion first. + +| Example | Import first | +|---|---| +| `03-config-as-flow/send-links.bpmn` | `03-config-as-flow/get-config.bpmn`, named `test-config` | +| `01-basics/echo-agent.bpmn` | `ama_base_agent` | +| `02-error-handling/event-error-routing.bpmn` | `EVENT_BankFeed_Sync_config` | +| `04-pagination/sync-folder-paged.bpmn` | `sharepoint-get-folders` | +| `08-ai-agents/ai-completions.bpmn` | `Create_Config_Yiz_Http` | +| `06-streaming-sse/sse-roundtrip.bpmn` | a Kafka configuration named `eventHub-operator` on the stand | + +Only the first companion ships with this repository; the others belong to the +environment you import into. Every other example in the table of contents above +compiles on its own. diff --git a/flow-patterns/TYPE-DESIGN.md b/flow-patterns/TYPE-DESIGN.md index e01b4d4..17b9e6b 100644 --- a/flow-patterns/TYPE-DESIGN.md +++ b/flow-patterns/TYPE-DESIGN.md @@ -1,191 +1,196 @@ -# Дизайн типів у BPMN Flow +# Type design in BPMN Flow -Цей розділ — не про C#. Він про те, **як спроєктувати дані вашого процесу**, щоб -схема лишалася читабельною, а помилки не з'являлися посеред виконання. +This section is not about C#. It is about **how to design the data of your +process** so that the diagram stays readable and errors do not appear in the +middle of a run. -Читати варто перед тим, як малювати перший елемент: тип, обраний на початку, -визначає, скільки коду доведеться написати далі. +Read it before you draw the first element: the type chosen at the start +determines how much code you will have to write later. --- -## 1. Чому це взагалі проблема +## 1. Why this is a problem at all -Кожен елемент схеми отримує дані від попереднього і віддає далі свої. Платформа -не питає щоразу «якого це типу» — вона визначає тип **один раз, під час -компіляції**, з того, що ви оголосили в редакторі типів і в параметрах. +Every element of the diagram receives data from the previous one and passes its +own data on. The platform does not ask "what type is this" every time — it +determines the type **once, at compile time**, from what you declared in the type +editor and in the parameters. -Звідси правило, яке пояснює майже всі помилки новачків: +Hence the rule that explains almost every beginner's error: -> Якщо ви не сказали, який тип іде конвеєром, платформа працює з ним як із -> «чимось» (`object` / `Json`). Це компілюється, але падає при першій спробі -> звернутися до поля. +> If you have not said which type travels along the pipeline, the platform works +> with it as "something" (`object` / `Json`). That compiles, but it fails on the +> first attempt to access a field. -Три типові симптоми: +Three typical symptoms: -| Що бачить автор | Що насправді сталося | +| What the author sees | What actually happened | |---|---| -| `Cannot access property 'id' of object` | конвеєром іде нетипізований `object` | -| `Unable to cast object of type 'JObject' to …` | дані прийшли як JSON, а код чекає клас | -| `Object reference not set to an instance` | поле є в схемі, але у вхідних даних його не було | +| `Cannot access property 'id' of object` | an untyped `object` travels along the pipeline | +| `Unable to cast object of type 'JObject' to …` | the data arrived as JSON, but the code expects a class | +| `Object reference not set to an instance` | the field is in the schema, but it was absent from the input data | -Усі три — не «баг платформи», а **пропущений крок проєктування типів**. +None of the three is a "platform bug"; each is a **skipped type design step**. --- -## 2. Чотири способи оголосити тип — і коли який +## 2. Four ways to declare a type — and when to use which -У редакторі **Types** тип задається одним із чотирьох способів. Вони не -рівноцінні: кожен має свою зону застосування. +In the **Types** editor a type is defined in one of four ways. They are not +equivalent: each has its own area of use. -| Спосіб | Як виглядає | Коли брати | +| Way | What it looks like | When to use it | |---|---|---| -| **JSON Schema** | `{"$schema": "http://json-schema.org/draft-06/schema#", …}` | контракт із зовнішнім світом: вхід процесу, тіло REST-відповіді, повідомлення черги | -| **C#-клас** | `public class PageInfo { public int StartIndex {get;set;} … }` | внутрішня структура процесу, яку ніхто ззовні не бачить | -| **Зовнішній тип** | `types://external//` | тип, який уже оголошений в іншому Flow або бібліотеці — щоб не дублювати | -| **Платформний тип** | `types://core/System.Exception` | системні типи | +| **JSON Schema** | `{"$schema": "http://json-schema.org/draft-06/schema#", …}` | a contract with the outside world: process input, REST response body, queue message | +| **C# class** | `public class PageInfo { public int StartIndex {get;set;} … }` | an internal structure of the process that nobody outside sees | +| **External type** | `types://external//` | a type already declared in another Flow or library — so as not to duplicate it | +| **Platform type** | `types://core/System.Exception` | system types | -**Практичне правило.** Межа процесу — JSON Schema. Усе, що живе всередині і не -перетинає межу, — C#-клас: він коротший, читабельніший і дає підказки в редакторі. +**Rule of thumb.** The process boundary is JSON Schema. Everything that lives +inside and does not cross the boundary is a C# class: it is shorter, more +readable, and gives hints in the editor. ``` - ┌──────────── межа процесу ────────────┐ -JSON → │ клас → клас → клас → клас │ → JSON -Schema │ (внутрішня кухня) │ Schema - └──────────────────────────────────────┘ + ┌──────────── process boundary ────────────┐ +JSON → │ class → class → class → class │ → JSON +Schema │ (internal workings) │ Schema + └──────────────────────────────────────────┘ ``` --- -## 3. Сім рекомендацій щодо дизайну типів +## 3. Seven recommendations on type design -### 3.1 Один крок — один тип +### 3.1 One step — one type -Не робіть «універсальний» об'єкт, який тягнеться через увесь процес і в якому -половина полів порожня на кожному кроці. Хай кожен крок має свій вхід і свій -вихід — схема тоді читається без коментарів. +Do not build a "universal" object that is dragged through the whole process and +half of whose fields are empty at every step. Let every step have its own input +and its own output — the diagram then reads without comments. -Погано: `ProcessData` з 20 полями, з них на кожному кроці заповнені 3. -Добре: `PageInfo` → `FileLinkInfo[]` → `EmailBody`. +Bad: `ProcessData` with 20 fields, of which 3 are filled in at each step. +Good: `PageInfo` → `FileLinkInfo[]` → `EmailBody`. -### 3.2 Накопичувач — це параметр, а не результат кроку +### 3.2 An accumulator is a parameter, not the result of a step -Якщо треба збирати результат по шматках, заведіть **параметр** процесу потрібного -типу і доповнюйте його, а конвеєром пускайте те, що справді потрібне наступному -кроку. +If you need to collect a result piece by piece, declare a process **parameter** +of the required type and add to it, and send along the pipeline what the next +step actually needs. ``` -Parameters.result.structuredPrompt = template; // накопичуємо -return Parameters.result; // і віддаємо далі +Parameters.result.structuredPrompt = template; // accumulate +return Parameters.result; // and pass it on ``` -Так зроблено в `08-ai-agents/compile-structured-prompt.bpmn`: сім кроків -поспіль доповнюють один `CompilationResult`. +That is how `08-ai-agents/compile-structured-prompt.bpmn` is built: seven steps +in a row add to a single `CompilationResult`. -### 3.3 Колекція — це тип із `[]`, а не «масив чогось» +### 3.3 A collection is a type with `[]`, not "an array of something" -Якщо елемент даних називається `FileLinkInfo[]`, платформа знає, що це набір, і -підпроцес із Multi Instance отримає **один елемент** у `Input`, а не весь масив. -Забути `[]` — найчастіша причина «чому мій цикл виконався один раз». +If a data element is named `FileLinkInfo[]`, the platform knows it is a set, and +a Sub Process with Multi Instance will receive **one element** in `Input`, not +the whole array. Forgetting the `[]` is the most common reason for "why did my +loop run only once". -### 3.4 Не змішуйте JSON і клас на одному кроці +### 3.4 Do not mix JSON and a class in one step -Якщо на вхід приходить JSON, а далі потрібен клас — зробіть **окремий крок -перетворення** і назвіть його чесно (`Parse Config`, `Json Convert`). Не ховайте -перетворення всередині кроку, який робить щось інше: коли воно впаде, ви шукатимете -помилку не там. +If JSON arrives at the input and a class is needed further on, make a +**separate conversion step** and name it honestly (`Parse Config`, +`Json Convert`). Do not hide the conversion inside a step that does something +else: when it fails, you will look for the error in the wrong place. ``` -var cfg = ((JSON)#Previous).Cast(); // окремий крок +var cfg = ((JSON)#Previous).Cast(); // a separate step Parameters.config = cfg; return cfg; ``` -### 3.5 Зовнішній тип оголошують обидві сторони +### 3.5 An external type is declared by both sides -Якщо Flow A викликає Flow B і передає об'єкт, тип має бути оголошений -**в обох** — у B як власний, у A як зовнішній -(`types://external//`). Інакше A отримає назад `object`, і -звернення до полів впаде вже на виконанні. +If Flow A calls Flow B and passes an object, the type has to be declared **in +both** — in B as its own, in A as external +(`types://external//`). Otherwise A gets an `object` back, and +field access will fail at run time. -### 3.6 Необов'язкове поле позначайте явно +### 3.6 Mark an optional field explicitly -У JSON Schema — через відсутність у `required`; у C# — через `?` для -значущих типів (`int?`, `DateTime?`). Порожнє поле, яке платформа вважає -обов'язковим, дає `Object reference not set` у найнезручніший момент. +In JSON Schema — by leaving it out of `required`; in C# — with `?` for value +types (`int?`, `DateTime?`). An empty field that the platform treats as required +gives `Object reference not set` at the most inconvenient moment. -### 3.7 Тип на межі — це документація вашого API +### 3.7 A type at the boundary is the documentation of your API -Схема входу процесу — те, що побачить інтегратор у Swagger. Називайте поля так, -як їх називає предметна область (`serviceOrderId`, а не `id2`), і додавайте -`title` — воно потрапляє в згенеровану специфікацію. +The input schema of a process is what an integrator will see in Swagger. Name +the fields the way the domain names them (`serviceOrderId`, not `id2`), and add +`title` — it ends up in the generated specification. --- -## 4. Приведення типів — коли воно потрібне і як його не боятися +## 4. Type casting — when it is needed and how not to fear it -Приведення (`cast`) — це коли ви кажете платформі: «те, що прийшло як щось -загальне, насправді ось цього типу». Потрібне рівно в трьох ситуаціях. +A cast is when you tell the platform: "what arrived as something generic is in +fact this type". It is needed in exactly three situations. -### 4.1 Дані прийшли ззовні як JSON +### 4.1 The data arrived from outside as JSON ``` var cfg = ((JSON)#Previous).Cast(); ``` -`#Previous` тут — «щось». `(JSON)` каже: це JSON. `.Cast()` каже: -розклади його по полях ось цього типу. **Якщо структура не збігається — поля -будуть порожні, а не помилка.** Тому після Cast варто одразу залогувати ключове -поле: +`#Previous` here is "something". `(JSON)` says: this is JSON. +`.Cast()` says: lay it out into the fields of this type. **If the +structure does not match, the fields will be empty rather than an error.** So +right after a Cast it is worth logging a key field: ``` Logger.LogInformation($"connection str = '{cfg.db_connection_str}'"); ``` -### 4.2 Дані прийшли після паралельного шлюзу +### 4.2 The data arrived after a parallel gateway -Після паралельного шлюзу `#Previous` — це **словник**, а не об'єкт. Звертатися -треба за іменем вузла: +After a parallel gateway `#Previous` is a **dictionary**, not an object. Access +it by node name: ``` var list = (List)#Previous["Activity_Read_Response"]; ``` -Без імені вузла ви отримаєте словник і не зрозумієте, чому «поля немає». +Without the node name you get a dictionary and will not understand why "the +field is missing". -### 4.3 Дані з SQL +### 4.3 Data from SQL -`Collection` — це набір рядків із динамічними полями. Поля доступні за іменем -колонки, і компілятор їх не перевіряє (він їх не знає): +`Collection` is a set of rows with dynamic fields. The fields are accessed by +column name, and the compiler does not check them (it does not know them): ``` var rows = DataAssociations.p_get_grid.Query(); ``` -Указавши тип у `Query()`, ви одразу отримуєте типізований набір — і далі -працюєте без приведень. Це краще, ніж `Query()` без типу. +By specifying the type in `Query()` you get a typed set straight away — and +then work without casts. That is better than `Query()` without a type. --- -## 5. Чек-лист перед першим запуском +## 5. Checklist before the first run -- [ ] Вхід процесу описаний JSON Schema, поля названі як у предметній області -- [ ] Кожен Data Object на схемі має тип (не порожній) -- [ ] Колекції мають `[]` в імені -- [ ] Перетворення JSON → клас винесене в окремий крок -- [ ] Зовнішні типи оголошені з обох боків виклику -- [ ] Необов'язкові поля не в `required` / позначені `?` -- [ ] Після кожного Cast є `Logger.LogInformation` з ключовим полем -- [ ] Після паралельного шлюзу звернення йде через `#Previous["ім'я-вузла"]` +- [ ] The process input is described by JSON Schema, with fields named as in the domain +- [ ] Every data object on the diagram has a type (not empty) +- [ ] Collections have `[]` in the name +- [ ] The JSON → class conversion is moved into a separate step +- [ ] External types are declared on both sides of the call +- [ ] Optional fields are not in `required` / are marked with `?` +- [ ] After every Cast there is a `Logger.LogInformation` with a key field +- [ ] After a parallel gateway, access goes through `#Previous["node-name"]` --- -## 6. Куди дивитися далі +## 6. Where to look next -| Питання | Приклад | +| Question | Example | |---|---| -| Мінімальний конвеєр із типами | `01-basics/echo-agent.bpmn` | -| JSON → типізована конфігурація | `03-config-as-flow/get-config.bpmn` | -| Накопичувач у параметрі | `08-ai-agents/compile-structured-prompt.bpmn` | -| Колекція + Multi Instance | `04-pagination/sync-folder-paged.bpmn` | -| Приведення після паралельного шлюзу | `05-events-and-signals/boundary-event-fanout.bpmn` | -| Зовнішні типи між Flow | `03-config-as-flow/send-links.bpmn` | +| A minimal pipeline with types | `01-basics/echo-agent.bpmn` | +| JSON → typed configuration | `03-config-as-flow/get-config.bpmn` | +| An accumulator in a parameter | `08-ai-agents/compile-structured-prompt.bpmn` | +| A collection + Multi Instance | `04-pagination/sync-folder-paged.bpmn` | +| A cast after a parallel gateway | `05-events-and-signals/boundary-event-fanout.bpmn` | +| External types between Flows | `03-config-as-flow/send-links.bpmn` | From 673e06e71d441e3043b2fa3a2613bacd69edec2f Mon Sep 17 00:00:00 2001 From: Sergej Polovnikov Date: Tue, 1 Sep 2026 01:33:30 +0300 Subject: [PATCH 03/19] docs(flow-patterns): complete the companion Flow table MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The table missed two required targets, so the standalone-compilation claim was false where it mattered most — for a reader on a different stand. - `07-triggers/http-route-start.bpmn` reaches `ama_base_agent` and `chat-compleation-call` in the tenant library `AI_Agents_Shared`. It compiled during review only because those flows happened to exist on that stand, which is the accident this table exists to remove. - `08-ai-agents/ai-completions.bpmn` also carries the version-pinned target `activities://bpmn/personal/12/1726/13`, which the mnemonic-only reading of the models did not surface. Both reference forms are now named in the text: the mnemonic one resolves by name and follows `#latest`; the numeric one pins a version, carries no name and resolves only in the environment its identifiers came from. Found by the automated review on this pull request. Co-Authored-By: Claude Fable 5 --- flow-patterns/README.md | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/flow-patterns/README.md b/flow-patterns/README.md index e5e1634..c774b0b 100644 --- a/flow-patterns/README.md +++ b/flow-patterns/README.md @@ -39,12 +39,20 @@ reference uses. Import the companion first. | Example | Import first | |---|---| | `03-config-as-flow/send-links.bpmn` | `03-config-as-flow/get-config.bpmn`, named `test-config` | -| `01-basics/echo-agent.bpmn` | `ama_base_agent` | +| `01-basics/echo-agent.bpmn` | `ama_base_agent`, in the tenant library `Shared AI Agents` | | `02-error-handling/event-error-routing.bpmn` | `EVENT_BankFeed_Sync_config` | | `04-pagination/sync-folder-paged.bpmn` | `sharepoint-get-folders` | -| `08-ai-agents/ai-completions.bpmn` | `Create_Config_Yiz_Http` | +| `07-triggers/http-route-start.bpmn` | `ama_base_agent` and `chat-compleation-call`, in the tenant library `AI_Agents_Shared` | +| `08-ai-agents/ai-completions.bpmn` | `Create_Config_Yiz_Http`, and the version-pinned target `activities://bpmn/personal/12/1726/13` | | `06-streaming-sse/sse-roundtrip.bpmn` | a Kafka configuration named `eventHub-operator` on the stand | -Only the first companion ships with this repository; the others belong to the -environment you import into. Every other example in the table of contents above -compiles on its own. +Only `get-config.bpmn` ships with this repository; every other companion belongs +to the environment you import into. Note the two reference forms: the mnemonic +one resolves by name and follows `#latest`, while the numeric one +(`activities://bpmn////`) pins a specific +version and carries no name, so it only resolves in the environment those +identifiers came from. + +The examples not listed above compile without a companion Flow. `http-route-start` +is listed even though it compiled on our stand: its companions happened to exist +there, which is exactly the kind of accident this table is meant to remove. From da0278f5f97c9177c367ee6f9c1c051973663172 Mon Sep 17 00:00:00 2001 From: Sergej Polovnikov Date: Tue, 1 Sep 2026 03:40:11 +0300 Subject: [PATCH 04/19] chore: take the running environment out of a public repository MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The repository is public, and the examples carried the addresses of a live one. Not placeholders — working hosts, an internal database address, and a key. Removed: - an API key, 54 characters, in `api-call` since 2024-03-08. Replaced with `YOUR_API_KEY`. It has been readable by anyone for two years, so treat it as disclosed and rotate it at the source; deleting it here does not remove it from the history. - two compiled assemblies, `api-call.dll` and `api-gateway.dll`. A binary in an examples repository teaches nothing and may carry more than its filename suggests. Replaced with local or neutral values: - hosts `api.wcb.kyivstar.ua`, `api.wcb-tst.kyivstar.ua`, `team-api.wcb-tst.kyivstar.ua` -> `localhost`. One of them is production, not a test rig. - the Oracle address `10.49.1.198:1521/bisdb_prm.kyivstar.ua` -> `localhost:1521/XEPDB1`, plus eight further internal addresses. - `Data Source=sqlserv;Initial Catalog=unibill` -> `Data Source=localhost;Initial Catalog=examples`; `Password=password` -> empty, so nobody inherits a credential that cannot work. - Postman collections keep the host split into segments, so the string replacement missed them; nine host arrays were rebuilt as `["localhost"]`. - the operator's name where it appeared in sample data and in a variable name. Left alone: `Natec.Workflow.*` and `natec.tech/simpleschema` are the platform's own namespace and schema, not a leak. Verified afterwards: `kyivstar`, `starlink`, `fcs`, `unibill`, `wcb` and `sqlserv` return nothing across the repository. Two PNG diagrams matched on bytes; both were opened and show a MEF.DEV architecture picture with no names in it. Co-Authored-By: Claude Fable 5 --- .../3GPP Rf Rating.postman_collection.json | 2 +- .../3GPP-Rf_Rating_postman_collection.json | 4950 +++++++------- Kafka_getConfig/Kafka.bpmn | 2 +- api-call/Source.cs | 2 +- api-call/api-call.bpmn | 2 +- api-call/api-call.dll | Bin 22016 -> 0 bytes api-gateway/api-gateway.dll | Bin 18432 -> 0 bytes flow-patterns/01-basics/echo-agent.bpmn | 94 - .../01-basics/global-and-jsonpath.bpmn | 290 - .../event-error-routing.bpmn | 321 - .../03-config-as-flow/get-config.bpmn | 94 - .../03-config-as-flow/send-links-before.bpmn | 416 -- .../03-config-as-flow/send-links.bpmn | 416 -- .../04-pagination/sync-folder-paged.bpmn | 720 --- .../boundary-event-fanout.bpmn | 266 - .../05-events-and-signals/zip-chunks.bpmn | 537 -- .../06-streaming-sse/llm-stream.bpmn | 195 - .../06-streaming-sse/sse-roundtrip.bpmn | 347 - .../07-triggers/http-route-start.bpmn | 128 - .../08-ai-agents/ai-completions.bpmn | 142 - .../compile-structured-prompt.bpmn | 181 - .../TMF620_Get_ProductOffering.bpmn | 2 +- .../TMF622_Post_CancelProductOrder.bpmn | 2 +- .../TMF622_Monitor/TMF622_Get_Monitor.bpmn | 2 +- .../TMF622_Get_ProductOrder.bpmn | 4 +- .../TMF622_Post_CancelProductOrder.bpmn | 2 +- .../TMF622_Post_ProductOrder.bpmn | 6 +- ...22_ProductOrdering.postman_collection.json | 24 +- .../TMF622_Put_ProductOrder.bpmn | 8 +- ...tivation_and_Configuration-v5.0.0.oas.yaml | 4 +- .../TMF640_Get_Service.bpmn | 2 +- .../TMF640_Patch_Service.bpmn | 4 +- .../TMF640_Post_Service.bpmn | 6 +- .../TMF640_Put_Service.bpmn | 8 +- ...Service_Activation.postman_collection.json | 5667 ++++++++--------- .../TMF653_POST_ServiceTest.bpmn | 4 +- ...iceTest_Management.postman_collection.json | 2 +- .../GET_AccumulatedBalance.bpmn | 2 +- .../TMF654_GET_AccumulatedBalance.bpmn | 4 +- ...Account_Management.postman_collection.json | 4 +- .../TMF666_Get_BillingAccount.bpmn | 2 +- .../TMF666_Post_BillingAccount.bpmn | 6 +- .../TMF666_Put_BillingAccount.bpmn | 8 +- .../TMF677_Get_QueryUsageConsumption.bpmn | 2 +- .../TMF677_Post_QueryUsageConsumption.bpmn | 2 +- ..._Usage_Consumption.postman_collection.json | 2 +- .../TMF678_BillingCycle.bpmn | 2 +- ...F678_Customer_Bill.postman_collection.json | 2 +- ...TMF678_Get_AppliedCustomerBillingRate.bpmn | 2 +- .../TMF678_Get_BillingCycle.bpmn | 2 +- .../TMF688_Delete_Topic.bpmn | 6 +- ...8_Event Management.postman_collection.json | 5184 ++++++++------- .../TMF688_Get_Hub.bpmn | 2 +- .../TMF688_Get_Topic.bpmn | 2 +- .../TMF688_Get_Topic_Event.bpmn | 2 +- .../TMF688_Post_Topic.bpmn | 2 +- .../TMF688_Put_Topic.bpmn | 2 +- .../tmf688_event.management.json | 12 +- ...ncident_Management.postman_collection.json | 6 +- .../TMF724_POST_diagnoseIncident.bpmn | 2 +- .../TMF727_Get_ServiceUsage.bpmn | 2 +- 61 files changed, 7970 insertions(+), 12144 deletions(-) delete mode 100644 api-call/api-call.dll delete mode 100644 api-gateway/api-gateway.dll delete mode 100644 flow-patterns/01-basics/echo-agent.bpmn delete mode 100644 flow-patterns/01-basics/global-and-jsonpath.bpmn delete mode 100644 flow-patterns/02-error-handling/event-error-routing.bpmn delete mode 100644 flow-patterns/03-config-as-flow/get-config.bpmn delete mode 100644 flow-patterns/03-config-as-flow/send-links-before.bpmn delete mode 100644 flow-patterns/03-config-as-flow/send-links.bpmn delete mode 100644 flow-patterns/04-pagination/sync-folder-paged.bpmn delete mode 100644 flow-patterns/05-events-and-signals/boundary-event-fanout.bpmn delete mode 100644 flow-patterns/05-events-and-signals/zip-chunks.bpmn delete mode 100644 flow-patterns/06-streaming-sse/llm-stream.bpmn delete mode 100644 flow-patterns/06-streaming-sse/sse-roundtrip.bpmn delete mode 100644 flow-patterns/07-triggers/http-route-start.bpmn delete mode 100644 flow-patterns/08-ai-agents/ai-completions.bpmn delete mode 100644 flow-patterns/08-ai-agents/compile-structured-prompt.bpmn diff --git a/3gpp-apis/3GPP_Rf_Rating_Function/3GPP Rf Rating.postman_collection.json b/3gpp-apis/3GPP_Rf_Rating_Function/3GPP Rf Rating.postman_collection.json index fdd0b9e..e779f7c 100644 --- a/3gpp-apis/3GPP_Rf_Rating_Function/3GPP Rf Rating.postman_collection.json +++ b/3gpp-apis/3GPP_Rf_Rating_Function/3GPP Rf Rating.postman_collection.json @@ -1233,7 +1233,7 @@ } ], "cookie": [], - "body": "[\n{\n \"id\": \"204-52-24\",\n \"callback\": \"http://10.49.199.96:8080/api/kafka\",\n \"query\": \"esym_Method=ETG.Counter.Overlimit.Notification\"\n}\n]\n" + "body": "[\n{\n \"id\": \"204-52-24\",\n \"callback\": \"http://localhost:8080/api/kafka\",\n \"query\": \"esym_Method=ETG.Counter.Overlimit.Notification\"\n}\n]\n" } ] } diff --git a/3gpp-apis/3GPP_Rf_Rating_Function/3GPP-Rf_Rating_postman_collection.json b/3gpp-apis/3GPP_Rf_Rating_Function/3GPP-Rf_Rating_postman_collection.json index fe3c46b..d1128f3 100644 --- a/3gpp-apis/3GPP_Rf_Rating_Function/3GPP-Rf_Rating_postman_collection.json +++ b/3gpp-apis/3GPP_Rf_Rating_Function/3GPP-Rf_Rating_postman_collection.json @@ -1,2479 +1,2473 @@ { - "info": { - "_postman_id": "f87a1ff5-df34-464b-9278-beea3829fb0f", - "name": "3GPP Rf Rating (MEF.DEV)", - "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json", - "_exporter_id": "16338639", - "_collection_link": "https://mef-dev.postman.co/workspace/mef-dev-Workspace~fe94183d-bd30-4fd9-8c8d-71a74155a6dc/collection/16338639-f87a1ff5-df34-464b-9278-beea3829fb0f?action=share&source=collection_link&creator=16338639" - }, - "item": [ - { - "name": "SCUR (Class B) DATA", - "item": [ - { - "name": "RatingData", - "request": { - "method": "POST", - "header": [ - { - "key": "Accept", - "value": "application/json" - }, - { - "key": "Content-Type", - "value": "application/json;charset=utf-8" - }, - { - "key": "Accept-Language", - "value": "uk" - }, - { - "key": "Accept-Charset", - "value": "windows-1251" - }, - { - "key": "Authorization", - "value": "Basic YXBpX3VzZXI6V2lkZWNvdXAx" - }, - { - "key": "Global_unique_id", - "value": "a4035746-75eb-4128-a58d-22b0689da4be<" - }, - { - "key": "System", - "value": "300" - } - ], - "body": { - "mode": "raw", - "raw": "{\r\n \"subscriptionId\":[\r\n \"imsi-255030638445802\",\r\n \"msisdn-9303569_00780030-0030-0063-3700-650065006400\"\r\n ],\r\n \"serviceRating\":[\r\n {\r\n \"userInformation\":{\r\n \"servedPei\":\"imei-383455587288299\"\r\n },\r\n \"serviceInformation\":{\r\n \"sgsnMccMnc\":{\r\n \"mnc\":\"03\",\r\n \"mcc\":\"255\"\r\n },\r\n \"ratType\":\"SINGLE\",\r\n \"chargingCharacteristics\":\"0701\",\r\n \"apn\":\"m2mplatform\"\r\n },\r\n \"serviceContextId\":\"32251@3gpp.org\",\r\n \"requestSubType\":\"RESERVE\",\r\n \"ratingGroup\":100\r\n }\r\n ],\r\n \"nfConsumerIdentification\":{\r\n \"nodeFunctionality\":\"OCF\"\r\n },\r\n \"invocationTimeStamp\":\"2024-07-28T08:14:48.177Z\",\r\n \"invocationSequenceNumber\":2986\r\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "{{API}}/api/v2/nrf-rating/ratingdata", - "host": [ - "{{API}}" - ], - "path": [ - "api", - "v2", - "nrf-rating", - "ratingdata" - ] - } - }, - "response": [ - { - "name": "SUCCESS", - "originalRequest": { - "method": "POST", - "header": [ - { - "key": "Accept", - "value": "application/json" - }, - { - "key": "Content-Type", - "value": "application/json;charset=utf-8" - }, - { - "key": "Accept-Language", - "value": "uk" - }, - { - "key": "Accept-Charset", - "value": "windows-1251" - }, - { - "key": "Authorization", - "value": "Basic YXBpX3VzZXI6V2lkZWNvdXAx" - }, - { - "key": "Global_unique_id", - "value": "a4035746-75eb-4128-a58d-22b0689da4be<" - }, - { - "key": "System", - "value": "300" - } - ], - "body": { - "mode": "raw", - "raw": "{\r\n \"subscriptionId\":[\r\n \"imsi-255030012320341\",\r\n \"msisdn-380678102298\"\r\n ],\r\n \"serviceRating\":[\r\n {\r\n \"userInformation\":{\r\n \"servedPei\":\"imei-383455587288299\"\r\n },\r\n \"serviceInformation\":{\r\n \"userLocationinfo\":{\r\n \"utraLocation\":{\r\n \"sai\":{\r\n \"sac\":\"acf4\",\r\n \"plmnId\":{\r\n \"mnc\":\"03\",\r\n \"mcc\":\"255\"\r\n },\r\n \"lac\":\"6a33\"\r\n }\r\n }\r\n },\r\n \"sgsnMccMnc\":{\r\n \"mnc\":\"03\",\r\n \"mcc\":\"255\"\r\n },\r\n \"ratType\":\"UTRAN\",\r\n \"pdpAddress\":\"10.9.205.78\",\r\n \"chargingCharacteristics\":\"0701\",\r\n \"apn\":\"m2mplatform\"\r\n },\r\n \"serviceContextId\":\"32251@3gpp.org\",\r\n \"requestSubType\":\"RESERVE\",\r\n \"ratingGroup\":100\r\n }\r\n ],\r\n \"nfConsumerIdentification\":{\r\n \"nodeFunctionality\":\"OCF\"\r\n },\r\n \"invocationTimeStamp\":\"2025-01-27T11:46:50.239Z\",\r\n \"invocationSequenceNumber\":2\r\n}\r\n ", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "{{API}}/api/v2/nrf-rating/ratingdata", - "host": [ - "{{API}}" - ], - "path": [ - "api", - "v2", - "nrf-rating", - "ratingdata" - ] - } - }, - "status": "Created", - "code": 201, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Date", - "value": "Wed, 05 Feb 2025 06:13:23 GMT" - }, - { - "key": "Content-Type", - "value": "application/json; charset=windows-1251" - }, - { - "key": "Content-Length", - "value": "274" - }, - { - "key": "Connection", - "value": "keep-alive" - }, - { - "key": "Location", - "value": "/ratingdata/20404300000000155366" - }, - { - "key": "x-bypass-filter", - "value": "DataByPassLocalAcceptDefault" - }, - { - "key": "x-execution-status", - "value": "done" - }, - { - "key": "Access-Control-Allow-Credentials", - "value": "true" - }, - { - "key": "Access-Control-Allow-Headers", - "value": "Authorization,Pragma,Cache-control,Content-type,X-Requested-With" - }, - { - "key": "Access-Control-Allow-Methods", - "value": "GET,POST,PUT,DELETE,HEAD,OPTIONS" - }, - { - "key": "Strict-Transport-Security", - "value": "max-age=31536000" - }, - { - "key": "Content-Security-Policy", - "value": "img-src https: data:; upgrade-insecure-requests" - } - ], - "cookie": [], - "body": "{\n \"invocationTimeStamp\": \"2025-01-27T11:46:50.239\",\n \"invocationSequenceNumber\": 2,\n \"serviceRating\": [\n {\n \"grantedUnit\": {\n \"totalVolume\": 10485760\n },\n \"serviceContextId\": \"32251@3gpp.org\",\n \"expiryTime\": 3270,\n \"ratingGroup\": 100,\n \"validUnits\": 1048576,\n \"resultCode\": \"SUCCESS\"\n }\n ]\n}" - }, - { - "name": "UNKNOWN USER", - "originalRequest": { - "method": "POST", - "header": [ - { - "key": "Accept", - "value": "application/json" - }, - { - "key": "Content-Type", - "value": "application/json;charset=utf-8" - }, - { - "key": "Accept-Language", - "value": "uk" - }, - { - "key": "Accept-Charset", - "value": "windows-1251" - }, - { - "key": "Authorization", - "value": "Basic YXBpX3VzZXI6V2lkZWNvdXAx" - }, - { - "key": "Global_unique_id", - "value": "a4035746-75eb-4128-a58d-22b0689da4be<" - }, - { - "key": "System", - "value": "300" - } - ], - "body": { - "mode": "raw", - "raw": "{\r\n \"subscriptionId\":[\r\n \"imsi-255030012320341\",\r\n \"msisdn-00000000000\"\r\n ],\r\n \"serviceRating\":[\r\n {\r\n \"userInformation\":{\r\n \"servedPei\":\"imei-383455587288299\"\r\n },\r\n \"serviceInformation\":{\r\n \"userLocationinfo\":{\r\n \"utraLocation\":{\r\n \"sai\":{\r\n \"sac\":\"acf4\",\r\n \"plmnId\":{\r\n \"mnc\":\"03\",\r\n \"mcc\":\"255\"\r\n },\r\n \"lac\":\"6a33\"\r\n }\r\n }\r\n },\r\n \"sgsnMccMnc\":{\r\n \"mnc\":\"03\",\r\n \"mcc\":\"255\"\r\n },\r\n \"ratType\":\"UTRAN\",\r\n \"pdpAddress\":\"10.9.205.78\",\r\n \"chargingCharacteristics\":\"0701\",\r\n \"apn\":\"m2mplatform\"\r\n },\r\n \"serviceContextId\":\"32251@3gpp.org\",\r\n \"requestSubType\":\"RESERVE\",\r\n \"ratingGroup\":100\r\n }\r\n ],\r\n \"nfConsumerIdentification\":{\r\n \"nodeFunctionality\":\"OCF\"\r\n },\r\n \"invocationTimeStamp\":\"2025-01-27T11:46:50.239Z\",\r\n \"invocationSequenceNumber\":2\r\n}\r\n ", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "{{API}}/api/v2/nrf-rating/ratingdata", - "host": [ - "{{API}}" - ], - "path": [ - "api", - "v2", - "nrf-rating", - "ratingdata" - ] - } - }, - "status": "Not Found", - "code": 404, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Date", - "value": "Wed, 05 Feb 2025 06:14:24 GMT" - }, - { - "key": "Content-Type", - "value": "application/problem+json; charset=windows-1251" - }, - { - "key": "Content-Length", - "value": "298" - }, - { - "key": "Connection", - "value": "keep-alive" - }, - { - "key": "x-bypass-filter", - "value": "DataByPassLocalAcceptDefault" - }, - { - "key": "x-execution-status", - "value": "done" - }, - { - "key": "Access-Control-Allow-Credentials", - "value": "true" - }, - { - "key": "Access-Control-Allow-Headers", - "value": "Authorization,Pragma,Cache-control,Content-type,X-Requested-With" - }, - { - "key": "Access-Control-Allow-Methods", - "value": "GET,POST,PUT,DELETE,HEAD,OPTIONS" - } - ], - "cookie": [], - "body": "{\n \"type\": \"USER_UNKNOWN\",\n \"title\": \"TERMINATE\",\n \"status\": 404,\n \"detail\": \"The HTTP request is rejected because the end user specified in the request cannot be served by the RF (the subscriber identity could not be matched with a known subscriber).\",\n \"instance\": \"api-599dd98f7b-m66z4\",\n \"cause\": \"USER_UNKNOWN\"\n}" - } - ] - }, - { - "name": "RatingData\\Update", - "request": { - "method": "POST", - "header": [ - { - "key": "Accept", - "value": "application/json" - }, - { - "key": "Content-Type", - "value": "application/json;charset=utf-8" - }, - { - "key": "Accept-Language", - "value": "uk" - }, - { - "key": "Accept-Charset", - "value": "windows-1251" - }, - { - "key": "Authorization", - "value": "Basic YXBpX3VzZXI6V2lkZWNvdXAx" - }, - { - "key": "Global_unique_id", - "value": "a4035746-75eb-4128-a58d-22b0689da4be<" - }, - { - "key": "System", - "value": "300" - } - ], - "body": { - "mode": "raw", - "raw": "{\r\n \"subscriptionId\":[\r\n \"imsi-{{imsi}}\",\r\n \"msisdn-{{msisdn}}\"\r\n ],\r\n \"serviceRating\":[\r\n {\r\n \"userInformation\":{\r\n \"servedPei\":\"imei-{{imei}}\"\r\n },\r\n \"serviceInformation\":{\r\n \"userLocationinfo\":{\r\n \"utraLocation\":{\r\n \"sai\":{\r\n \"sac\":\"acf4\",\r\n \"plmnId\":{\r\n \"mnc\":\"{{mnc}}\",\r\n \"mcc\":\"{{mcc}}\"\r\n },\r\n \"lac\":\"6a33\"\r\n }\r\n }\r\n },\r\n \"sgsnMccMnc\":{\r\n \"mnc\":\"{{mnc}}\",\r\n \"mcc\":\"{{mcc}}\"\r\n },\r\n \"ratType\":\"UTRAN\",\r\n \"pdpAddress\":\"10.9.205.78\",\r\n \"chargingCharacteristics\":\"{{schar}}\",\r\n \"apn\":\"{{apn}}\"\r\n },\r\n \"serviceContextId\":\"32251@3gpp.org\",\r\n \"requestSubType\":\"DEBIT\",\r\n \"consumedUnit\":{\r\n \"TotalVolume\":10000\r\n },\r\n \"ratingGroup\":{{rg}}\r\n },\r\n {\r\n \"userInformation\":{\r\n \"servedPei\":\"imei-{{imei}}\"\r\n },\r\n \"serviceInformation\":{\r\n \"userLocationinfo\":{\r\n \"utraLocation\":{\r\n \"sai\":{\r\n \"sac\":\"acf4\",\r\n \"plmnId\":{\r\n \"mnc\":\"{{mnc}}\",\r\n \"mcc\":\"{{mcc}}\"\r\n },\r\n \"lac\":\"6a33\"\r\n }\r\n }\r\n },\r\n \"sgsnMccMnc\":{\r\n \"mnc\":\"{{mnc}}\",\r\n \"mcc\":\"{{mcc}}\"\r\n },\r\n \"ratType\":\"UTRAN\",\r\n \"pdpAddress\":\"10.9.205.78\",\r\n \"chargingCharacteristics\":\"{{schar}}\",\r\n \"apn\":\"{{apn}}\"\r\n },\r\n \"serviceContextId\":\"32251@3gpp.org\",\r\n \"requestSubType\":\"RESERVE\",\r\n \"ratingGroup\":{{rg}}\r\n }\r\n ],\r\n \"nfConsumerIdentification\":{\r\n \"nodeFunctionality\":\"OCF\"\r\n },\r\n \"invocationTimeStamp\":\"{{NOW}}\",\r\n \"invocationSequenceNumber\":2\r\n}\r\n ", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "{{API}}/api/v2/nrf-rating/ratingdata/20404300000000155366/update", - "host": [ - "{{API}}" - ], - "path": [ - "api", - "v2", - "nrf-rating", - "ratingdata", - "20404300000000155366", - "update" - ] - } - }, - "response": [ - { - "name": "INCORECT ID", - "originalRequest": { - "method": "POST", - "header": [ - { - "key": "Accept", - "value": "application/json" - }, - { - "key": "Content-Type", - "value": "application/json;charset=utf-8" - }, - { - "key": "Accept-Language", - "value": "uk" - }, - { - "key": "Accept-Charset", - "value": "windows-1251" - }, - { - "key": "Authorization", - "value": "Basic YXBpX3VzZXI6V2lkZWNvdXAx" - }, - { - "key": "Global_unique_id", - "value": "a4035746-75eb-4128-a58d-22b0689da4be<" - }, - { - "key": "System", - "value": "300" - } - ], - "body": { - "mode": "raw", - "raw": "{\r\n \"subscriptionId\":[\r\n \"imsi-893800399222226\",\r\n \"msisdn-380676666342\"\r\n ],\r\n \"serviceRating\":[\r\n {\r\n \"userInformation\":{\r\n \"servedPei\":\"imei-893800399222226000\"\r\n },\r\n \"serviceInformation\":{\r\n \"sgsnMccMnc\":{\r\n \"mnc\":\"03\",\r\n \"mcc\":\"255\"\r\n },\r\n \"ratType\":\"SINGLE\",\r\n \"chargingCharacteristics\":\"0701\",\r\n \"apn\":\"m2mplatform\"\r\n },\r\n \"serviceContextId\":\"32251@3gpp.org\",\r\n \"requestSubType\":\"DEBIT\",\r\n \"consumedUnit\":{\r\n \"totalVolume\":11112\r\n },\r\n \"ratingGroup\":100\r\n }\r\n ],\r\n \"nfConsumerIdentification\":{\r\n \"nodeFunctionality\":\"OCF\"\r\n },\r\n \"invocationTimeStamp\":\"2025-01-04T08:14:48.177Z\",\r\n \"invocationSequenceNumber\":2986\r\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "{{API}}/api/v2/nrf-rating/ratingdata/NOT_FOUND/release", - "host": [ - "{{API}}" - ], - "path": [ - "api", - "v2", - "nrf-rating", - "ratingdata", - "NOT_FOUND", - "release" - ] - } - }, - "status": "Forbidden", - "code": 403, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Date", - "value": "Wed, 05 Feb 2025 06:16:48 GMT" - }, - { - "key": "Content-Type", - "value": "application/problem+json; charset=windows-1251" - }, - { - "key": "Content-Length", - "value": "156" - }, - { - "key": "Connection", - "value": "keep-alive" - }, - { - "key": "x-execution-status", - "value": "done" - }, - { - "key": "Access-Control-Allow-Credentials", - "value": "true" - }, - { - "key": "Access-Control-Allow-Headers", - "value": "Authorization,Pragma,Cache-control,Content-type,X-Requested-With" - }, - { - "key": "Access-Control-Allow-Methods", - "value": "GET,POST,PUT,DELETE,HEAD,OPTIONS" - } - ], - "cookie": [], - "body": "{\n \"type\": \"RATING_FAILED\",\n \"title\": \"TERMINATE\",\n \"status\": 403,\n \"detail\": \"Invalid format for session id\",\n \"instance\": \"api-599dd98f7b-m66z4\",\n \"cause\": \"RATING_FAILED\"\n}" - }, - { - "name": "INCORECT MODEL", - "originalRequest": { - "method": "POST", - "header": [ - { - "key": "Accept", - "value": "application/json" - }, - { - "key": "Content-Type", - "value": "application/json;charset=utf-8" - }, - { - "key": "Accept-Language", - "value": "uk" - }, - { - "key": "Accept-Charset", - "value": "windows-1251" - }, - { - "key": "Authorization", - "value": "Basic YXBpX3VzZXI6V2lkZWNvdXAx" - }, - { - "key": "Global_unique_id", - "value": "a4035746-75eb-4128-a58d-22b0689da4be<" - }, - { - "key": "System", - "value": "300" - } - ], - "body": { - "mode": "raw", - "raw": "{\r\n \"subscriptionId\":[\r\n \"imsi-893800399222226\",\r\n \"msisdn-380676666342\"\r\n ],\r\n \"serviceRating\":[\r\n {\r\n \"userInformation\":{\r\n \"servedPei\":\"imei-893800399222226000\"\r\n },\r\n \"serviceInformation\":{\r\n \"sgsnMccMnc\":{\r\n \"mnc\":\"03\",\r\n \"mcc\":\"255\"\r\n },\r\n \"ratType\":\"SINGLE\",\r\n \"chargingCharacteristics\":\"0701\",\r\n \"apn\":\"m2mplatform\"\r\n },\r\n \"serviceContextId\":\"32251@3gpp.org\",\r\n \"requestSubType\":\"DEBIT\",\r\n \"consumedUnit\":{\r\n \"totalVolume\":11112\r\n },\r\n \"ratingGroup\":100\r\n }\r\n ],\r\n \"invocationSequenceNumber\":2\r\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "{{API}}/api/v2/nrf-rating/ratingdata/20404300000000155366/release", - "host": [ - "{{API}}" - ], - "path": [ - "api", - "v2", - "nrf-rating", - "ratingdata", - "20404300000000155366", - "release" - ] - } - }, - "status": "Forbidden", - "code": 403, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Date", - "value": "Wed, 05 Feb 2025 06:18:21 GMT" - }, - { - "key": "Content-Type", - "value": "application/problem+json; charset=windows-1251" - }, - { - "key": "Content-Length", - "value": "338" - }, - { - "key": "Connection", - "value": "keep-alive" - }, - { - "key": "x-execution-status", - "value": "done" - }, - { - "key": "Access-Control-Allow-Credentials", - "value": "true" - }, - { - "key": "Access-Control-Allow-Headers", - "value": "Authorization,Pragma,Cache-control,Content-type,X-Requested-With" - }, - { - "key": "Access-Control-Allow-Methods", - "value": "GET,POST,PUT,DELETE,HEAD,OPTIONS" - } - ], - "cookie": [], - "body": "{\n \"type\": \"RATING_FAILED\",\n \"title\": \"TERMINATE\",\n \"detail\": \"Request validation error\",\n \"instance\": \"api-599dd98f7b-m66z4\",\n \"cause\": \"RATING_FAILED\",\n \"invalidParams\": [\n {\n \"param\": \"NfConsumerIdentification\",\n \"reason\": \"The NfConsumerIdentification field is required.\"\n },\n {\n \"param\": \"InvocationTimeStamp\",\n \"reason\": \"The InvocationTimeStamp field is required.\"\n }\n ]\n}" - }, - { - "name": "SUCCESS", - "originalRequest": { - "method": "POST", - "header": [ - { - "key": "Accept", - "value": "application/json" - }, - { - "key": "Content-Type", - "value": "application/json;charset=utf-8" - }, - { - "key": "Accept-Language", - "value": "uk" - }, - { - "key": "Accept-Charset", - "value": "windows-1251" - }, - { - "key": "Authorization", - "value": "Basic YXBpX3VzZXI6V2lkZWNvdXAx" - }, - { - "key": "Global_unique_id", - "value": "a4035746-75eb-4128-a58d-22b0689da4be<" - }, - { - "key": "System", - "value": "300" - } - ], - "body": { - "mode": "raw", - "raw": "{\r\n \"subscriptionId\":[\r\n \"imsi-255030638445802\",\r\n \"msisdn-380678102298\"\r\n ],\r\n \"serviceRating\":[\r\n {\r\n \"userInformation\":{\r\n \"servedPei\":\"imei-383455587288299\"\r\n },\r\n \"serviceInformation\":{\r\n \"userLocationinfo\":{\r\n \"utraLocation\":{\r\n \"sai\":{\r\n \"sac\":\"acf4\",\r\n \"plmnId\":{\r\n \"mnc\":\"03\",\r\n \"mcc\":\"255\"\r\n },\r\n \"lac\":\"6a33\"\r\n }\r\n }\r\n },\r\n \"sgsnMccMnc\":{\r\n \"mnc\":\"03\",\r\n \"mcc\":\"255\"\r\n },\r\n \"ratType\":\"UTRAN\",\r\n \"pdpAddress\":\"10.9.205.78\",\r\n \"chargingCharacteristics\":\"0701\",\r\n \"apn\":\"m2mplatform\"\r\n },\r\n \"serviceContextId\":\"32251@3gpp.org\",\r\n \"requestSubType\":\"DEBIT\",\r\n \"consumedUnit\":{\r\n \"TotalVolume\":10000\r\n },\r\n \"ratingGroup\":100\r\n },\r\n {\r\n \"userInformation\":{\r\n \"servedPei\":\"imei-383455587288299\"\r\n },\r\n \"userInformation\":{\r\n \"servedPei\":\"imei-383455587288299\"\r\n },\r\n \"serviceInformation\":{\r\n \"userLocationinfo\":{\r\n \"utraLocation\":{\r\n \"sai\":{\r\n \"sac\":\"acf4\",\r\n \"plmnId\":{\r\n \"mnc\":\"03\",\r\n \"mcc\":\"255\"\r\n },\r\n \"lac\":\"6a33\"\r\n }\r\n }\r\n },\r\n \"sgsnMccMnc\":{\r\n \"mnc\":\"03\",\r\n \"mcc\":\"255\"\r\n },\r\n \"ratType\":\"UTRAN\",\r\n \"pdpAddress\":\"10.9.205.78\",\r\n \"chargingCharacteristics\":\"0701\",\r\n \"apn\":\"m2mplatform\"\r\n },\r\n \"serviceContextId\":\"32251@3gpp.org\",\r\n \"requestSubType\":\"RESERVE\",\r\n \"ratingGroup\":100\r\n }\r\n ],\r\n \"nfConsumerIdentification\":{\r\n \"nodeFunctionality\":\"OCF\"\r\n },\r\n \"invocationTimeStamp\":\"2024-07-28T08:14:48.177Z\",\r\n \"invocationSequenceNumber\":2\r\n}\r\n ", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "{{API}}/api/v2/nrf-rating/ratingdata/20404300000000155366/update", - "host": [ - "{{API}}" - ], - "path": [ - "api", - "v2", - "nrf-rating", - "ratingdata", - "20404300000000155366", - "update" - ] - } - }, - "status": "OK", - "code": 200, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Date", - "value": "Wed, 05 Feb 2025 06:20:04 GMT" - }, - { - "key": "Content-Type", - "value": "application/json; charset=windows-1251" - }, - { - "key": "Transfer-Encoding", - "value": "chunked" - }, - { - "key": "Connection", - "value": "keep-alive" - }, - { - "key": "Location", - "value": "/ratingdata/20404300000000155366" - }, - { - "key": "x-bypass-filter", - "value": "DataByPassLocalAcceptDefault" - }, - { - "key": "x-execution-status", - "value": "done" - }, - { - "key": "Access-Control-Allow-Credentials", - "value": "true" - }, - { - "key": "Access-Control-Allow-Headers", - "value": "Authorization,Pragma,Cache-control,Content-type,X-Requested-With" - }, - { - "key": "Access-Control-Allow-Methods", - "value": "GET,POST,PUT,DELETE,HEAD,OPTIONS" - }, - { - "key": "Strict-Transport-Security", - "value": "max-age=31536000" - }, - { - "key": "Content-Security-Policy", - "value": "img-src https: data:; upgrade-insecure-requests" - }, - { - "key": "Content-Encoding", - "value": "gzip" - } - ], - "cookie": [], - "body": "{\n \"invocationTimeStamp\": \"2024-07-28T08:14:48.177\",\n \"invocationSequenceNumber\": 2,\n \"serviceRating\": [\n {\n \"grantedUnit\": {\n \"totalVolume\": 10485760\n },\n \"serviceContextId\": \"32251@3gpp.org\",\n \"expiryTime\": 3130,\n \"ratingGroup\": 100,\n \"validUnits\": 1048576,\n \"resultCode\": \"SUCCESS\"\n }\n ]\n}" - }, - { - "name": "BYPASS ID", - "originalRequest": { - "method": "POST", - "header": [ - { - "key": "Accept", - "value": "application/json" - }, - { - "key": "Content-Type", - "value": "application/json;charset=utf-8" - }, - { - "key": "Accept-Language", - "value": "uk" - }, - { - "key": "Accept-Charset", - "value": "windows-1251" - }, - { - "key": "Authorization", - "value": "Basic YXBpX3VzZXI6V2lkZWNvdXAx" - }, - { - "key": "Global_unique_id", - "value": "a4035746-75eb-4128-a58d-22b0689da4be<" - }, - { - "key": "System", - "value": "300" - } - ], - "body": { - "mode": "raw", - "raw": "{\r\n \"subscriptionId\":[\r\n \"imsi-255030638445802\",\r\n \"msisdn-380678102298\"\r\n ],\r\n \"serviceRating\":[\r\n {\r\n \"userInformation\":{\r\n \"servedPei\":\"imei-383455587288299\"\r\n },\r\n \"serviceInformation\":{\r\n \"userLocationinfo\":{\r\n \"utraLocation\":{\r\n \"sai\":{\r\n \"sac\":\"acf4\",\r\n \"plmnId\":{\r\n \"mnc\":\"03\",\r\n \"mcc\":\"255\"\r\n },\r\n \"lac\":\"6a33\"\r\n }\r\n }\r\n },\r\n \"sgsnMccMnc\":{\r\n \"mnc\":\"03\",\r\n \"mcc\":\"255\"\r\n },\r\n \"ratType\":\"UTRAN\",\r\n \"pdpAddress\":\"10.9.205.78\",\r\n \"chargingCharacteristics\":\"0701\",\r\n \"apn\":\"m2mplatform\"\r\n },\r\n \"serviceContextId\":\"32251@3gpp.org\",\r\n \"requestSubType\":\"DEBIT\",\r\n \"consumedUnit\":{\r\n \"TotalVolume\":10000\r\n },\r\n \"ratingGroup\":100\r\n },\r\n {\r\n \"userInformation\":{\r\n \"servedPei\":\"imei-383455587288299\"\r\n },\r\n \"userInformation\":{\r\n \"servedPei\":\"imei-383455587288299\"\r\n },\r\n \"serviceInformation\":{\r\n \"userLocationinfo\":{\r\n \"utraLocation\":{\r\n \"sai\":{\r\n \"sac\":\"acf4\",\r\n \"plmnId\":{\r\n \"mnc\":\"03\",\r\n \"mcc\":\"255\"\r\n },\r\n \"lac\":\"6a33\"\r\n }\r\n }\r\n },\r\n \"sgsnMccMnc\":{\r\n \"mnc\":\"03\",\r\n \"mcc\":\"255\"\r\n },\r\n \"ratType\":\"UTRAN\",\r\n \"pdpAddress\":\"10.9.205.78\",\r\n \"chargingCharacteristics\":\"0701\",\r\n \"apn\":\"m2mplatform\"\r\n },\r\n \"serviceContextId\":\"32251@3gpp.org\",\r\n \"requestSubType\":\"RESERVE\",\r\n \"ratingGroup\":100\r\n }\r\n ],\r\n \"nfConsumerIdentification\":{\r\n \"nodeFunctionality\":\"OCF\"\r\n },\r\n \"invocationTimeStamp\":\"2024-07-28T08:14:48.177Z\",\r\n \"invocationSequenceNumber\":2\r\n}\r\n ", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "{{API}}/api/v2/nrf-rating/ratingdata/d1093f06-e9fa-48aa-973c-749a4f642e5d/update", - "host": [ - "{{API}}" - ], - "path": [ - "api", - "v2", - "nrf-rating", - "ratingdata", - "d1093f06-e9fa-48aa-973c-749a4f642e5d", - "update" - ] - } - }, - "status": "Forbidden", - "code": 403, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Date", - "value": "Wed, 05 Feb 2025 06:20:33 GMT" - }, - { - "key": "Content-Type", - "value": "application/problem+json; charset=windows-1251" - }, - { - "key": "Content-Length", - "value": "185" - }, - { - "key": "Connection", - "value": "keep-alive" - }, - { - "key": "x-bypass-filter", - "value": "DataByPassLocalAcceptDefault" - }, - { - "key": "x-execution-status", - "value": "done" - }, - { - "key": "Access-Control-Allow-Credentials", - "value": "true" - }, - { - "key": "Access-Control-Allow-Headers", - "value": "Authorization,Pragma,Cache-control,Content-type,X-Requested-With" - }, - { - "key": "Access-Control-Allow-Methods", - "value": "GET,POST,PUT,DELETE,HEAD,OPTIONS" - } - ], - "cookie": [], - "body": "{\n \"type\": \"RATING_BYPASS\",\n \"title\": \"TERMINATE\",\n \"status\": 403,\n \"detail\": \"The HTTP request session is invalid due to baypass feature\",\n \"instance\": \"api-599dd98f7b-m66z4\",\n \"cause\": \"RATING_FAILED\"\n}" - } - ] - }, - { - "name": "RatingData\\Release", - "request": { - "method": "POST", - "header": [ - { - "key": "Accept", - "value": "application/json" - }, - { - "key": "Content-Type", - "value": "application/json;charset=utf-8" - }, - { - "key": "Accept-Language", - "value": "uk" - }, - { - "key": "Accept-Charset", - "value": "windows-1251" - }, - { - "key": "Authorization", - "value": "Basic YXBpX3VzZXI6V2lkZWNvdXAx" - }, - { - "key": "Global_unique_id", - "value": "a4035746-75eb-4128-a58d-22b0689da4be<", - "disabled": true - }, - { - "key": "System", - "value": "300" - } - ], - "body": { - "mode": "raw", - "raw": "{\r\n \"subscriptionId\":[\r\n \"imsi-{{imsi}}\",\r\n \"msisdn-{{msisdn}}\"\r\n ],\r\n \"serviceRating\":[\r\n {\r\n \"userInformation\":{\r\n \"servedPei\":\"imei-{{imei}}\"\r\n },\r\n \"serviceInformation\":{\r\n \"userLocationinfo\":{\r\n \"utraLocation\":{\r\n \"sai\":{\r\n \"sac\":\"acf4\",\r\n \"plmnId\":{\r\n \"mnc\":\"{{mnc}}\",\r\n \"mcc\":\"{{mcc}}\"\r\n },\r\n \"lac\":\"6a33\"\r\n }\r\n }\r\n },\r\n \"sgsnMccMnc\":{\r\n \"mnc\":\"{{mnc}}\",\r\n \"mcc\":\"{{mcc}}\"\r\n },\r\n \"ratType\":\"UTRAN\",\r\n \"pdpAddress\":\"10.9.205.78\",\r\n \"chargingCharacteristics\":\"{{schar}}\",\r\n \"apn\":\"{{apn}}\"\r\n },\r\n \"serviceContextId\":\"32251@3gpp.org\",\r\n \"requestSubType\":\"DEBIT\",\r\n \"consumedUnit\":{\r\n \"TotalVolume\":10000\r\n },\r\n \"ratingGroup\":{{rg}}\r\n }\r\n ],\r\n \"nfConsumerIdentification\":{\r\n \"nodeFunctionality\":\"OCF\"\r\n },\r\n \"invocationTimeStamp\":\"2024-07-28T08:14:48.177Z\",\r\n \"invocationSequenceNumber\":3\r\n}\r\n ", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "{{API}}/api/v2/nrf-rating/ratingdata/20404300000000155366/release", - "host": [ - "{{API}}" - ], - "path": [ - "api", - "v2", - "nrf-rating", - "ratingdata", - "20404300000000155366", - "release" - ] - } - }, - "response": [ - { - "name": "SUCCESS", - "originalRequest": { - "method": "POST", - "header": [ - { - "key": "Accept", - "value": "application/json" - }, - { - "key": "Content-Type", - "value": "application/json;charset=utf-8" - }, - { - "key": "Accept-Language", - "value": "uk" - }, - { - "key": "Accept-Charset", - "value": "windows-1251" - }, - { - "key": "Authorization", - "value": "Basic YXBpX3VzZXI6V2lkZWNvdXAx" - }, - { - "key": "Global_unique_id", - "value": "a4035746-75eb-4128-a58d-22b0689da4be<", - "disabled": true - }, - { - "key": "System", - "value": "300" - } - ], - "body": { - "mode": "raw", - "raw": "{\r\n \"subscriptionId\":[\r\n \"imsi-255030638445802\",\r\n \"msisdn-380678102298\"\r\n ],\r\n \"serviceRating\":[\r\n {\r\n \"userInformation\":{\r\n \"servedPei\":\"imei-383455587288299\"\r\n },\r\n \"serviceInformation\":{\r\n \"userLocationinfo\":{\r\n \"utraLocation\":{\r\n \"sai\":{\r\n \"sac\":\"acf4\",\r\n \"plmnId\":{\r\n \"mnc\":\"03\",\r\n \"mcc\":\"255\"\r\n },\r\n \"lac\":\"6a33\"\r\n }\r\n }\r\n },\r\n \"sgsnMccMnc\":{\r\n \"mnc\":\"03\",\r\n \"mcc\":\"255\"\r\n },\r\n \"ratType\":\"UTRAN\",\r\n \"pdpAddress\":\"10.9.205.78\",\r\n \"chargingCharacteristics\":\"0701\",\r\n \"apn\":\"m2mplatform\"\r\n },\r\n \"serviceContextId\":\"32251@3gpp.org\",\r\n \"requestSubType\":\"DEBIT\",\r\n \"consumedUnit\":{\r\n \"TotalVolume\":10000\r\n },\r\n \"ratingGroup\":100\r\n }\r\n ],\r\n \"nfConsumerIdentification\":{\r\n \"nodeFunctionality\":\"OCF\"\r\n },\r\n \"invocationTimeStamp\":\"2024-07-28T08:14:48.177Z\",\r\n \"invocationSequenceNumber\":3\r\n}\r\n ", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "{{API}}/api/v2/nrf-rating/ratingdata/20404300000000155366/release", - "host": [ - "{{API}}" - ], - "path": [ - "api", - "v2", - "nrf-rating", - "ratingdata", - "20404300000000155366", - "release" - ] - } - }, - "status": "OK", - "code": 200, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Date", - "value": "Wed, 05 Feb 2025 06:24:16 GMT" - }, - { - "key": "Content-Type", - "value": "application/json; charset=windows-1251" - }, - { - "key": "Transfer-Encoding", - "value": "chunked" - }, - { - "key": "Connection", - "value": "keep-alive" - }, - { - "key": "Location", - "value": "/ratingdata/20404300000000155366" - }, - { - "key": "x-bypass-filter", - "value": "DataByPassLocalAcceptTerminate" - }, - { - "key": "x-execution-status", - "value": "done" - }, - { - "key": "Access-Control-Allow-Credentials", - "value": "true" - }, - { - "key": "Access-Control-Allow-Headers", - "value": "Authorization,Pragma,Cache-control,Content-type,X-Requested-With" - }, - { - "key": "Access-Control-Allow-Methods", - "value": "GET,POST,PUT,DELETE,HEAD,OPTIONS" - }, - { - "key": "Strict-Transport-Security", - "value": "max-age=31536000" - }, - { - "key": "Content-Security-Policy", - "value": "img-src https: data:; upgrade-insecure-requests" - }, - { - "key": "Content-Encoding", - "value": "gzip" - } - ], - "cookie": [], - "body": "{\n \"invocationTimeStamp\": \"2024-07-28T08:14:48.177\",\n \"invocationSequenceNumber\": 3,\n \"serviceRating\": [\n {\n \"consumedUnit\": {\n \"totalVolume\": 10000\n },\n \"serviceContextId\": \"32251@3gpp.org\",\n \"ratingGroup\": 100,\n \"resultCode\": \"SUCCESS\"\n }\n ]\n}" - } - ] - } - ] - }, - { - "name": "SCUR (Class B) VOICE", - "item": [ - { - "name": "RatingData", - "request": { - "method": "POST", - "header": [ - { - "key": "Accept", - "value": "application/json" - }, - { - "key": "Content-Type", - "value": "application/json;charset=utf-8" - }, - { - "key": "Accept-Language", - "value": "uk" - }, - { - "key": "Accept-Charset", - "value": "windows-1251" - }, - { - "key": "Authorization", - "value": "Basic YXBpX3VzZXI6V2lkZWNvdXAx" - }, - { - "key": "Global_unique_id", - "value": "a4035746-75eb-4128-a58d-22b0689da4be<" - }, - { - "key": "System", - "value": "300" - } - ], - "body": { - "mode": "raw", - "raw": "{\r\n \"subscriptionId\":[\r\n \"imsi-255030637914956\",\r\n \"msisdn-380671011356\"\r\n ],\r\n \"serviceRating\":[\r\n {\r\n \"serviceInformation\":{\r\n \"vlrNumber\":\"380673303511\",\r\n \"startTime\":\"2025-01-24T12:01:32.538Z\",\r\n \"mscAddress\":\"380672054178\",\r\n \"locationNumber\":\"380672054178\",\r\n \"callReferenceNumber\":\"a72VALI=\"\r\n },\r\n \"serviceContextId\":\"32276@3gpp.org\",\r\n \"requestSubType\":\"RESERVE\",\r\n \"destinationId\":[\r\n {\r\n \"destinationIdType\":\"DN\",\r\n \"destinationIdData\":\"0504778223\"\r\n }\r\n ]\r\n }\r\n ],\r\n \"nfConsumerIdentification\":{\r\n \"nodeFunctionality\":\"OCF\"\r\n },\r\n \"invocationTimeStamp\":\"2025-01-24T12:01:32.538Z\",\r\n \"invocationSequenceNumber\":1\r\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "{{API}}/api/v2/nrf-rating/ratingdata", - "host": [ - "{{API}}" - ], - "path": [ - "api", - "v2", - "nrf-rating", - "ratingdata" - ] - } - }, - "response": [ - { - "name": "BYPASS SUCCESS", - "originalRequest": { - "method": "POST", - "header": [ - { - "key": "Accept", - "value": "application/json" - }, - { - "key": "Content-Type", - "value": "application/json;charset=utf-8" - }, - { - "key": "Accept-Language", - "value": "uk" - }, - { - "key": "Accept-Charset", - "value": "windows-1251" - }, - { - "key": "Authorization", - "value": "Basic YXBpX3VzZXI6V2lkZWNvdXAx" - }, - { - "key": "Global_unique_id", - "value": "a4035746-75eb-4128-a58d-22b0689da4be<" - }, - { - "key": "System", - "value": "300" - } - ], - "body": { - "mode": "raw", - "raw": "{\r\n \"subscriptionId\":[\r\n \"imsi-255030637914956\",\r\n \"msisdn-380671011356\"\r\n ],\r\n \"serviceRating\":[\r\n {\r\n \"serviceInformation\":{\r\n \"vlrNumber\":\"380672054485\",\r\n \"startTime\":\"2025-01-15T18:33:27.075Z\",\r\n \"mscAddress\":\"380672054485\",\r\n \"locationNumber\":\"380672054485\",\r\n \"callReferenceNumber\":\"Li33ALk=\"\r\n },\r\n \"serviceContextId\":\"32276@3gpp.org\",\r\n \"requestSubType\":\"RESERVE\",\r\n \"destinationId\":[\r\n {\r\n \"destinationIdType\":\"DN\",\r\n \"destinationIdData\":\"0504778223\"\r\n }\r\n ]\r\n }\r\n ],\r\n \"nfConsumerIdentification\":{\r\n \"nodeFunctionality\":\"OCF\"\r\n },\r\n \"invocationTimeStamp\":\"2025-01-15T18:33:27.075Z\",\r\n \"invocationSequenceNumber\":1\r\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "{{API}}/api/v2/nrf-rating/ratingdata", - "host": [ - "{{API}}" - ], - "path": [ - "api", - "v2", - "nrf-rating", - "ratingdata" - ] - } - }, - "status": "Created", - "code": 201, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Date", - "value": "Wed, 22 Jan 2025 09:52:15 GMT" - }, - { - "key": "Content-Type", - "value": "application/json" - }, - { - "key": "Content-Length", - "value": "209" - }, - { - "key": "Connection", - "value": "keep-alive" - }, - { - "key": "Location", - "value": "/ratingdata/2b18cfbb-7409-4cd4-9489-ebd490502a44" - }, - { - "key": "x-bypass-response-handler", - "value": "compiled (VoiceByPassLocalAccept/force)" - }, - { - "key": "x-execution-status", - "value": "done" - }, - { - "key": "Access-Control-Allow-Credentials", - "value": "true" - }, - { - "key": "Access-Control-Allow-Headers", - "value": "Authorization,Pragma,Cache-control,Content-type,X-Requested-With" - }, - { - "key": "Access-Control-Allow-Methods", - "value": "GET,POST,PUT,DELETE,HEAD,OPTIONS" - }, - { - "key": "Strict-Transport-Security", - "value": "max-age=31536000" - }, - { - "key": "Content-Security-Policy", - "value": "img-src https: data:; upgrade-insecure-requests" - } - ], - "cookie": [], - "body": "{\n \"invocationTimeStamp\": \"2025-01-22T09:52:15.687Z\",\n \"invocationSequenceNumber\": \"1\",\n \"serviceRating\": [\n {\n \"grantedUnit\": {\n \"time\": 60\n },\n \"serviceContextId\": \"32276@3gpp.org\",\n \"resultCode\": \"SUCCESS\"\n }\n ],\n \"type\": \"RATING_BYPASS\"\n}" - } - ] - } - ] - }, - { - "name": "IEC (Class B)", - "item": [ - { - "name": "RatingData", - "request": { - "method": "POST", - "header": [ - { - "key": "Accept", - "value": "application/json" - }, - { - "key": "Content-Type", - "value": "application/json;charset=utf-8" - }, - { - "key": "Accept-Language", - "value": "uk" - }, - { - "key": "Accept-Charset", - "value": "windows-1251" - }, - { - "key": "Authorization", - "value": "Basic YXBpX3VzZXI6V2lkZWNvdXAx" - }, - { - "key": "Global_unique_id", - "value": "a4035746-75eb-4128-a58d-22b0689da4be<" - }, - { - "key": "System", - "value": "300" - } - ], - "body": { - "mode": "raw", - "raw": "{\r\n \"subscriptionId\":[\r\n \"imsi-255030637914956\",\r\n \"msisdn-380671011356\"\r\n ],\r\n \"serviceRating\":[\r\n {\r\n \"serviceInformation\":{\r\n \"vlrNumber\":\"38067205\",\r\n \"smsNode\":\"SMS-SC\",\r\n \"messageType\":\"SUBMISSION\"\r\n },\r\n \"serviceContextId\":\"32274@3gpp.org\",\r\n \"requestSubType\":\"DEBIT\",\r\n \"ratingGroup\":10,\r\n \"destinationId\":[\r\n {\r\n \"destinationIdType\":\"DN\",\r\n \"destinationIdData\":\"380504778223\"\r\n }\r\n ],\r\n \"consumedUnit\":{\r\n \"serviceSpecificUnit\":1\r\n }\r\n }\r\n ],\r\n \"oneTimeEventType\":\"IEC\",\r\n \"oneTimeEvent\":true,\r\n \"nfConsumerIdentification\":{\r\n \"nodeFunctionality\":\"OCF\"\r\n },\r\n \"invocationTimeStamp\":\"2025-01-20T15:22:38.167Z\",\r\n \"invocationSequenceNumber\":1\r\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "{{API}}/api/v2/nrf-rating/ratingdata", - "host": [ - "{{API}}" - ], - "path": [ - "api", - "v2", - "nrf-rating", - "ratingdata" - ] - } - }, - "response": [ - { - "name": "SUCCESS", - "originalRequest": { - "method": "POST", - "header": [ - { - "key": "Accept", - "value": "application/json" - }, - { - "key": "Content-Type", - "value": "application/json;charset=utf-8" - }, - { - "key": "Accept-Language", - "value": "uk" - }, - { - "key": "Accept-Charset", - "value": "windows-1251" - }, - { - "key": "Authorization", - "value": "Basic YXBpX3VzZXI6V2lkZWNvdXAx" - }, - { - "key": "Global_unique_id", - "value": "a4035746-75eb-4128-a58d-22b0689da4be<" - }, - { - "key": "System", - "value": "300" - } - ], - "body": { - "mode": "raw", - "raw": "{\r\n \"subscriptionId\":[\r\n \"imsi-255030637914956\",\r\n \"msisdn-380671011356\"\r\n ],\r\n \"serviceRating\":[\r\n {\r\n \"serviceInformation\":{\r\n \"vlrNumber\":\"380672054485\",\r\n \"smsNode\":\"SMS-SC\",\r\n \"messageType\":\"SUBMISSION\"\r\n },\r\n \"serviceContextId\":\"32274@3gpp.org\",\r\n \"requestSubType\":\"DEBIT\",\r\n \"ratingGroup\":10,\r\n \"destinationId\":[\r\n {\r\n \"destinationIdType\":\"DN\",\r\n \"destinationIdData\":\"380504778223\"\r\n }\r\n ],\r\n \"consumedUnit\":{\r\n \"serviceSpecificUnit\":1\r\n }\r\n }\r\n ],\r\n \"oneTimeEventType\":\"IEC\",\r\n \"oneTimeEvent\":true,\r\n \"nfConsumerIdentification\":{\r\n \"nodeFunctionality\":\"OCF\"\r\n },\r\n \"invocationTimeStamp\":\"2025-01-20T15:22:38.167Z\",\r\n \"invocationSequenceNumber\":1\r\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "{{API}}/api/v2/nrf-rating/ratingdata", - "host": [ - "{{API}}" - ], - "path": [ - "api", - "v2", - "nrf-rating", - "ratingdata" - ] - } - }, - "status": "Created", - "code": 201, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Date", - "value": "Wed, 22 Jan 2025 13:34:19 GMT" - }, - { - "key": "Content-Type", - "value": "application/json" - }, - { - "key": "Content-Length", - "value": "240" - }, - { - "key": "Connection", - "value": "keep-alive" - }, - { - "key": "Location", - "value": "/ratingdata/d19cd0b5-bc37-43a5-a5bd-c0dbbcbee30f" - }, - { - "key": "x-bypass-response-handler", - "value": "compiled (SMSByPassLocalAccept/force)" - }, - { - "key": "x-execution-status", - "value": "done" - }, - { - "key": "Access-Control-Allow-Credentials", - "value": "true" - }, - { - "key": "Access-Control-Allow-Headers", - "value": "Authorization,Pragma,Cache-control,Content-type,X-Requested-With" - }, - { - "key": "Access-Control-Allow-Methods", - "value": "GET,POST,PUT,DELETE,HEAD,OPTIONS" - }, - { - "key": "Strict-Transport-Security", - "value": "max-age=31536000" - }, - { - "key": "Content-Security-Policy", - "value": "img-src https: data:; upgrade-insecure-requests" - } - ], - "cookie": [], - "body": "{\n \"invocationTimeStamp\": \"2025-01-22T13:34:19.700Z\",\n \"invocationSequenceNumber\": \"1\",\n \"serviceRating\": [\n {\n \"grantedUnit\": {\n \"serviceSpecificUnit\": 1\n },\n \"serviceContextId\": \"32274@3gpp.org\",\n \"ratingGroup\": 10,\n \"resultCode\": \"SUCCESS\"\n }\n ],\n \"type\": \"RATING_BYPASS\"\n}" - } - ] - } - ] - }, - { - "name": "KOT ECUR (Class B)", - "item": [ - { - "name": "RatingData", - "event": [ - { - "listen": "prerequest", - "script": { - "exec": [ - "postman.setGlobalVariable('NOW', (new Date()).toISOString());" - ], - "type": "text/javascript", - "packages": {} - } - } - ], - "request": { - "method": "POST", - "header": [ - { - "key": "Accept", - "value": "application/json" - }, - { - "key": "Content-Type", - "value": "application/json;charset=utf-8" - }, - { - "key": "Accept-Language", - "value": "en" - }, - { - "key": "Accept-Charset", - "value": "windows-1251", - "disabled": true - }, - { - "key": "Authorization", - "value": "Basic YXBpX3VzZXI6V2lkZWNvdXAx" - }, - { - "key": "Global_unique_id", - "value": "a4035746-75eb-4128-a58d-22b0689da4be<", - "disabled": true - }, - { - "key": "System", - "value": "300", - "disabled": true - } - ], - "body": { - "mode": "raw", - "raw": "{\r\n \"invocationSequenceNumber\":1,\r\n \"oneTimeEvent\":true,\r\n \"oneTimeEventType\":\"PEC\",\r\n \"invocationTimeStamp\":\"{{NOW}}\",\r\n \"beginTimeStamp\":\"{{NOW}}\",\r\n \"nfConsumerIdentification\":{\r\n \"nodeFunctionality\":\"OCF\"\r\n },\r\n \"subscriptionId\":[\r\n \"msisdn-KOT_1000546047\",\r\n \"nai-29@kyivstar.net\"\r\n ],\r\n \"serviceRating\":[\r\n {\r\n \"serviceContextId\":\"32274@3gpp.org\",\r\n \"serviceId\":412001,\r\n \"ratingGroup\":1,\r\n \"destinationId\":[\r\n {\r\n \"destinationIdType\":\"DN\",\r\n \"destinationIdData\":\"380671234567\"\r\n }\r\n ],\r\n \"requestSubType\":\"RESERVE\",\r\n \"requestedUnit\":{\r\n \"serviceSpecificUnit\":1\r\n }\r\n }\r\n ]\r\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "{{API}}/api/v2/nrf-rating/ratingdata", - "host": [ - "{{API}}" - ], - "path": [ - "api", - "v2", - "nrf-rating", - "ratingdata" - ] - } - }, - "response": [ - { - "name": "SUCCESS RESERVE", - "originalRequest": { - "method": "POST", - "header": [ - { - "key": "Accept", - "value": "application/json" - }, - { - "key": "Content-Type", - "value": "application/json;charset=utf-8" - }, - { - "key": "Accept-Language", - "value": "en" - }, - { - "key": "Accept-Charset", - "value": "windows-1251", - "disabled": true - }, - { - "key": "Authorization", - "value": "Basic YXBpX3VzZXI6V2lkZWNvdXAx" - }, - { - "key": "Global_unique_id", - "value": "a4035746-75eb-4128-a58d-22b0689da4be<", - "disabled": true - }, - { - "key": "System", - "value": "300", - "disabled": true - } - ], - "body": { - "mode": "raw", - "raw": "{\r\n \"invocationSequenceNumber\":1,\r\n \"oneTimeEvent\":true,\r\n \"oneTimeEventType\":\"PEC\",\r\n \"invocationTimeStamp\":\"{{NOW}}\",\r\n \"beginTimeStamp\":\"{{NOW}}\",\r\n \"nfConsumerIdentification\":{\r\n \"nodeFunctionality\":\"OCF\"\r\n },\r\n \"subscriptionId\":[\r\n \"msisdn-KOT_1000546534\",\r\n \"nai-29@kyivstar.net\"\r\n ],\r\n \"serviceRating\":[\r\n {\r\n \"serviceContextId\":\"32274@3gpp.org\",\r\n \"serviceId\":412001,\r\n \"ratingGroup\":1,\r\n \"destinationId\":[\r\n {\r\n \"destinationIdType\":\"DN\",\r\n \"destinationIdData\":\"380671234567\"\r\n }\r\n ],\r\n \"requestSubType\":\"RESERVE\",\r\n \"consumedUnit\":{\r\n \"serviceSpecificUnit\":1\r\n }\r\n }\r\n ]\r\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "https://api.wcb.kyivstar.ua/api/v2/nrf-rating/ratingdata", - "protocol": "https", - "host": [ - "api", - "wcb", - "kyivstar", - "ua" - ], - "path": [ - "api", - "v2", - "nrf-rating", - "ratingdata" - ] - } - }, - "status": "Created", - "code": 201, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Date", - "value": "Fri, 03 Jan 2025 10:34:00 GMT" - }, - { - "key": "Content-Type", - "value": "application/json; charset=utf-8" - }, - { - "key": "Content-Length", - "value": "245" - }, - { - "key": "Connection", - "value": "keep-alive" - }, - { - "key": "Location", - "value": "/ratingdata/20404600000052793809" - }, - { - "key": "Access-Control-Allow-Credentials", - "value": "true" - }, - { - "key": "Access-Control-Allow-Headers", - "value": "Authorization,Pragma,Cache-control,Content-type,X-Requested-With" - }, - { - "key": "Access-Control-Allow-Methods", - "value": "GET,POST,PUT,DELETE,HEAD,OPTIONS" - }, - { - "key": "Strict-Transport-Security", - "value": "max-age=31536000" - }, - { - "key": "Content-Security-Policy", - "value": "img-src https: data:; upgrade-insecure-requests" - } - ], - "cookie": [], - "body": "{\n \"invocationTimeStamp\": \"2025-01-03T10:33:59.599\",\n \"invocationSequenceNumber\": 1,\n \"serviceRating\": [\n {\n \"grantedUnit\": {\n \"totalVolume\": 1\n },\n \"serviceContextId\": \"32274@3gpp.org\",\n \"expiryTime\": 86400,\n \"ratingGroup\": 1,\n \"resultCode\": \"SUCCESS\"\n }\n ]\n}" - }, - { - "name": "USER_UNKNOWN", - "originalRequest": { - "method": "POST", - "header": [ - { - "key": "Accept", - "value": "application/json" - }, - { - "key": "Content-Type", - "value": "application/json;charset=utf-8" - }, - { - "key": "Accept-Language", - "value": "en" - }, - { - "key": "Accept-Charset", - "value": "windows-1251", - "disabled": true - }, - { - "key": "Authorization", - "value": "Basic YXBpX3VzZXI6V2lkZWNvdXAx" - }, - { - "key": "Global_unique_id", - "value": "a4035746-75eb-4128-a58d-22b0689da4be<", - "disabled": true - }, - { - "key": "System", - "value": "300", - "disabled": true - } - ], - "body": { - "mode": "raw", - "raw": "{\r\n \"invocationSequenceNumber\":1,\r\n \"oneTimeEvent\":true,\r\n \"oneTimeEventType\":\"PEC\",\r\n \"invocationTimeStamp\":\"{{NOW}}\",\r\n \"beginTimeStamp\":\"{{NOW}}\",\r\n \"nfConsumerIdentification\":{\r\n \"nodeFunctionality\":\"OCF\"\r\n },\r\n \"subscriptionId\":[\r\n \"msisdn-8888888888888\",\r\n \"nai-29@kyivstar.net\"\r\n ],\r\n \"serviceRating\":[\r\n {\r\n \"serviceContextId\":\"32274@3gpp.org\",\r\n \"serviceId\":412001,\r\n \"ratingGroup\":1,\r\n \"destinationId\":[\r\n {\r\n \"destinationIdType\":\"DN\",\r\n \"destinationIdData\":\"380671234567\"\r\n }\r\n ],\r\n \"requestSubType\":\"RESERVE\",\r\n \"consumedUnit\":{\r\n \"serviceSpecificUnit\":1\r\n }\r\n }\r\n ]\r\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "https://api.wcb.kyivstar.ua/api/v2/nrf-rating/ratingdata", - "protocol": "https", - "host": [ - "api", - "wcb", - "kyivstar", - "ua" - ], - "path": [ - "api", - "v2", - "nrf-rating", - "ratingdata" - ] - } - }, - "status": "Not Found", - "code": 404, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Date", - "value": "Fri, 03 Jan 2025 10:34:54 GMT" - }, - { - "key": "Content-Type", - "value": "application/problem+json; charset=utf-8" - }, - { - "key": "Content-Length", - "value": "297" - }, - { - "key": "Connection", - "value": "keep-alive" - }, - { - "key": "Access-Control-Allow-Credentials", - "value": "true" - }, - { - "key": "Access-Control-Allow-Headers", - "value": "Authorization,Pragma,Cache-control,Content-type,X-Requested-With" - }, - { - "key": "Access-Control-Allow-Methods", - "value": "GET,POST,PUT,DELETE,HEAD,OPTIONS" - } - ], - "cookie": [], - "body": "{\n \"type\": \"USER_UNKNOWN\",\n \"title\": \"TERMINATE\",\n \"status\": 404,\n \"detail\": \"The HTTP request is rejected because the end user specified in the request cannot be served by the RF (the subscriber identity could not be matched with a known subscriber).\",\n \"instance\": \"api-667f79877-v6dp9\",\n \"cause\": \"USER_UNKNOWN\"\n}" - }, - { - "name": "RATING_FAILED", - "originalRequest": { - "method": "POST", - "header": [ - { - "key": "Accept", - "value": "application/json" - }, - { - "key": "Content-Type", - "value": "application/json;charset=utf-8" - }, - { - "key": "Accept-Language", - "value": "en" - }, - { - "key": "Accept-Charset", - "value": "windows-1251", - "disabled": true - }, - { - "key": "Authorization", - "value": "Basic YXBpX3VzZXI6V2lkZWNvdXAx" - }, - { - "key": "Global_unique_id", - "value": "a4035746-75eb-4128-a58d-22b0689da4be<", - "disabled": true - }, - { - "key": "System", - "value": "300", - "disabled": true - } - ], - "body": { - "mode": "raw", - "raw": "{\r\n \"invocationSequenceNumber\":1,\r\n \"oneTimeEvent\":true,\r\n \"oneTimeEventType\":\"PEC\",\r\n \"invocationTimeStamp\":\"{{NOW}}\",\r\n \"beginTimeStamp\":\"{{NOW}}\",\r\n \"nfConsumerIdentification\":{\r\n \"nodeFunctionality\":\"OCF\"\r\n },\r\n \"subscriptionId\":[\r\n \"msisdn-KOT_1000546534\",\r\n \"nai-29@kyivstar.net\"\r\n ],\r\n \"serviceRating\":[\r\n {\r\n \"serviceContextId\":\"32274@3gpp.org\",\r\n \"serviceId\":412001,\r\n \"ratingGroup\":1,\r\n \"destinationId\":[\r\n {\r\n \"destinationIdType\":\"DN\",\r\n \"destinationIdData\":\"380671234567\"\r\n }\r\n ],\r\n \"requestSubType\":\"RESERVE\",\r\n \"consumedUnit\":{\r\n \"serviceSpecificUnit\":1\r\n }\r\n }\r\n ]\r\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "{{API}}/api/v2/nrf-rating/ratingdata", - "host": [ - "{{API}}" - ], - "path": [ - "api", - "v2", - "nrf-rating", - "ratingdata" - ] - } - }, - "status": "Forbidden", - "code": 403, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Date", - "value": "Fri, 03 Jan 2025 10:36:13 GMT" - }, - { - "key": "Content-Type", - "value": "application/problem+json; charset=utf-8" - }, - { - "key": "Content-Length", - "value": "164" - }, - { - "key": "Connection", - "value": "keep-alive" - }, - { - "key": "x-execution-status", - "value": "done" - }, - { - "key": "Access-Control-Allow-Credentials", - "value": "true" - }, - { - "key": "Access-Control-Allow-Headers", - "value": "Authorization,Pragma,Cache-control,Content-type,X-Requested-With" - }, - { - "key": "Access-Control-Allow-Methods", - "value": "GET,POST,PUT,DELETE,HEAD,OPTIONS" - } - ], - "cookie": [], - "body": "{\n \"type\": \"RATING_FAILED\",\n \"title\": \"TERMINATE\",\n \"status\": 403,\n \"detail\": \"[-2][RFRatingPluginV2] Timeout expired\",\n \"instance\": \"api-9fc4d85b8-wrxpm\",\n \"cause\": \"RATING_FAILED\"\n}" - }, - { - "name": "Validation Error", - "originalRequest": { - "method": "POST", - "header": [ - { - "key": "Accept", - "value": "application/json" - }, - { - "key": "Content-Type", - "value": "application/json;charset=utf-8" - }, - { - "key": "Accept-Language", - "value": "en" - }, - { - "key": "Accept-Charset", - "value": "windows-1251", - "disabled": true - }, - { - "key": "Authorization", - "value": "Basic YXBpX3VzZXI6V2lkZWNvdXAx" - }, - { - "key": "Global_unique_id", - "value": "a4035746-75eb-4128-a58d-22b0689da4be<", - "disabled": true - }, - { - "key": "System", - "value": "300", - "disabled": true - } - ], - "body": { - "mode": "raw", - "raw": "{\r\n \"invocationSequenceNumber\":1,\r\n \"oneTimeEvent\":true,\r\n \"oneTimeEventType\":\"PEC\",\r\n \"invocationTimeStamp\":\"{{NOW}}\",\r\n \"beginTimeStamp\":\"{{NOW}}\",\r\n \"subscriptionId\":[\r\n \"msisdn-KOT_1000546534\",\r\n \"nai-29@kyivstar.net\"\r\n ],\r\n \"serviceRating\":[\r\n {\r\n \"serviceContextId\":\"32274@3gpp.org\",\r\n \"serviceId\":412001,\r\n \"ratingGroup\":1,\r\n \"destinationId\":[\r\n {\r\n \"destinationIdType\":\"DN\",\r\n \"destinationIdData\":\"380671234567\"\r\n }\r\n ],\r\n \"requestSubType\":\"RESERVE\",\r\n \"requestedUnit\":{\r\n \"serviceSpecificUnit\":1\r\n }\r\n }\r\n ]\r\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "{{API}}/api/v2/nrf-rating/ratingdata", - "host": [ - "{{API}}" - ], - "path": [ - "api", - "v2", - "nrf-rating", - "ratingdata" - ] - } - }, - "status": "Forbidden", - "code": 403, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Date", - "value": "Fri, 31 Jan 2025 17:39:08 GMT" - }, - { - "key": "Content-Type", - "value": "application/problem+json; charset=utf-8" - }, - { - "key": "Content-Length", - "value": "252" - }, - { - "key": "Connection", - "value": "keep-alive" - }, - { - "key": "x-execution-status", - "value": "done" - }, - { - "key": "Access-Control-Allow-Credentials", - "value": "true" - }, - { - "key": "Access-Control-Allow-Headers", - "value": "Authorization,Pragma,Cache-control,Content-type,X-Requested-With" - }, - { - "key": "Access-Control-Allow-Methods", - "value": "GET,POST,PUT,DELETE,HEAD,OPTIONS" - } - ], - "cookie": [], - "body": "{\n \"type\": \"RATING_FAILED\",\n \"title\": \"TERMINATE\",\n \"detail\": \"Request validation error\",\n \"instance\": \"api-79fd58fff9-2tcm2\",\n \"cause\": \"RATING_FAILED\",\n \"invalidParams\": [\n {\n \"param\": \"NfConsumerIdentification\",\n \"reason\": \"The NfConsumerIdentification field is required.\"\n }\n ]\n}" - } - ] - }, - { - "name": "RatingData Release", - "event": [ - { - "listen": "prerequest", - "script": { - "exec": [ - "postman.setGlobalVariable('NOW', (new Date()).toISOString());" - ], - "type": "text/javascript", - "packages": {} - } - } - ], - "request": { - "method": "POST", - "header": [ - { - "key": "Accept", - "value": "application/json" - }, - { - "key": "Content-Type", - "value": "application/json;charset=utf-8" - }, - { - "key": "Accept-Language", - "value": "en" - }, - { - "key": "Accept-Charset", - "value": "windows-1251", - "disabled": true - }, - { - "key": "Authorization", - "value": "Basic YXBpX3VzZXI6V2lkZWNvdXAx" - }, - { - "key": "Global_unique_id", - "value": "a4035746-75eb-4128-a58d-22b0689da4be<", - "disabled": true - }, - { - "key": "System", - "value": "300", - "disabled": true - } - ], - "body": { - "mode": "raw", - "raw": "{\r\n \"invocationSequenceNumber\":2,\r\n \"oneTimeEvent\":true,\r\n \"oneTimeEventType\":\"PEC\",\r\n \"invocationTimeStamp\":\"{{NOW}}\",\r\n \"beginTimeStamp\":\"{{NOW}}\",\r\n \"nfConsumerIdentification\":{\r\n \"nodeFunctionality\":\"OCF\",\r\n \"nFIPv4Address\":\"\"\r\n },\r\n \"subscriptionId\":[\r\n \"msisdn-KOT_1000546534\",\r\n \"nai-29@kyivstar.net\"\r\n ],\r\n \"serviceRating\":[\r\n {\r\n \"serviceContextId\":\"32274@3gpp.org\",\r\n \"serviceId\":412001,\r\n \"ratingGroup\":1,\r\n \"destinationId\":[\r\n {\r\n \"destinationIdType\":\"DN\",\r\n \"destinationIdData\":\"\"\r\n }\r\n ],\r\n \"requestSubType\":\"RELEASE\",\r\n \"consumedUnit\":{\r\n \"serviceSpecificUnit\":0\r\n }\r\n }\r\n ]\r\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "{{API}}/api/v2/nrf-rating/ratingdata/20404600000284366055/update", - "host": [ - "{{API}}" - ], - "path": [ - "api", - "v2", - "nrf-rating", - "ratingdata", - "20404600000284366055", - "update" - ] - } - }, - "response": [ - { - "name": "SUCCESS RELEASE", - "originalRequest": { - "method": "POST", - "header": [ - { - "key": "Accept", - "value": "application/json" - }, - { - "key": "Content-Type", - "value": "application/json;charset=utf-8" - }, - { - "key": "Accept-Language", - "value": "en" - }, - { - "key": "Accept-Charset", - "value": "windows-1251", - "disabled": true - }, - { - "key": "Authorization", - "value": "Basic YXBpX3VzZXI6V2lkZWNvdXAx" - }, - { - "key": "Global_unique_id", - "value": "a4035746-75eb-4128-a58d-22b0689da4be<", - "disabled": true - }, - { - "key": "System", - "value": "300", - "disabled": true - } - ], - "body": { - "mode": "raw", - "raw": "{\r\n \"invocationSequenceNumber\":1,\r\n \"oneTimeEvent\":true,\r\n \"oneTimeEventType\":\"PEC\",\r\n \"invocationTimeStamp\":\"{{NOW}}\",\r\n \"beginTimeStamp\":\"{{NOW}}\",\r\n \"nfConsumerIdentification\":{\r\n \"nodeFunctionality\":\"OCF\"\r\n },\r\n \"subscriptionId\":[\r\n \"msisdn-KOT_1000546534\",\r\n \"nai-29@kyivstar.net\"\r\n ],\r\n \"serviceRating\":[\r\n {\r\n \"serviceContextId\":\"32274@3gpp.org\",\r\n \"serviceId\":412001,\r\n \"ratingGroup\":1,\r\n \"destinationId\":[\r\n {\r\n \"destinationIdType\":\"DN\",\r\n \"destinationIdData\":\"380671234567\"\r\n }\r\n ],\r\n \"requestSubType\":\"RELEASE\",\r\n \"consumedUnit\":{\r\n \"serviceSpecificUnit\":0\r\n }\r\n }\r\n ]\r\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "{{API}}/api/v2/nrf-rating/ratingdata/20404600000052793809/release", - "host": [ - "{{API}}" - ], - "path": [ - "api", - "v2", - "nrf-rating", - "ratingdata", - "20404600000052793809", - "release" - ] - } - }, - "status": "Created", - "code": 201, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Date", - "value": "Fri, 03 Jan 2025 10:44:30 GMT" - }, - { - "key": "Content-Type", - "value": "application/json; charset=utf-8" - }, - { - "key": "Content-Length", - "value": "227" - }, - { - "key": "Connection", - "value": "keep-alive" - }, - { - "key": "Location", - "value": "/ratingdata/20404600000052793809" - }, - { - "key": "Access-Control-Allow-Credentials", - "value": "true" - }, - { - "key": "Access-Control-Allow-Headers", - "value": "Authorization,Pragma,Cache-control,Content-type,X-Requested-With" - }, - { - "key": "Access-Control-Allow-Methods", - "value": "GET,POST,PUT,DELETE,HEAD,OPTIONS" - }, - { - "key": "Strict-Transport-Security", - "value": "max-age=31536000" - }, - { - "key": "Content-Security-Policy", - "value": "img-src https: data:; upgrade-insecure-requests" - } - ], - "cookie": [], - "body": "{\n \"invocationTimeStamp\": \"2025-01-03T10:44:30.119\",\n \"invocationSequenceNumber\": 1,\n \"serviceRating\": [\n {\n \"consumedUnit\": {\n \"totalVolume\": 0\n },\n \"serviceContextId\": \"32274@3gpp.org\",\n \"ratingGroup\": 1,\n \"resultCode\": \"SUCCESS\"\n }\n ]\n}" - } - ] - }, - { - "name": "RatingData preprod", - "event": [ - { - "listen": "prerequest", - "script": { - "exec": [ - "postman.setGlobalVariable('NOW', (new Date()).toISOString());" - ], - "type": "text/javascript", - "packages": {} - } - } - ], - "request": { - "method": "POST", - "header": [ - { - "key": "Accept", - "value": "application/json" - }, - { - "key": "Content-Type", - "value": "application/json;charset=utf-8" - }, - { - "key": "Accept-Language", - "value": "en" - }, - { - "key": "Accept-Charset", - "value": "windows-1251", - "disabled": true - }, - { - "key": "Authorization", - "value": "Basic YXBpX3VzZXI6V2lkZWNvdXAx" - }, - { - "key": "Global_unique_id", - "value": "a4035746-75eb-4128-a58d-22b0689da4be<", - "disabled": true - }, - { - "key": "System", - "value": "300", - "disabled": true - } - ], - "body": { - "mode": "raw", - "raw": "{\r\n \"invocationSequenceNumber\":1,\r\n \"oneTimeEvent\":true,\r\n \"oneTimeEventType\":\"PEC\",\r\n \"invocationTimeStamp\":\"{{NOW}}\",\r\n \"beginTimeStamp\":\"{{NOW}}\",\r\n \"nfConsumerIdentification\":{\r\n \"nodeFunctionality\":\"OCF\"\r\n },\r\n \"subscriptionId\":[\r\n \"msisdn-KOT_1000546047\",\r\n \"nai-29@kyivstar.net\"\r\n ],\r\n \"serviceRating\":[\r\n {\r\n \"serviceContextId\":\"32274@3gpp.org\",\r\n \"serviceId\":412001,\r\n \"ratingGroup\":1,\r\n \"destinationId\":[\r\n {\r\n \"destinationIdType\":\"DN\",\r\n \"destinationIdData\":\"380671234567\"\r\n }\r\n ],\r\n \"requestSubType\":\"RESERVE\",\r\n \"requestedUnit\":{\r\n \"serviceSpecificUnit\":1\r\n }\r\n }\r\n ]\r\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "{{API}}/api/v2/nrf-rating/ratingdata", - "host": [ - "{{API}}" - ], - "path": [ - "api", - "v2", - "nrf-rating", - "ratingdata" - ] - } - }, - "response": [] - }, - { - "name": "RatingData Update error", - "event": [ - { - "listen": "prerequest", - "script": { - "exec": [ - "postman.setGlobalVariable('NOW', (new Date()).toISOString());" - ], - "type": "text/javascript", - "packages": {} - } - } - ], - "request": { - "method": "POST", - "header": [ - { - "key": "Accept", - "value": "application/json" - }, - { - "key": "Content-Type", - "value": "application/json;charset=utf-8" - }, - { - "key": "Accept-Language", - "value": "en" - }, - { - "key": "Accept-Charset", - "value": "windows-1251", - "disabled": true - }, - { - "key": "Authorization", - "value": "Basic YXBpX3VzZXI6V2lkZWNvdXAx" - }, - { - "key": "Global_unique_id", - "value": "a4035746-75eb-4128-a58d-22b0689da4be<", - "disabled": true - }, - { - "key": "System", - "value": "300", - "disabled": true - } - ], - "body": { - "mode": "raw", - "raw": "{\r\n \"invocationSequenceNumber\":1,\r\n \"oneTimeEvent\":true,\r\n \"oneTimeEventType\":\"PEC\",\r\n \"invocationTimeStamp\":\"{{NOW}}\",\r\n \"beginTimeStamp\":\"{{NOW}}\",\r\n \"nfConsumerIdentification\":{\r\n \"nodeFunctionality\":\"OCF\"\r\n },\r\n \"serviceRating\":[\r\n {\r\n \"serviceContextId\":\"32274@3gpp.org\",\r\n \"serviceId\":412001,\r\n \"ratingGroup\":1,\r\n \"destinationId\":[\r\n {\r\n \"destinationIdType\":\"DN\",\r\n \"destinationIdData\":\"380671234567\"\r\n }\r\n ],\r\n \"requestSubType\":\"RELEASE\"\r\n }\r\n ]\r\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "{{API}}/api/v2/nrf-rating/ratingdata/20404600000195594123/update", - "host": [ - "{{API}}" - ], - "path": [ - "api", - "v2", - "nrf-rating", - "ratingdata", - "20404600000195594123", - "update" - ] - } - }, - "response": [] - } - ] - }, - { - "name": "HEALTH", - "item": [ - { - "name": "RatingData Preload", - "request": { - "auth": { - "type": "basic", - "basic": [ - { - "key": "username", - "value": "login", - "type": "string" - }, - { - "key": "password", - "value": "password", - "type": "string" - } - ] - }, - "method": "HEAD", - "header": [], - "url": { - "raw": "{{API}}/api/v2/nrf-rating/ratingdata/reginfo", - "host": [ - "{{API}}" - ], - "path": [ - "api", - "v2", - "nrf-rating", - "ratingdata", - "reginfo" - ] - } - }, - "response": [ - { - "name": "SUCCESS", - "originalRequest": { - "method": "HEAD", - "header": [], - "url": { - "raw": "{{API}}/api/v2/nrf-rating/ratingdata/reginfo", - "host": [ - "{{API}}" - ], - "path": [ - "api", - "v2", - "nrf-rating", - "ratingdata", - "reginfo" - ] - } - }, - "status": "OK", - "code": 200, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Date", - "value": "Fri, 03 Jan 2025 14:00:35 GMT" - }, - { - "key": "Content-Type", - "value": "application/json; charset=utf-8" - }, - { - "key": "Connection", - "value": "keep-alive" - }, - { - "key": "x-reginfo", - "value": "commonerrorhandling=True;hasproxy =False;version=1.2.0.21;regdatetime=12/17/2024 14:15:27" - }, - { - "key": "Access-Control-Allow-Credentials", - "value": "true" - }, - { - "key": "Access-Control-Allow-Headers", - "value": "Authorization,Pragma,Cache-control,Content-type,X-Requested-With" - }, - { - "key": "Access-Control-Allow-Methods", - "value": "GET,POST,PUT,DELETE,HEAD,OPTIONS" - }, - { - "key": "Strict-Transport-Security", - "value": "max-age=31536000" - }, - { - "key": "Content-Security-Policy", - "value": "img-src https: data:; upgrade-insecure-requests" - }, - { - "key": "Content-Encoding", - "value": "gzip" - } - ], - "cookie": [], - "body": null - } - ] - }, - { - "name": "RatingData Health", - "request": { - "auth": { - "type": "basic", - "basic": [ - { - "key": "username", - "value": "login", - "type": "string" - }, - { - "key": "password", - "value": "password", - "type": "string" - } - ] - }, - "method": "GET", - "header": [], - "url": { - "raw": "{{API}}/api/v2/nrf-rating/ratingdata/health?diagnosticTimeOut=1000", - "host": [ - "{{API}}" - ], - "path": [ - "api", - "v2", - "nrf-rating", - "ratingdata", - "health" - ], - "query": [ - { - "key": "diagnosticTimeOut", - "value": "1000" - } - ] - } - }, - "response": [ - { - "name": "SUCCESS", - "originalRequest": { - "method": "GET", - "header": [], - "url": { - "raw": "{{API}}/api/v2/nrf-rating/ratingdata/health", - "host": [ - "{{API}}" - ], - "path": [ - "api", - "v2", - "nrf-rating", - "ratingdata", - "health" - ] - } - }, - "status": "OK", - "code": 200, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Date", - "value": "Wed, 05 Feb 2025 06:43:52 GMT" - }, - { - "key": "Content-Type", - "value": "application/json" - }, - { - "key": "Transfer-Encoding", - "value": "chunked" - }, - { - "key": "Connection", - "value": "keep-alive" - }, - { - "key": "x-plan-object-id", - "value": "1360980962" - }, - { - "key": "x-last-elapsed-time", - "value": "82669" - }, - { - "key": "x-reginfo", - "value": "commonerrorhandling=true;hasproxy =false;version=1.2.0.38" - }, - { - "key": "x-execution-status", - "value": "done" - }, - { - "key": "Access-Control-Allow-Credentials", - "value": "true" - }, - { - "key": "Access-Control-Allow-Headers", - "value": "Authorization,Pragma,Cache-control,Content-type,X-Requested-With" - }, - { - "key": "Access-Control-Allow-Methods", - "value": "GET,POST,PUT,DELETE,HEAD,OPTIONS" - }, - { - "key": "Strict-Transport-Security", - "value": "max-age=31536000" - }, - { - "key": "Content-Security-Policy", - "value": "img-src https: data:; upgrade-insecure-requests" - }, - { - "key": "Content-Encoding", - "value": "gzip" - } - ], - "cookie": [], - "body": "{\n \"invocationTimeStamp\": \"2025-02-05T06:43:52.376Z\",\n \"invocationSequenceNumber\": 1,\n \"invocationResult\": {\n \"instance\": \"api-599dd98f7b-m66z4\"\n },\n \"type\": \"RATING_HEALTH\",\n \"serviceRating\": [\n {\n \"resultCode\": \"SUCCESS\"\n }\n ],\n \"diagnostics\": {}\n}" - }, - { - "name": "RatingData Health", - "originalRequest": { - "method": "GET", - "header": [], - "url": { - "raw": "{{API}}/api/v2/nrf-rating/ratingdata/health", - "host": [ - "{{API}}" - ], - "path": [ - "api", - "v2", - "nrf-rating", - "ratingdata", - "health" - ] - } - }, - "status": "Forbidden", - "code": 403, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Length", - "value": "1020" - }, - { - "key": "Content-Type", - "value": "application/problem+json" - }, - { - "key": "x-cached-plan", - "value": "False" - }, - { - "key": "x-reginfo", - "value": "commonerrorhandling=true;hasproxy =false;version=1.2.0.40" - }, - { - "key": "x-execution-status", - "value": "done" - }, - { - "key": "Access-Control-Allow-Methods", - "value": "GET, PUT, POST, DELETE, OPTIONS, HEAD" - }, - { - "key": "Access-Control-Allow-Headers", - "value": "Authorization,Pragma,Cache-control,Content-type" - }, - { - "key": "Access-Control-Allow-Credentials", - "value": "true" - }, - { - "key": "Date", - "value": "Mon, 10 Feb 2025 07:14:05 GMT" - } - ], - "cookie": [], - "body": "{\n \"invocationTimeStamp\": \"2025-02-10T07:14:05.796Z\",\n \"invocationSequenceNumber\": 1,\n \"invocationResult\": {\n \"instance\": \"DEVSERV\"\n },\n \"type\": \"RATING_HEALTH\",\n \"serviceRating\": [\n {\n \"resultCode\": \"FAILURE\"\n }\n ],\n \"diagnostics\": {\n \"Actual active connections currently made to servers\": 4,\n \"Active connections retrieved from the connection pool\": 2,\n \"Number of connections not using connection pooling\": 0,\n \"Number of connections managed by the connection pool\": 4,\n \"Number of active unique connection strings\": 3,\n \"Number of unique connection strings waiting for pruning\": 0,\n \"Number of active connection pools\": 3,\n \"Number of inactive connection pools\": 0,\n \"Number of active connections\": 2,\n \"Number of ready connections in the connection pool\": 2,\n \"Number of connections currently waiting to be ready\": 0\n }\n}" - } - ] - } - ] - } - ], - "event": [ - { - "listen": "prerequest", - "script": { - "type": "text/javascript", - "packages": {}, - "exec": [ - "" - ] - } - }, - { - "listen": "test", - "script": { - "type": "text/javascript", - "packages": {}, - "exec": [ - "" - ] - } - } - ], - "variable": [ - { - "key": "msisdn", - "value": "380678102298", - "type": "string" - }, - { - "key": "imsi", - "value": "255030012320341", - "type": "string" - }, - { - "key": "imei", - "value": "383455587288299", - "type": "string" - }, - { - "key": "mcc", - "value": "255", - "type": "string" - }, - { - "key": "mnc", - "value": "03", - "type": "string" - }, - { - "key": "apn", - "value": "m2mplatform", - "type": "string" - }, - { - "key": "schar", - "value": "0701", - "type": "string" - }, - { - "key": "rg", - "value": "100", - "type": "string" - } - ] -} \ No newline at end of file + "info": { + "_postman_id": "f87a1ff5-df34-464b-9278-beea3829fb0f", + "name": "3GPP Rf Rating (MEF.DEV)", + "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json", + "_exporter_id": "16338639", + "_collection_link": "https://mef-dev.postman.co/workspace/mef-dev-Workspace~fe94183d-bd30-4fd9-8c8d-71a74155a6dc/collection/16338639-f87a1ff5-df34-464b-9278-beea3829fb0f?action=share&source=collection_link&creator=16338639" + }, + "item": [ + { + "name": "SCUR (Class B) DATA", + "item": [ + { + "name": "RatingData", + "request": { + "method": "POST", + "header": [ + { + "key": "Accept", + "value": "application/json" + }, + { + "key": "Content-Type", + "value": "application/json;charset=utf-8" + }, + { + "key": "Accept-Language", + "value": "uk" + }, + { + "key": "Accept-Charset", + "value": "windows-1251" + }, + { + "key": "Authorization", + "value": "Basic YXBpX3VzZXI6V2lkZWNvdXAx" + }, + { + "key": "Global_unique_id", + "value": "a4035746-75eb-4128-a58d-22b0689da4be<" + }, + { + "key": "System", + "value": "300" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"subscriptionId\":[\r\n \"imsi-255030638445802\",\r\n \"msisdn-9303569_00780030-0030-0063-3700-650065006400\"\r\n ],\r\n \"serviceRating\":[\r\n {\r\n \"userInformation\":{\r\n \"servedPei\":\"imei-383455587288299\"\r\n },\r\n \"serviceInformation\":{\r\n \"sgsnMccMnc\":{\r\n \"mnc\":\"03\",\r\n \"mcc\":\"255\"\r\n },\r\n \"ratType\":\"SINGLE\",\r\n \"chargingCharacteristics\":\"0701\",\r\n \"apn\":\"m2mplatform\"\r\n },\r\n \"serviceContextId\":\"32251@3gpp.org\",\r\n \"requestSubType\":\"RESERVE\",\r\n \"ratingGroup\":100\r\n }\r\n ],\r\n \"nfConsumerIdentification\":{\r\n \"nodeFunctionality\":\"OCF\"\r\n },\r\n \"invocationTimeStamp\":\"2024-07-28T08:14:48.177Z\",\r\n \"invocationSequenceNumber\":2986\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{API}}/api/v2/nrf-rating/ratingdata", + "host": [ + "{{API}}" + ], + "path": [ + "api", + "v2", + "nrf-rating", + "ratingdata" + ] + } + }, + "response": [ + { + "name": "SUCCESS", + "originalRequest": { + "method": "POST", + "header": [ + { + "key": "Accept", + "value": "application/json" + }, + { + "key": "Content-Type", + "value": "application/json;charset=utf-8" + }, + { + "key": "Accept-Language", + "value": "uk" + }, + { + "key": "Accept-Charset", + "value": "windows-1251" + }, + { + "key": "Authorization", + "value": "Basic YXBpX3VzZXI6V2lkZWNvdXAx" + }, + { + "key": "Global_unique_id", + "value": "a4035746-75eb-4128-a58d-22b0689da4be<" + }, + { + "key": "System", + "value": "300" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"subscriptionId\":[\r\n \"imsi-255030012320341\",\r\n \"msisdn-380678102298\"\r\n ],\r\n \"serviceRating\":[\r\n {\r\n \"userInformation\":{\r\n \"servedPei\":\"imei-383455587288299\"\r\n },\r\n \"serviceInformation\":{\r\n \"userLocationinfo\":{\r\n \"utraLocation\":{\r\n \"sai\":{\r\n \"sac\":\"acf4\",\r\n \"plmnId\":{\r\n \"mnc\":\"03\",\r\n \"mcc\":\"255\"\r\n },\r\n \"lac\":\"6a33\"\r\n }\r\n }\r\n },\r\n \"sgsnMccMnc\":{\r\n \"mnc\":\"03\",\r\n \"mcc\":\"255\"\r\n },\r\n \"ratType\":\"UTRAN\",\r\n \"pdpAddress\":\"localhost\",\r\n \"chargingCharacteristics\":\"0701\",\r\n \"apn\":\"m2mplatform\"\r\n },\r\n \"serviceContextId\":\"32251@3gpp.org\",\r\n \"requestSubType\":\"RESERVE\",\r\n \"ratingGroup\":100\r\n }\r\n ],\r\n \"nfConsumerIdentification\":{\r\n \"nodeFunctionality\":\"OCF\"\r\n },\r\n \"invocationTimeStamp\":\"2025-01-27T11:46:50.239Z\",\r\n \"invocationSequenceNumber\":2\r\n}\r\n ", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{API}}/api/v2/nrf-rating/ratingdata", + "host": [ + "{{API}}" + ], + "path": [ + "api", + "v2", + "nrf-rating", + "ratingdata" + ] + } + }, + "status": "Created", + "code": 201, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Date", + "value": "Wed, 05 Feb 2025 06:13:23 GMT" + }, + { + "key": "Content-Type", + "value": "application/json; charset=windows-1251" + }, + { + "key": "Content-Length", + "value": "274" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "Location", + "value": "/ratingdata/20404300000000155366" + }, + { + "key": "x-bypass-filter", + "value": "DataByPassLocalAcceptDefault" + }, + { + "key": "x-execution-status", + "value": "done" + }, + { + "key": "Access-Control-Allow-Credentials", + "value": "true" + }, + { + "key": "Access-Control-Allow-Headers", + "value": "Authorization,Pragma,Cache-control,Content-type,X-Requested-With" + }, + { + "key": "Access-Control-Allow-Methods", + "value": "GET,POST,PUT,DELETE,HEAD,OPTIONS" + }, + { + "key": "Strict-Transport-Security", + "value": "max-age=31536000" + }, + { + "key": "Content-Security-Policy", + "value": "img-src https: data:; upgrade-insecure-requests" + } + ], + "cookie": [], + "body": "{\n \"invocationTimeStamp\": \"2025-01-27T11:46:50.239\",\n \"invocationSequenceNumber\": 2,\n \"serviceRating\": [\n {\n \"grantedUnit\": {\n \"totalVolume\": 10485760\n },\n \"serviceContextId\": \"32251@3gpp.org\",\n \"expiryTime\": 3270,\n \"ratingGroup\": 100,\n \"validUnits\": 1048576,\n \"resultCode\": \"SUCCESS\"\n }\n ]\n}" + }, + { + "name": "UNKNOWN USER", + "originalRequest": { + "method": "POST", + "header": [ + { + "key": "Accept", + "value": "application/json" + }, + { + "key": "Content-Type", + "value": "application/json;charset=utf-8" + }, + { + "key": "Accept-Language", + "value": "uk" + }, + { + "key": "Accept-Charset", + "value": "windows-1251" + }, + { + "key": "Authorization", + "value": "Basic YXBpX3VzZXI6V2lkZWNvdXAx" + }, + { + "key": "Global_unique_id", + "value": "a4035746-75eb-4128-a58d-22b0689da4be<" + }, + { + "key": "System", + "value": "300" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"subscriptionId\":[\r\n \"imsi-255030012320341\",\r\n \"msisdn-00000000000\"\r\n ],\r\n \"serviceRating\":[\r\n {\r\n \"userInformation\":{\r\n \"servedPei\":\"imei-383455587288299\"\r\n },\r\n \"serviceInformation\":{\r\n \"userLocationinfo\":{\r\n \"utraLocation\":{\r\n \"sai\":{\r\n \"sac\":\"acf4\",\r\n \"plmnId\":{\r\n \"mnc\":\"03\",\r\n \"mcc\":\"255\"\r\n },\r\n \"lac\":\"6a33\"\r\n }\r\n }\r\n },\r\n \"sgsnMccMnc\":{\r\n \"mnc\":\"03\",\r\n \"mcc\":\"255\"\r\n },\r\n \"ratType\":\"UTRAN\",\r\n \"pdpAddress\":\"localhost\",\r\n \"chargingCharacteristics\":\"0701\",\r\n \"apn\":\"m2mplatform\"\r\n },\r\n \"serviceContextId\":\"32251@3gpp.org\",\r\n \"requestSubType\":\"RESERVE\",\r\n \"ratingGroup\":100\r\n }\r\n ],\r\n \"nfConsumerIdentification\":{\r\n \"nodeFunctionality\":\"OCF\"\r\n },\r\n \"invocationTimeStamp\":\"2025-01-27T11:46:50.239Z\",\r\n \"invocationSequenceNumber\":2\r\n}\r\n ", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{API}}/api/v2/nrf-rating/ratingdata", + "host": [ + "{{API}}" + ], + "path": [ + "api", + "v2", + "nrf-rating", + "ratingdata" + ] + } + }, + "status": "Not Found", + "code": 404, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Date", + "value": "Wed, 05 Feb 2025 06:14:24 GMT" + }, + { + "key": "Content-Type", + "value": "application/problem+json; charset=windows-1251" + }, + { + "key": "Content-Length", + "value": "298" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "x-bypass-filter", + "value": "DataByPassLocalAcceptDefault" + }, + { + "key": "x-execution-status", + "value": "done" + }, + { + "key": "Access-Control-Allow-Credentials", + "value": "true" + }, + { + "key": "Access-Control-Allow-Headers", + "value": "Authorization,Pragma,Cache-control,Content-type,X-Requested-With" + }, + { + "key": "Access-Control-Allow-Methods", + "value": "GET,POST,PUT,DELETE,HEAD,OPTIONS" + } + ], + "cookie": [], + "body": "{\n \"type\": \"USER_UNKNOWN\",\n \"title\": \"TERMINATE\",\n \"status\": 404,\n \"detail\": \"The HTTP request is rejected because the end user specified in the request cannot be served by the RF (the subscriber identity could not be matched with a known subscriber).\",\n \"instance\": \"api-599dd98f7b-m66z4\",\n \"cause\": \"USER_UNKNOWN\"\n}" + } + ] + }, + { + "name": "RatingData\\Update", + "request": { + "method": "POST", + "header": [ + { + "key": "Accept", + "value": "application/json" + }, + { + "key": "Content-Type", + "value": "application/json;charset=utf-8" + }, + { + "key": "Accept-Language", + "value": "uk" + }, + { + "key": "Accept-Charset", + "value": "windows-1251" + }, + { + "key": "Authorization", + "value": "Basic YXBpX3VzZXI6V2lkZWNvdXAx" + }, + { + "key": "Global_unique_id", + "value": "a4035746-75eb-4128-a58d-22b0689da4be<" + }, + { + "key": "System", + "value": "300" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"subscriptionId\":[\r\n \"imsi-{{imsi}}\",\r\n \"msisdn-{{msisdn}}\"\r\n ],\r\n \"serviceRating\":[\r\n {\r\n \"userInformation\":{\r\n \"servedPei\":\"imei-{{imei}}\"\r\n },\r\n \"serviceInformation\":{\r\n \"userLocationinfo\":{\r\n \"utraLocation\":{\r\n \"sai\":{\r\n \"sac\":\"acf4\",\r\n \"plmnId\":{\r\n \"mnc\":\"{{mnc}}\",\r\n \"mcc\":\"{{mcc}}\"\r\n },\r\n \"lac\":\"6a33\"\r\n }\r\n }\r\n },\r\n \"sgsnMccMnc\":{\r\n \"mnc\":\"{{mnc}}\",\r\n \"mcc\":\"{{mcc}}\"\r\n },\r\n \"ratType\":\"UTRAN\",\r\n \"pdpAddress\":\"localhost\",\r\n \"chargingCharacteristics\":\"{{schar}}\",\r\n \"apn\":\"{{apn}}\"\r\n },\r\n \"serviceContextId\":\"32251@3gpp.org\",\r\n \"requestSubType\":\"DEBIT\",\r\n \"consumedUnit\":{\r\n \"TotalVolume\":10000\r\n },\r\n \"ratingGroup\":{{rg}}\r\n },\r\n {\r\n \"userInformation\":{\r\n \"servedPei\":\"imei-{{imei}}\"\r\n },\r\n \"serviceInformation\":{\r\n \"userLocationinfo\":{\r\n \"utraLocation\":{\r\n \"sai\":{\r\n \"sac\":\"acf4\",\r\n \"plmnId\":{\r\n \"mnc\":\"{{mnc}}\",\r\n \"mcc\":\"{{mcc}}\"\r\n },\r\n \"lac\":\"6a33\"\r\n }\r\n }\r\n },\r\n \"sgsnMccMnc\":{\r\n \"mnc\":\"{{mnc}}\",\r\n \"mcc\":\"{{mcc}}\"\r\n },\r\n \"ratType\":\"UTRAN\",\r\n \"pdpAddress\":\"localhost\",\r\n \"chargingCharacteristics\":\"{{schar}}\",\r\n \"apn\":\"{{apn}}\"\r\n },\r\n \"serviceContextId\":\"32251@3gpp.org\",\r\n \"requestSubType\":\"RESERVE\",\r\n \"ratingGroup\":{{rg}}\r\n }\r\n ],\r\n \"nfConsumerIdentification\":{\r\n \"nodeFunctionality\":\"OCF\"\r\n },\r\n \"invocationTimeStamp\":\"{{NOW}}\",\r\n \"invocationSequenceNumber\":2\r\n}\r\n ", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{API}}/api/v2/nrf-rating/ratingdata/20404300000000155366/update", + "host": [ + "{{API}}" + ], + "path": [ + "api", + "v2", + "nrf-rating", + "ratingdata", + "20404300000000155366", + "update" + ] + } + }, + "response": [ + { + "name": "INCORECT ID", + "originalRequest": { + "method": "POST", + "header": [ + { + "key": "Accept", + "value": "application/json" + }, + { + "key": "Content-Type", + "value": "application/json;charset=utf-8" + }, + { + "key": "Accept-Language", + "value": "uk" + }, + { + "key": "Accept-Charset", + "value": "windows-1251" + }, + { + "key": "Authorization", + "value": "Basic YXBpX3VzZXI6V2lkZWNvdXAx" + }, + { + "key": "Global_unique_id", + "value": "a4035746-75eb-4128-a58d-22b0689da4be<" + }, + { + "key": "System", + "value": "300" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"subscriptionId\":[\r\n \"imsi-893800399222226\",\r\n \"msisdn-380676666342\"\r\n ],\r\n \"serviceRating\":[\r\n {\r\n \"userInformation\":{\r\n \"servedPei\":\"imei-893800399222226000\"\r\n },\r\n \"serviceInformation\":{\r\n \"sgsnMccMnc\":{\r\n \"mnc\":\"03\",\r\n \"mcc\":\"255\"\r\n },\r\n \"ratType\":\"SINGLE\",\r\n \"chargingCharacteristics\":\"0701\",\r\n \"apn\":\"m2mplatform\"\r\n },\r\n \"serviceContextId\":\"32251@3gpp.org\",\r\n \"requestSubType\":\"DEBIT\",\r\n \"consumedUnit\":{\r\n \"totalVolume\":11112\r\n },\r\n \"ratingGroup\":100\r\n }\r\n ],\r\n \"nfConsumerIdentification\":{\r\n \"nodeFunctionality\":\"OCF\"\r\n },\r\n \"invocationTimeStamp\":\"2025-01-04T08:14:48.177Z\",\r\n \"invocationSequenceNumber\":2986\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{API}}/api/v2/nrf-rating/ratingdata/NOT_FOUND/release", + "host": [ + "{{API}}" + ], + "path": [ + "api", + "v2", + "nrf-rating", + "ratingdata", + "NOT_FOUND", + "release" + ] + } + }, + "status": "Forbidden", + "code": 403, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Date", + "value": "Wed, 05 Feb 2025 06:16:48 GMT" + }, + { + "key": "Content-Type", + "value": "application/problem+json; charset=windows-1251" + }, + { + "key": "Content-Length", + "value": "156" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "x-execution-status", + "value": "done" + }, + { + "key": "Access-Control-Allow-Credentials", + "value": "true" + }, + { + "key": "Access-Control-Allow-Headers", + "value": "Authorization,Pragma,Cache-control,Content-type,X-Requested-With" + }, + { + "key": "Access-Control-Allow-Methods", + "value": "GET,POST,PUT,DELETE,HEAD,OPTIONS" + } + ], + "cookie": [], + "body": "{\n \"type\": \"RATING_FAILED\",\n \"title\": \"TERMINATE\",\n \"status\": 403,\n \"detail\": \"Invalid format for session id\",\n \"instance\": \"api-599dd98f7b-m66z4\",\n \"cause\": \"RATING_FAILED\"\n}" + }, + { + "name": "INCORECT MODEL", + "originalRequest": { + "method": "POST", + "header": [ + { + "key": "Accept", + "value": "application/json" + }, + { + "key": "Content-Type", + "value": "application/json;charset=utf-8" + }, + { + "key": "Accept-Language", + "value": "uk" + }, + { + "key": "Accept-Charset", + "value": "windows-1251" + }, + { + "key": "Authorization", + "value": "Basic YXBpX3VzZXI6V2lkZWNvdXAx" + }, + { + "key": "Global_unique_id", + "value": "a4035746-75eb-4128-a58d-22b0689da4be<" + }, + { + "key": "System", + "value": "300" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"subscriptionId\":[\r\n \"imsi-893800399222226\",\r\n \"msisdn-380676666342\"\r\n ],\r\n \"serviceRating\":[\r\n {\r\n \"userInformation\":{\r\n \"servedPei\":\"imei-893800399222226000\"\r\n },\r\n \"serviceInformation\":{\r\n \"sgsnMccMnc\":{\r\n \"mnc\":\"03\",\r\n \"mcc\":\"255\"\r\n },\r\n \"ratType\":\"SINGLE\",\r\n \"chargingCharacteristics\":\"0701\",\r\n \"apn\":\"m2mplatform\"\r\n },\r\n \"serviceContextId\":\"32251@3gpp.org\",\r\n \"requestSubType\":\"DEBIT\",\r\n \"consumedUnit\":{\r\n \"totalVolume\":11112\r\n },\r\n \"ratingGroup\":100\r\n }\r\n ],\r\n \"invocationSequenceNumber\":2\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{API}}/api/v2/nrf-rating/ratingdata/20404300000000155366/release", + "host": [ + "{{API}}" + ], + "path": [ + "api", + "v2", + "nrf-rating", + "ratingdata", + "20404300000000155366", + "release" + ] + } + }, + "status": "Forbidden", + "code": 403, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Date", + "value": "Wed, 05 Feb 2025 06:18:21 GMT" + }, + { + "key": "Content-Type", + "value": "application/problem+json; charset=windows-1251" + }, + { + "key": "Content-Length", + "value": "338" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "x-execution-status", + "value": "done" + }, + { + "key": "Access-Control-Allow-Credentials", + "value": "true" + }, + { + "key": "Access-Control-Allow-Headers", + "value": "Authorization,Pragma,Cache-control,Content-type,X-Requested-With" + }, + { + "key": "Access-Control-Allow-Methods", + "value": "GET,POST,PUT,DELETE,HEAD,OPTIONS" + } + ], + "cookie": [], + "body": "{\n \"type\": \"RATING_FAILED\",\n \"title\": \"TERMINATE\",\n \"detail\": \"Request validation error\",\n \"instance\": \"api-599dd98f7b-m66z4\",\n \"cause\": \"RATING_FAILED\",\n \"invalidParams\": [\n {\n \"param\": \"NfConsumerIdentification\",\n \"reason\": \"The NfConsumerIdentification field is required.\"\n },\n {\n \"param\": \"InvocationTimeStamp\",\n \"reason\": \"The InvocationTimeStamp field is required.\"\n }\n ]\n}" + }, + { + "name": "SUCCESS", + "originalRequest": { + "method": "POST", + "header": [ + { + "key": "Accept", + "value": "application/json" + }, + { + "key": "Content-Type", + "value": "application/json;charset=utf-8" + }, + { + "key": "Accept-Language", + "value": "uk" + }, + { + "key": "Accept-Charset", + "value": "windows-1251" + }, + { + "key": "Authorization", + "value": "Basic YXBpX3VzZXI6V2lkZWNvdXAx" + }, + { + "key": "Global_unique_id", + "value": "a4035746-75eb-4128-a58d-22b0689da4be<" + }, + { + "key": "System", + "value": "300" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"subscriptionId\":[\r\n \"imsi-255030638445802\",\r\n \"msisdn-380678102298\"\r\n ],\r\n \"serviceRating\":[\r\n {\r\n \"userInformation\":{\r\n \"servedPei\":\"imei-383455587288299\"\r\n },\r\n \"serviceInformation\":{\r\n \"userLocationinfo\":{\r\n \"utraLocation\":{\r\n \"sai\":{\r\n \"sac\":\"acf4\",\r\n \"plmnId\":{\r\n \"mnc\":\"03\",\r\n \"mcc\":\"255\"\r\n },\r\n \"lac\":\"6a33\"\r\n }\r\n }\r\n },\r\n \"sgsnMccMnc\":{\r\n \"mnc\":\"03\",\r\n \"mcc\":\"255\"\r\n },\r\n \"ratType\":\"UTRAN\",\r\n \"pdpAddress\":\"localhost\",\r\n \"chargingCharacteristics\":\"0701\",\r\n \"apn\":\"m2mplatform\"\r\n },\r\n \"serviceContextId\":\"32251@3gpp.org\",\r\n \"requestSubType\":\"DEBIT\",\r\n \"consumedUnit\":{\r\n \"TotalVolume\":10000\r\n },\r\n \"ratingGroup\":100\r\n },\r\n {\r\n \"userInformation\":{\r\n \"servedPei\":\"imei-383455587288299\"\r\n },\r\n \"userInformation\":{\r\n \"servedPei\":\"imei-383455587288299\"\r\n },\r\n \"serviceInformation\":{\r\n \"userLocationinfo\":{\r\n \"utraLocation\":{\r\n \"sai\":{\r\n \"sac\":\"acf4\",\r\n \"plmnId\":{\r\n \"mnc\":\"03\",\r\n \"mcc\":\"255\"\r\n },\r\n \"lac\":\"6a33\"\r\n }\r\n }\r\n },\r\n \"sgsnMccMnc\":{\r\n \"mnc\":\"03\",\r\n \"mcc\":\"255\"\r\n },\r\n \"ratType\":\"UTRAN\",\r\n \"pdpAddress\":\"localhost\",\r\n \"chargingCharacteristics\":\"0701\",\r\n \"apn\":\"m2mplatform\"\r\n },\r\n \"serviceContextId\":\"32251@3gpp.org\",\r\n \"requestSubType\":\"RESERVE\",\r\n \"ratingGroup\":100\r\n }\r\n ],\r\n \"nfConsumerIdentification\":{\r\n \"nodeFunctionality\":\"OCF\"\r\n },\r\n \"invocationTimeStamp\":\"2024-07-28T08:14:48.177Z\",\r\n \"invocationSequenceNumber\":2\r\n}\r\n ", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{API}}/api/v2/nrf-rating/ratingdata/20404300000000155366/update", + "host": [ + "{{API}}" + ], + "path": [ + "api", + "v2", + "nrf-rating", + "ratingdata", + "20404300000000155366", + "update" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Date", + "value": "Wed, 05 Feb 2025 06:20:04 GMT" + }, + { + "key": "Content-Type", + "value": "application/json; charset=windows-1251" + }, + { + "key": "Transfer-Encoding", + "value": "chunked" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "Location", + "value": "/ratingdata/20404300000000155366" + }, + { + "key": "x-bypass-filter", + "value": "DataByPassLocalAcceptDefault" + }, + { + "key": "x-execution-status", + "value": "done" + }, + { + "key": "Access-Control-Allow-Credentials", + "value": "true" + }, + { + "key": "Access-Control-Allow-Headers", + "value": "Authorization,Pragma,Cache-control,Content-type,X-Requested-With" + }, + { + "key": "Access-Control-Allow-Methods", + "value": "GET,POST,PUT,DELETE,HEAD,OPTIONS" + }, + { + "key": "Strict-Transport-Security", + "value": "max-age=31536000" + }, + { + "key": "Content-Security-Policy", + "value": "img-src https: data:; upgrade-insecure-requests" + }, + { + "key": "Content-Encoding", + "value": "gzip" + } + ], + "cookie": [], + "body": "{\n \"invocationTimeStamp\": \"2024-07-28T08:14:48.177\",\n \"invocationSequenceNumber\": 2,\n \"serviceRating\": [\n {\n \"grantedUnit\": {\n \"totalVolume\": 10485760\n },\n \"serviceContextId\": \"32251@3gpp.org\",\n \"expiryTime\": 3130,\n \"ratingGroup\": 100,\n \"validUnits\": 1048576,\n \"resultCode\": \"SUCCESS\"\n }\n ]\n}" + }, + { + "name": "BYPASS ID", + "originalRequest": { + "method": "POST", + "header": [ + { + "key": "Accept", + "value": "application/json" + }, + { + "key": "Content-Type", + "value": "application/json;charset=utf-8" + }, + { + "key": "Accept-Language", + "value": "uk" + }, + { + "key": "Accept-Charset", + "value": "windows-1251" + }, + { + "key": "Authorization", + "value": "Basic YXBpX3VzZXI6V2lkZWNvdXAx" + }, + { + "key": "Global_unique_id", + "value": "a4035746-75eb-4128-a58d-22b0689da4be<" + }, + { + "key": "System", + "value": "300" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"subscriptionId\":[\r\n \"imsi-255030638445802\",\r\n \"msisdn-380678102298\"\r\n ],\r\n \"serviceRating\":[\r\n {\r\n \"userInformation\":{\r\n \"servedPei\":\"imei-383455587288299\"\r\n },\r\n \"serviceInformation\":{\r\n \"userLocationinfo\":{\r\n \"utraLocation\":{\r\n \"sai\":{\r\n \"sac\":\"acf4\",\r\n \"plmnId\":{\r\n \"mnc\":\"03\",\r\n \"mcc\":\"255\"\r\n },\r\n \"lac\":\"6a33\"\r\n }\r\n }\r\n },\r\n \"sgsnMccMnc\":{\r\n \"mnc\":\"03\",\r\n \"mcc\":\"255\"\r\n },\r\n \"ratType\":\"UTRAN\",\r\n \"pdpAddress\":\"localhost\",\r\n \"chargingCharacteristics\":\"0701\",\r\n \"apn\":\"m2mplatform\"\r\n },\r\n \"serviceContextId\":\"32251@3gpp.org\",\r\n \"requestSubType\":\"DEBIT\",\r\n \"consumedUnit\":{\r\n \"TotalVolume\":10000\r\n },\r\n \"ratingGroup\":100\r\n },\r\n {\r\n \"userInformation\":{\r\n \"servedPei\":\"imei-383455587288299\"\r\n },\r\n \"userInformation\":{\r\n \"servedPei\":\"imei-383455587288299\"\r\n },\r\n \"serviceInformation\":{\r\n \"userLocationinfo\":{\r\n \"utraLocation\":{\r\n \"sai\":{\r\n \"sac\":\"acf4\",\r\n \"plmnId\":{\r\n \"mnc\":\"03\",\r\n \"mcc\":\"255\"\r\n },\r\n \"lac\":\"6a33\"\r\n }\r\n }\r\n },\r\n \"sgsnMccMnc\":{\r\n \"mnc\":\"03\",\r\n \"mcc\":\"255\"\r\n },\r\n \"ratType\":\"UTRAN\",\r\n \"pdpAddress\":\"localhost\",\r\n \"chargingCharacteristics\":\"0701\",\r\n \"apn\":\"m2mplatform\"\r\n },\r\n \"serviceContextId\":\"32251@3gpp.org\",\r\n \"requestSubType\":\"RESERVE\",\r\n \"ratingGroup\":100\r\n }\r\n ],\r\n \"nfConsumerIdentification\":{\r\n \"nodeFunctionality\":\"OCF\"\r\n },\r\n \"invocationTimeStamp\":\"2024-07-28T08:14:48.177Z\",\r\n \"invocationSequenceNumber\":2\r\n}\r\n ", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{API}}/api/v2/nrf-rating/ratingdata/d1093f06-e9fa-48aa-973c-749a4f642e5d/update", + "host": [ + "{{API}}" + ], + "path": [ + "api", + "v2", + "nrf-rating", + "ratingdata", + "d1093f06-e9fa-48aa-973c-749a4f642e5d", + "update" + ] + } + }, + "status": "Forbidden", + "code": 403, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Date", + "value": "Wed, 05 Feb 2025 06:20:33 GMT" + }, + { + "key": "Content-Type", + "value": "application/problem+json; charset=windows-1251" + }, + { + "key": "Content-Length", + "value": "185" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "x-bypass-filter", + "value": "DataByPassLocalAcceptDefault" + }, + { + "key": "x-execution-status", + "value": "done" + }, + { + "key": "Access-Control-Allow-Credentials", + "value": "true" + }, + { + "key": "Access-Control-Allow-Headers", + "value": "Authorization,Pragma,Cache-control,Content-type,X-Requested-With" + }, + { + "key": "Access-Control-Allow-Methods", + "value": "GET,POST,PUT,DELETE,HEAD,OPTIONS" + } + ], + "cookie": [], + "body": "{\n \"type\": \"RATING_BYPASS\",\n \"title\": \"TERMINATE\",\n \"status\": 403,\n \"detail\": \"The HTTP request session is invalid due to baypass feature\",\n \"instance\": \"api-599dd98f7b-m66z4\",\n \"cause\": \"RATING_FAILED\"\n}" + } + ] + }, + { + "name": "RatingData\\Release", + "request": { + "method": "POST", + "header": [ + { + "key": "Accept", + "value": "application/json" + }, + { + "key": "Content-Type", + "value": "application/json;charset=utf-8" + }, + { + "key": "Accept-Language", + "value": "uk" + }, + { + "key": "Accept-Charset", + "value": "windows-1251" + }, + { + "key": "Authorization", + "value": "Basic YXBpX3VzZXI6V2lkZWNvdXAx" + }, + { + "key": "Global_unique_id", + "value": "a4035746-75eb-4128-a58d-22b0689da4be<", + "disabled": true + }, + { + "key": "System", + "value": "300" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"subscriptionId\":[\r\n \"imsi-{{imsi}}\",\r\n \"msisdn-{{msisdn}}\"\r\n ],\r\n \"serviceRating\":[\r\n {\r\n \"userInformation\":{\r\n \"servedPei\":\"imei-{{imei}}\"\r\n },\r\n \"serviceInformation\":{\r\n \"userLocationinfo\":{\r\n \"utraLocation\":{\r\n \"sai\":{\r\n \"sac\":\"acf4\",\r\n \"plmnId\":{\r\n \"mnc\":\"{{mnc}}\",\r\n \"mcc\":\"{{mcc}}\"\r\n },\r\n \"lac\":\"6a33\"\r\n }\r\n }\r\n },\r\n \"sgsnMccMnc\":{\r\n \"mnc\":\"{{mnc}}\",\r\n \"mcc\":\"{{mcc}}\"\r\n },\r\n \"ratType\":\"UTRAN\",\r\n \"pdpAddress\":\"localhost\",\r\n \"chargingCharacteristics\":\"{{schar}}\",\r\n \"apn\":\"{{apn}}\"\r\n },\r\n \"serviceContextId\":\"32251@3gpp.org\",\r\n \"requestSubType\":\"DEBIT\",\r\n \"consumedUnit\":{\r\n \"TotalVolume\":10000\r\n },\r\n \"ratingGroup\":{{rg}}\r\n }\r\n ],\r\n \"nfConsumerIdentification\":{\r\n \"nodeFunctionality\":\"OCF\"\r\n },\r\n \"invocationTimeStamp\":\"2024-07-28T08:14:48.177Z\",\r\n \"invocationSequenceNumber\":3\r\n}\r\n ", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{API}}/api/v2/nrf-rating/ratingdata/20404300000000155366/release", + "host": [ + "{{API}}" + ], + "path": [ + "api", + "v2", + "nrf-rating", + "ratingdata", + "20404300000000155366", + "release" + ] + } + }, + "response": [ + { + "name": "SUCCESS", + "originalRequest": { + "method": "POST", + "header": [ + { + "key": "Accept", + "value": "application/json" + }, + { + "key": "Content-Type", + "value": "application/json;charset=utf-8" + }, + { + "key": "Accept-Language", + "value": "uk" + }, + { + "key": "Accept-Charset", + "value": "windows-1251" + }, + { + "key": "Authorization", + "value": "Basic YXBpX3VzZXI6V2lkZWNvdXAx" + }, + { + "key": "Global_unique_id", + "value": "a4035746-75eb-4128-a58d-22b0689da4be<", + "disabled": true + }, + { + "key": "System", + "value": "300" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"subscriptionId\":[\r\n \"imsi-255030638445802\",\r\n \"msisdn-380678102298\"\r\n ],\r\n \"serviceRating\":[\r\n {\r\n \"userInformation\":{\r\n \"servedPei\":\"imei-383455587288299\"\r\n },\r\n \"serviceInformation\":{\r\n \"userLocationinfo\":{\r\n \"utraLocation\":{\r\n \"sai\":{\r\n \"sac\":\"acf4\",\r\n \"plmnId\":{\r\n \"mnc\":\"03\",\r\n \"mcc\":\"255\"\r\n },\r\n \"lac\":\"6a33\"\r\n }\r\n }\r\n },\r\n \"sgsnMccMnc\":{\r\n \"mnc\":\"03\",\r\n \"mcc\":\"255\"\r\n },\r\n \"ratType\":\"UTRAN\",\r\n \"pdpAddress\":\"localhost\",\r\n \"chargingCharacteristics\":\"0701\",\r\n \"apn\":\"m2mplatform\"\r\n },\r\n \"serviceContextId\":\"32251@3gpp.org\",\r\n \"requestSubType\":\"DEBIT\",\r\n \"consumedUnit\":{\r\n \"TotalVolume\":10000\r\n },\r\n \"ratingGroup\":100\r\n }\r\n ],\r\n \"nfConsumerIdentification\":{\r\n \"nodeFunctionality\":\"OCF\"\r\n },\r\n \"invocationTimeStamp\":\"2024-07-28T08:14:48.177Z\",\r\n \"invocationSequenceNumber\":3\r\n}\r\n ", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{API}}/api/v2/nrf-rating/ratingdata/20404300000000155366/release", + "host": [ + "{{API}}" + ], + "path": [ + "api", + "v2", + "nrf-rating", + "ratingdata", + "20404300000000155366", + "release" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Date", + "value": "Wed, 05 Feb 2025 06:24:16 GMT" + }, + { + "key": "Content-Type", + "value": "application/json; charset=windows-1251" + }, + { + "key": "Transfer-Encoding", + "value": "chunked" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "Location", + "value": "/ratingdata/20404300000000155366" + }, + { + "key": "x-bypass-filter", + "value": "DataByPassLocalAcceptTerminate" + }, + { + "key": "x-execution-status", + "value": "done" + }, + { + "key": "Access-Control-Allow-Credentials", + "value": "true" + }, + { + "key": "Access-Control-Allow-Headers", + "value": "Authorization,Pragma,Cache-control,Content-type,X-Requested-With" + }, + { + "key": "Access-Control-Allow-Methods", + "value": "GET,POST,PUT,DELETE,HEAD,OPTIONS" + }, + { + "key": "Strict-Transport-Security", + "value": "max-age=31536000" + }, + { + "key": "Content-Security-Policy", + "value": "img-src https: data:; upgrade-insecure-requests" + }, + { + "key": "Content-Encoding", + "value": "gzip" + } + ], + "cookie": [], + "body": "{\n \"invocationTimeStamp\": \"2024-07-28T08:14:48.177\",\n \"invocationSequenceNumber\": 3,\n \"serviceRating\": [\n {\n \"consumedUnit\": {\n \"totalVolume\": 10000\n },\n \"serviceContextId\": \"32251@3gpp.org\",\n \"ratingGroup\": 100,\n \"resultCode\": \"SUCCESS\"\n }\n ]\n}" + } + ] + } + ] + }, + { + "name": "SCUR (Class B) VOICE", + "item": [ + { + "name": "RatingData", + "request": { + "method": "POST", + "header": [ + { + "key": "Accept", + "value": "application/json" + }, + { + "key": "Content-Type", + "value": "application/json;charset=utf-8" + }, + { + "key": "Accept-Language", + "value": "uk" + }, + { + "key": "Accept-Charset", + "value": "windows-1251" + }, + { + "key": "Authorization", + "value": "Basic YXBpX3VzZXI6V2lkZWNvdXAx" + }, + { + "key": "Global_unique_id", + "value": "a4035746-75eb-4128-a58d-22b0689da4be<" + }, + { + "key": "System", + "value": "300" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"subscriptionId\":[\r\n \"imsi-255030637914956\",\r\n \"msisdn-380671011356\"\r\n ],\r\n \"serviceRating\":[\r\n {\r\n \"serviceInformation\":{\r\n \"vlrNumber\":\"380673303511\",\r\n \"startTime\":\"2025-01-24T12:01:32.538Z\",\r\n \"mscAddress\":\"380672054178\",\r\n \"locationNumber\":\"380672054178\",\r\n \"callReferenceNumber\":\"a72VALI=\"\r\n },\r\n \"serviceContextId\":\"32276@3gpp.org\",\r\n \"requestSubType\":\"RESERVE\",\r\n \"destinationId\":[\r\n {\r\n \"destinationIdType\":\"DN\",\r\n \"destinationIdData\":\"0504778223\"\r\n }\r\n ]\r\n }\r\n ],\r\n \"nfConsumerIdentification\":{\r\n \"nodeFunctionality\":\"OCF\"\r\n },\r\n \"invocationTimeStamp\":\"2025-01-24T12:01:32.538Z\",\r\n \"invocationSequenceNumber\":1\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{API}}/api/v2/nrf-rating/ratingdata", + "host": [ + "{{API}}" + ], + "path": [ + "api", + "v2", + "nrf-rating", + "ratingdata" + ] + } + }, + "response": [ + { + "name": "BYPASS SUCCESS", + "originalRequest": { + "method": "POST", + "header": [ + { + "key": "Accept", + "value": "application/json" + }, + { + "key": "Content-Type", + "value": "application/json;charset=utf-8" + }, + { + "key": "Accept-Language", + "value": "uk" + }, + { + "key": "Accept-Charset", + "value": "windows-1251" + }, + { + "key": "Authorization", + "value": "Basic YXBpX3VzZXI6V2lkZWNvdXAx" + }, + { + "key": "Global_unique_id", + "value": "a4035746-75eb-4128-a58d-22b0689da4be<" + }, + { + "key": "System", + "value": "300" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"subscriptionId\":[\r\n \"imsi-255030637914956\",\r\n \"msisdn-380671011356\"\r\n ],\r\n \"serviceRating\":[\r\n {\r\n \"serviceInformation\":{\r\n \"vlrNumber\":\"380672054485\",\r\n \"startTime\":\"2025-01-15T18:33:27.075Z\",\r\n \"mscAddress\":\"380672054485\",\r\n \"locationNumber\":\"380672054485\",\r\n \"callReferenceNumber\":\"Li33ALk=\"\r\n },\r\n \"serviceContextId\":\"32276@3gpp.org\",\r\n \"requestSubType\":\"RESERVE\",\r\n \"destinationId\":[\r\n {\r\n \"destinationIdType\":\"DN\",\r\n \"destinationIdData\":\"0504778223\"\r\n }\r\n ]\r\n }\r\n ],\r\n \"nfConsumerIdentification\":{\r\n \"nodeFunctionality\":\"OCF\"\r\n },\r\n \"invocationTimeStamp\":\"2025-01-15T18:33:27.075Z\",\r\n \"invocationSequenceNumber\":1\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{API}}/api/v2/nrf-rating/ratingdata", + "host": [ + "{{API}}" + ], + "path": [ + "api", + "v2", + "nrf-rating", + "ratingdata" + ] + } + }, + "status": "Created", + "code": 201, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Date", + "value": "Wed, 22 Jan 2025 09:52:15 GMT" + }, + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Content-Length", + "value": "209" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "Location", + "value": "/ratingdata/2b18cfbb-7409-4cd4-9489-ebd490502a44" + }, + { + "key": "x-bypass-response-handler", + "value": "compiled (VoiceByPassLocalAccept/force)" + }, + { + "key": "x-execution-status", + "value": "done" + }, + { + "key": "Access-Control-Allow-Credentials", + "value": "true" + }, + { + "key": "Access-Control-Allow-Headers", + "value": "Authorization,Pragma,Cache-control,Content-type,X-Requested-With" + }, + { + "key": "Access-Control-Allow-Methods", + "value": "GET,POST,PUT,DELETE,HEAD,OPTIONS" + }, + { + "key": "Strict-Transport-Security", + "value": "max-age=31536000" + }, + { + "key": "Content-Security-Policy", + "value": "img-src https: data:; upgrade-insecure-requests" + } + ], + "cookie": [], + "body": "{\n \"invocationTimeStamp\": \"2025-01-22T09:52:15.687Z\",\n \"invocationSequenceNumber\": \"1\",\n \"serviceRating\": [\n {\n \"grantedUnit\": {\n \"time\": 60\n },\n \"serviceContextId\": \"32276@3gpp.org\",\n \"resultCode\": \"SUCCESS\"\n }\n ],\n \"type\": \"RATING_BYPASS\"\n}" + } + ] + } + ] + }, + { + "name": "IEC (Class B)", + "item": [ + { + "name": "RatingData", + "request": { + "method": "POST", + "header": [ + { + "key": "Accept", + "value": "application/json" + }, + { + "key": "Content-Type", + "value": "application/json;charset=utf-8" + }, + { + "key": "Accept-Language", + "value": "uk" + }, + { + "key": "Accept-Charset", + "value": "windows-1251" + }, + { + "key": "Authorization", + "value": "Basic YXBpX3VzZXI6V2lkZWNvdXAx" + }, + { + "key": "Global_unique_id", + "value": "a4035746-75eb-4128-a58d-22b0689da4be<" + }, + { + "key": "System", + "value": "300" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"subscriptionId\":[\r\n \"imsi-255030637914956\",\r\n \"msisdn-380671011356\"\r\n ],\r\n \"serviceRating\":[\r\n {\r\n \"serviceInformation\":{\r\n \"vlrNumber\":\"38067205\",\r\n \"smsNode\":\"SMS-SC\",\r\n \"messageType\":\"SUBMISSION\"\r\n },\r\n \"serviceContextId\":\"32274@3gpp.org\",\r\n \"requestSubType\":\"DEBIT\",\r\n \"ratingGroup\":10,\r\n \"destinationId\":[\r\n {\r\n \"destinationIdType\":\"DN\",\r\n \"destinationIdData\":\"380504778223\"\r\n }\r\n ],\r\n \"consumedUnit\":{\r\n \"serviceSpecificUnit\":1\r\n }\r\n }\r\n ],\r\n \"oneTimeEventType\":\"IEC\",\r\n \"oneTimeEvent\":true,\r\n \"nfConsumerIdentification\":{\r\n \"nodeFunctionality\":\"OCF\"\r\n },\r\n \"invocationTimeStamp\":\"2025-01-20T15:22:38.167Z\",\r\n \"invocationSequenceNumber\":1\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{API}}/api/v2/nrf-rating/ratingdata", + "host": [ + "{{API}}" + ], + "path": [ + "api", + "v2", + "nrf-rating", + "ratingdata" + ] + } + }, + "response": [ + { + "name": "SUCCESS", + "originalRequest": { + "method": "POST", + "header": [ + { + "key": "Accept", + "value": "application/json" + }, + { + "key": "Content-Type", + "value": "application/json;charset=utf-8" + }, + { + "key": "Accept-Language", + "value": "uk" + }, + { + "key": "Accept-Charset", + "value": "windows-1251" + }, + { + "key": "Authorization", + "value": "Basic YXBpX3VzZXI6V2lkZWNvdXAx" + }, + { + "key": "Global_unique_id", + "value": "a4035746-75eb-4128-a58d-22b0689da4be<" + }, + { + "key": "System", + "value": "300" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"subscriptionId\":[\r\n \"imsi-255030637914956\",\r\n \"msisdn-380671011356\"\r\n ],\r\n \"serviceRating\":[\r\n {\r\n \"serviceInformation\":{\r\n \"vlrNumber\":\"380672054485\",\r\n \"smsNode\":\"SMS-SC\",\r\n \"messageType\":\"SUBMISSION\"\r\n },\r\n \"serviceContextId\":\"32274@3gpp.org\",\r\n \"requestSubType\":\"DEBIT\",\r\n \"ratingGroup\":10,\r\n \"destinationId\":[\r\n {\r\n \"destinationIdType\":\"DN\",\r\n \"destinationIdData\":\"380504778223\"\r\n }\r\n ],\r\n \"consumedUnit\":{\r\n \"serviceSpecificUnit\":1\r\n }\r\n }\r\n ],\r\n \"oneTimeEventType\":\"IEC\",\r\n \"oneTimeEvent\":true,\r\n \"nfConsumerIdentification\":{\r\n \"nodeFunctionality\":\"OCF\"\r\n },\r\n \"invocationTimeStamp\":\"2025-01-20T15:22:38.167Z\",\r\n \"invocationSequenceNumber\":1\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{API}}/api/v2/nrf-rating/ratingdata", + "host": [ + "{{API}}" + ], + "path": [ + "api", + "v2", + "nrf-rating", + "ratingdata" + ] + } + }, + "status": "Created", + "code": 201, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Date", + "value": "Wed, 22 Jan 2025 13:34:19 GMT" + }, + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Content-Length", + "value": "240" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "Location", + "value": "/ratingdata/d19cd0b5-bc37-43a5-a5bd-c0dbbcbee30f" + }, + { + "key": "x-bypass-response-handler", + "value": "compiled (SMSByPassLocalAccept/force)" + }, + { + "key": "x-execution-status", + "value": "done" + }, + { + "key": "Access-Control-Allow-Credentials", + "value": "true" + }, + { + "key": "Access-Control-Allow-Headers", + "value": "Authorization,Pragma,Cache-control,Content-type,X-Requested-With" + }, + { + "key": "Access-Control-Allow-Methods", + "value": "GET,POST,PUT,DELETE,HEAD,OPTIONS" + }, + { + "key": "Strict-Transport-Security", + "value": "max-age=31536000" + }, + { + "key": "Content-Security-Policy", + "value": "img-src https: data:; upgrade-insecure-requests" + } + ], + "cookie": [], + "body": "{\n \"invocationTimeStamp\": \"2025-01-22T13:34:19.700Z\",\n \"invocationSequenceNumber\": \"1\",\n \"serviceRating\": [\n {\n \"grantedUnit\": {\n \"serviceSpecificUnit\": 1\n },\n \"serviceContextId\": \"32274@3gpp.org\",\n \"ratingGroup\": 10,\n \"resultCode\": \"SUCCESS\"\n }\n ],\n \"type\": \"RATING_BYPASS\"\n}" + } + ] + } + ] + }, + { + "name": "KOT ECUR (Class B)", + "item": [ + { + "name": "RatingData", + "event": [ + { + "listen": "prerequest", + "script": { + "exec": [ + "postman.setGlobalVariable('NOW', (new Date()).toISOString());" + ], + "type": "text/javascript", + "packages": {} + } + } + ], + "request": { + "method": "POST", + "header": [ + { + "key": "Accept", + "value": "application/json" + }, + { + "key": "Content-Type", + "value": "application/json;charset=utf-8" + }, + { + "key": "Accept-Language", + "value": "en" + }, + { + "key": "Accept-Charset", + "value": "windows-1251", + "disabled": true + }, + { + "key": "Authorization", + "value": "Basic YXBpX3VzZXI6V2lkZWNvdXAx" + }, + { + "key": "Global_unique_id", + "value": "a4035746-75eb-4128-a58d-22b0689da4be<", + "disabled": true + }, + { + "key": "System", + "value": "300", + "disabled": true + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"invocationSequenceNumber\":1,\r\n \"oneTimeEvent\":true,\r\n \"oneTimeEventType\":\"PEC\",\r\n \"invocationTimeStamp\":\"{{NOW}}\",\r\n \"beginTimeStamp\":\"{{NOW}}\",\r\n \"nfConsumerIdentification\":{\r\n \"nodeFunctionality\":\"OCF\"\r\n },\r\n \"subscriptionId\":[\r\n \"msisdn-KOT_1000546047\",\r\n \"nai-29@localhost\"\r\n ],\r\n \"serviceRating\":[\r\n {\r\n \"serviceContextId\":\"32274@3gpp.org\",\r\n \"serviceId\":412001,\r\n \"ratingGroup\":1,\r\n \"destinationId\":[\r\n {\r\n \"destinationIdType\":\"DN\",\r\n \"destinationIdData\":\"380671234567\"\r\n }\r\n ],\r\n \"requestSubType\":\"RESERVE\",\r\n \"requestedUnit\":{\r\n \"serviceSpecificUnit\":1\r\n }\r\n }\r\n ]\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{API}}/api/v2/nrf-rating/ratingdata", + "host": [ + "{{API}}" + ], + "path": [ + "api", + "v2", + "nrf-rating", + "ratingdata" + ] + } + }, + "response": [ + { + "name": "SUCCESS RESERVE", + "originalRequest": { + "method": "POST", + "header": [ + { + "key": "Accept", + "value": "application/json" + }, + { + "key": "Content-Type", + "value": "application/json;charset=utf-8" + }, + { + "key": "Accept-Language", + "value": "en" + }, + { + "key": "Accept-Charset", + "value": "windows-1251", + "disabled": true + }, + { + "key": "Authorization", + "value": "Basic YXBpX3VzZXI6V2lkZWNvdXAx" + }, + { + "key": "Global_unique_id", + "value": "a4035746-75eb-4128-a58d-22b0689da4be<", + "disabled": true + }, + { + "key": "System", + "value": "300", + "disabled": true + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"invocationSequenceNumber\":1,\r\n \"oneTimeEvent\":true,\r\n \"oneTimeEventType\":\"PEC\",\r\n \"invocationTimeStamp\":\"{{NOW}}\",\r\n \"beginTimeStamp\":\"{{NOW}}\",\r\n \"nfConsumerIdentification\":{\r\n \"nodeFunctionality\":\"OCF\"\r\n },\r\n \"subscriptionId\":[\r\n \"msisdn-KOT_1000546534\",\r\n \"nai-29@localhost\"\r\n ],\r\n \"serviceRating\":[\r\n {\r\n \"serviceContextId\":\"32274@3gpp.org\",\r\n \"serviceId\":412001,\r\n \"ratingGroup\":1,\r\n \"destinationId\":[\r\n {\r\n \"destinationIdType\":\"DN\",\r\n \"destinationIdData\":\"380671234567\"\r\n }\r\n ],\r\n \"requestSubType\":\"RESERVE\",\r\n \"consumedUnit\":{\r\n \"serviceSpecificUnit\":1\r\n }\r\n }\r\n ]\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://localhost/api/v2/nrf-rating/ratingdata", + "protocol": "https", + "host": [ + "localhost" + ], + "path": [ + "api", + "v2", + "nrf-rating", + "ratingdata" + ] + } + }, + "status": "Created", + "code": 201, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Date", + "value": "Fri, 03 Jan 2025 10:34:00 GMT" + }, + { + "key": "Content-Type", + "value": "application/json; charset=utf-8" + }, + { + "key": "Content-Length", + "value": "245" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "Location", + "value": "/ratingdata/20404600000052793809" + }, + { + "key": "Access-Control-Allow-Credentials", + "value": "true" + }, + { + "key": "Access-Control-Allow-Headers", + "value": "Authorization,Pragma,Cache-control,Content-type,X-Requested-With" + }, + { + "key": "Access-Control-Allow-Methods", + "value": "GET,POST,PUT,DELETE,HEAD,OPTIONS" + }, + { + "key": "Strict-Transport-Security", + "value": "max-age=31536000" + }, + { + "key": "Content-Security-Policy", + "value": "img-src https: data:; upgrade-insecure-requests" + } + ], + "cookie": [], + "body": "{\n \"invocationTimeStamp\": \"2025-01-03T10:33:59.599\",\n \"invocationSequenceNumber\": 1,\n \"serviceRating\": [\n {\n \"grantedUnit\": {\n \"totalVolume\": 1\n },\n \"serviceContextId\": \"32274@3gpp.org\",\n \"expiryTime\": 86400,\n \"ratingGroup\": 1,\n \"resultCode\": \"SUCCESS\"\n }\n ]\n}" + }, + { + "name": "USER_UNKNOWN", + "originalRequest": { + "method": "POST", + "header": [ + { + "key": "Accept", + "value": "application/json" + }, + { + "key": "Content-Type", + "value": "application/json;charset=utf-8" + }, + { + "key": "Accept-Language", + "value": "en" + }, + { + "key": "Accept-Charset", + "value": "windows-1251", + "disabled": true + }, + { + "key": "Authorization", + "value": "Basic YXBpX3VzZXI6V2lkZWNvdXAx" + }, + { + "key": "Global_unique_id", + "value": "a4035746-75eb-4128-a58d-22b0689da4be<", + "disabled": true + }, + { + "key": "System", + "value": "300", + "disabled": true + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"invocationSequenceNumber\":1,\r\n \"oneTimeEvent\":true,\r\n \"oneTimeEventType\":\"PEC\",\r\n \"invocationTimeStamp\":\"{{NOW}}\",\r\n \"beginTimeStamp\":\"{{NOW}}\",\r\n \"nfConsumerIdentification\":{\r\n \"nodeFunctionality\":\"OCF\"\r\n },\r\n \"subscriptionId\":[\r\n \"msisdn-8888888888888\",\r\n \"nai-29@localhost\"\r\n ],\r\n \"serviceRating\":[\r\n {\r\n \"serviceContextId\":\"32274@3gpp.org\",\r\n \"serviceId\":412001,\r\n \"ratingGroup\":1,\r\n \"destinationId\":[\r\n {\r\n \"destinationIdType\":\"DN\",\r\n \"destinationIdData\":\"380671234567\"\r\n }\r\n ],\r\n \"requestSubType\":\"RESERVE\",\r\n \"consumedUnit\":{\r\n \"serviceSpecificUnit\":1\r\n }\r\n }\r\n ]\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://localhost/api/v2/nrf-rating/ratingdata", + "protocol": "https", + "host": [ + "localhost" + ], + "path": [ + "api", + "v2", + "nrf-rating", + "ratingdata" + ] + } + }, + "status": "Not Found", + "code": 404, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Date", + "value": "Fri, 03 Jan 2025 10:34:54 GMT" + }, + { + "key": "Content-Type", + "value": "application/problem+json; charset=utf-8" + }, + { + "key": "Content-Length", + "value": "297" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "Access-Control-Allow-Credentials", + "value": "true" + }, + { + "key": "Access-Control-Allow-Headers", + "value": "Authorization,Pragma,Cache-control,Content-type,X-Requested-With" + }, + { + "key": "Access-Control-Allow-Methods", + "value": "GET,POST,PUT,DELETE,HEAD,OPTIONS" + } + ], + "cookie": [], + "body": "{\n \"type\": \"USER_UNKNOWN\",\n \"title\": \"TERMINATE\",\n \"status\": 404,\n \"detail\": \"The HTTP request is rejected because the end user specified in the request cannot be served by the RF (the subscriber identity could not be matched with a known subscriber).\",\n \"instance\": \"api-667f79877-v6dp9\",\n \"cause\": \"USER_UNKNOWN\"\n}" + }, + { + "name": "RATING_FAILED", + "originalRequest": { + "method": "POST", + "header": [ + { + "key": "Accept", + "value": "application/json" + }, + { + "key": "Content-Type", + "value": "application/json;charset=utf-8" + }, + { + "key": "Accept-Language", + "value": "en" + }, + { + "key": "Accept-Charset", + "value": "windows-1251", + "disabled": true + }, + { + "key": "Authorization", + "value": "Basic YXBpX3VzZXI6V2lkZWNvdXAx" + }, + { + "key": "Global_unique_id", + "value": "a4035746-75eb-4128-a58d-22b0689da4be<", + "disabled": true + }, + { + "key": "System", + "value": "300", + "disabled": true + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"invocationSequenceNumber\":1,\r\n \"oneTimeEvent\":true,\r\n \"oneTimeEventType\":\"PEC\",\r\n \"invocationTimeStamp\":\"{{NOW}}\",\r\n \"beginTimeStamp\":\"{{NOW}}\",\r\n \"nfConsumerIdentification\":{\r\n \"nodeFunctionality\":\"OCF\"\r\n },\r\n \"subscriptionId\":[\r\n \"msisdn-KOT_1000546534\",\r\n \"nai-29@localhost\"\r\n ],\r\n \"serviceRating\":[\r\n {\r\n \"serviceContextId\":\"32274@3gpp.org\",\r\n \"serviceId\":412001,\r\n \"ratingGroup\":1,\r\n \"destinationId\":[\r\n {\r\n \"destinationIdType\":\"DN\",\r\n \"destinationIdData\":\"380671234567\"\r\n }\r\n ],\r\n \"requestSubType\":\"RESERVE\",\r\n \"consumedUnit\":{\r\n \"serviceSpecificUnit\":1\r\n }\r\n }\r\n ]\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{API}}/api/v2/nrf-rating/ratingdata", + "host": [ + "{{API}}" + ], + "path": [ + "api", + "v2", + "nrf-rating", + "ratingdata" + ] + } + }, + "status": "Forbidden", + "code": 403, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Date", + "value": "Fri, 03 Jan 2025 10:36:13 GMT" + }, + { + "key": "Content-Type", + "value": "application/problem+json; charset=utf-8" + }, + { + "key": "Content-Length", + "value": "164" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "x-execution-status", + "value": "done" + }, + { + "key": "Access-Control-Allow-Credentials", + "value": "true" + }, + { + "key": "Access-Control-Allow-Headers", + "value": "Authorization,Pragma,Cache-control,Content-type,X-Requested-With" + }, + { + "key": "Access-Control-Allow-Methods", + "value": "GET,POST,PUT,DELETE,HEAD,OPTIONS" + } + ], + "cookie": [], + "body": "{\n \"type\": \"RATING_FAILED\",\n \"title\": \"TERMINATE\",\n \"status\": 403,\n \"detail\": \"[-2][RFRatingPluginV2] Timeout expired\",\n \"instance\": \"api-9fc4d85b8-wrxpm\",\n \"cause\": \"RATING_FAILED\"\n}" + }, + { + "name": "Validation Error", + "originalRequest": { + "method": "POST", + "header": [ + { + "key": "Accept", + "value": "application/json" + }, + { + "key": "Content-Type", + "value": "application/json;charset=utf-8" + }, + { + "key": "Accept-Language", + "value": "en" + }, + { + "key": "Accept-Charset", + "value": "windows-1251", + "disabled": true + }, + { + "key": "Authorization", + "value": "Basic YXBpX3VzZXI6V2lkZWNvdXAx" + }, + { + "key": "Global_unique_id", + "value": "a4035746-75eb-4128-a58d-22b0689da4be<", + "disabled": true + }, + { + "key": "System", + "value": "300", + "disabled": true + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"invocationSequenceNumber\":1,\r\n \"oneTimeEvent\":true,\r\n \"oneTimeEventType\":\"PEC\",\r\n \"invocationTimeStamp\":\"{{NOW}}\",\r\n \"beginTimeStamp\":\"{{NOW}}\",\r\n \"subscriptionId\":[\r\n \"msisdn-KOT_1000546534\",\r\n \"nai-29@localhost\"\r\n ],\r\n \"serviceRating\":[\r\n {\r\n \"serviceContextId\":\"32274@3gpp.org\",\r\n \"serviceId\":412001,\r\n \"ratingGroup\":1,\r\n \"destinationId\":[\r\n {\r\n \"destinationIdType\":\"DN\",\r\n \"destinationIdData\":\"380671234567\"\r\n }\r\n ],\r\n \"requestSubType\":\"RESERVE\",\r\n \"requestedUnit\":{\r\n \"serviceSpecificUnit\":1\r\n }\r\n }\r\n ]\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{API}}/api/v2/nrf-rating/ratingdata", + "host": [ + "{{API}}" + ], + "path": [ + "api", + "v2", + "nrf-rating", + "ratingdata" + ] + } + }, + "status": "Forbidden", + "code": 403, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Date", + "value": "Fri, 31 Jan 2025 17:39:08 GMT" + }, + { + "key": "Content-Type", + "value": "application/problem+json; charset=utf-8" + }, + { + "key": "Content-Length", + "value": "252" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "x-execution-status", + "value": "done" + }, + { + "key": "Access-Control-Allow-Credentials", + "value": "true" + }, + { + "key": "Access-Control-Allow-Headers", + "value": "Authorization,Pragma,Cache-control,Content-type,X-Requested-With" + }, + { + "key": "Access-Control-Allow-Methods", + "value": "GET,POST,PUT,DELETE,HEAD,OPTIONS" + } + ], + "cookie": [], + "body": "{\n \"type\": \"RATING_FAILED\",\n \"title\": \"TERMINATE\",\n \"detail\": \"Request validation error\",\n \"instance\": \"api-79fd58fff9-2tcm2\",\n \"cause\": \"RATING_FAILED\",\n \"invalidParams\": [\n {\n \"param\": \"NfConsumerIdentification\",\n \"reason\": \"The NfConsumerIdentification field is required.\"\n }\n ]\n}" + } + ] + }, + { + "name": "RatingData Release", + "event": [ + { + "listen": "prerequest", + "script": { + "exec": [ + "postman.setGlobalVariable('NOW', (new Date()).toISOString());" + ], + "type": "text/javascript", + "packages": {} + } + } + ], + "request": { + "method": "POST", + "header": [ + { + "key": "Accept", + "value": "application/json" + }, + { + "key": "Content-Type", + "value": "application/json;charset=utf-8" + }, + { + "key": "Accept-Language", + "value": "en" + }, + { + "key": "Accept-Charset", + "value": "windows-1251", + "disabled": true + }, + { + "key": "Authorization", + "value": "Basic YXBpX3VzZXI6V2lkZWNvdXAx" + }, + { + "key": "Global_unique_id", + "value": "a4035746-75eb-4128-a58d-22b0689da4be<", + "disabled": true + }, + { + "key": "System", + "value": "300", + "disabled": true + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"invocationSequenceNumber\":2,\r\n \"oneTimeEvent\":true,\r\n \"oneTimeEventType\":\"PEC\",\r\n \"invocationTimeStamp\":\"{{NOW}}\",\r\n \"beginTimeStamp\":\"{{NOW}}\",\r\n \"nfConsumerIdentification\":{\r\n \"nodeFunctionality\":\"OCF\",\r\n \"nFIPv4Address\":\"\"\r\n },\r\n \"subscriptionId\":[\r\n \"msisdn-KOT_1000546534\",\r\n \"nai-29@localhost\"\r\n ],\r\n \"serviceRating\":[\r\n {\r\n \"serviceContextId\":\"32274@3gpp.org\",\r\n \"serviceId\":412001,\r\n \"ratingGroup\":1,\r\n \"destinationId\":[\r\n {\r\n \"destinationIdType\":\"DN\",\r\n \"destinationIdData\":\"\"\r\n }\r\n ],\r\n \"requestSubType\":\"RELEASE\",\r\n \"consumedUnit\":{\r\n \"serviceSpecificUnit\":0\r\n }\r\n }\r\n ]\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{API}}/api/v2/nrf-rating/ratingdata/20404600000284366055/update", + "host": [ + "{{API}}" + ], + "path": [ + "api", + "v2", + "nrf-rating", + "ratingdata", + "20404600000284366055", + "update" + ] + } + }, + "response": [ + { + "name": "SUCCESS RELEASE", + "originalRequest": { + "method": "POST", + "header": [ + { + "key": "Accept", + "value": "application/json" + }, + { + "key": "Content-Type", + "value": "application/json;charset=utf-8" + }, + { + "key": "Accept-Language", + "value": "en" + }, + { + "key": "Accept-Charset", + "value": "windows-1251", + "disabled": true + }, + { + "key": "Authorization", + "value": "Basic YXBpX3VzZXI6V2lkZWNvdXAx" + }, + { + "key": "Global_unique_id", + "value": "a4035746-75eb-4128-a58d-22b0689da4be<", + "disabled": true + }, + { + "key": "System", + "value": "300", + "disabled": true + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"invocationSequenceNumber\":1,\r\n \"oneTimeEvent\":true,\r\n \"oneTimeEventType\":\"PEC\",\r\n \"invocationTimeStamp\":\"{{NOW}}\",\r\n \"beginTimeStamp\":\"{{NOW}}\",\r\n \"nfConsumerIdentification\":{\r\n \"nodeFunctionality\":\"OCF\"\r\n },\r\n \"subscriptionId\":[\r\n \"msisdn-KOT_1000546534\",\r\n \"nai-29@localhost\"\r\n ],\r\n \"serviceRating\":[\r\n {\r\n \"serviceContextId\":\"32274@3gpp.org\",\r\n \"serviceId\":412001,\r\n \"ratingGroup\":1,\r\n \"destinationId\":[\r\n {\r\n \"destinationIdType\":\"DN\",\r\n \"destinationIdData\":\"380671234567\"\r\n }\r\n ],\r\n \"requestSubType\":\"RELEASE\",\r\n \"consumedUnit\":{\r\n \"serviceSpecificUnit\":0\r\n }\r\n }\r\n ]\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{API}}/api/v2/nrf-rating/ratingdata/20404600000052793809/release", + "host": [ + "{{API}}" + ], + "path": [ + "api", + "v2", + "nrf-rating", + "ratingdata", + "20404600000052793809", + "release" + ] + } + }, + "status": "Created", + "code": 201, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Date", + "value": "Fri, 03 Jan 2025 10:44:30 GMT" + }, + { + "key": "Content-Type", + "value": "application/json; charset=utf-8" + }, + { + "key": "Content-Length", + "value": "227" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "Location", + "value": "/ratingdata/20404600000052793809" + }, + { + "key": "Access-Control-Allow-Credentials", + "value": "true" + }, + { + "key": "Access-Control-Allow-Headers", + "value": "Authorization,Pragma,Cache-control,Content-type,X-Requested-With" + }, + { + "key": "Access-Control-Allow-Methods", + "value": "GET,POST,PUT,DELETE,HEAD,OPTIONS" + }, + { + "key": "Strict-Transport-Security", + "value": "max-age=31536000" + }, + { + "key": "Content-Security-Policy", + "value": "img-src https: data:; upgrade-insecure-requests" + } + ], + "cookie": [], + "body": "{\n \"invocationTimeStamp\": \"2025-01-03T10:44:30.119\",\n \"invocationSequenceNumber\": 1,\n \"serviceRating\": [\n {\n \"consumedUnit\": {\n \"totalVolume\": 0\n },\n \"serviceContextId\": \"32274@3gpp.org\",\n \"ratingGroup\": 1,\n \"resultCode\": \"SUCCESS\"\n }\n ]\n}" + } + ] + }, + { + "name": "RatingData preprod", + "event": [ + { + "listen": "prerequest", + "script": { + "exec": [ + "postman.setGlobalVariable('NOW', (new Date()).toISOString());" + ], + "type": "text/javascript", + "packages": {} + } + } + ], + "request": { + "method": "POST", + "header": [ + { + "key": "Accept", + "value": "application/json" + }, + { + "key": "Content-Type", + "value": "application/json;charset=utf-8" + }, + { + "key": "Accept-Language", + "value": "en" + }, + { + "key": "Accept-Charset", + "value": "windows-1251", + "disabled": true + }, + { + "key": "Authorization", + "value": "Basic YXBpX3VzZXI6V2lkZWNvdXAx" + }, + { + "key": "Global_unique_id", + "value": "a4035746-75eb-4128-a58d-22b0689da4be<", + "disabled": true + }, + { + "key": "System", + "value": "300", + "disabled": true + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"invocationSequenceNumber\":1,\r\n \"oneTimeEvent\":true,\r\n \"oneTimeEventType\":\"PEC\",\r\n \"invocationTimeStamp\":\"{{NOW}}\",\r\n \"beginTimeStamp\":\"{{NOW}}\",\r\n \"nfConsumerIdentification\":{\r\n \"nodeFunctionality\":\"OCF\"\r\n },\r\n \"subscriptionId\":[\r\n \"msisdn-KOT_1000546047\",\r\n \"nai-29@localhost\"\r\n ],\r\n \"serviceRating\":[\r\n {\r\n \"serviceContextId\":\"32274@3gpp.org\",\r\n \"serviceId\":412001,\r\n \"ratingGroup\":1,\r\n \"destinationId\":[\r\n {\r\n \"destinationIdType\":\"DN\",\r\n \"destinationIdData\":\"380671234567\"\r\n }\r\n ],\r\n \"requestSubType\":\"RESERVE\",\r\n \"requestedUnit\":{\r\n \"serviceSpecificUnit\":1\r\n }\r\n }\r\n ]\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{API}}/api/v2/nrf-rating/ratingdata", + "host": [ + "{{API}}" + ], + "path": [ + "api", + "v2", + "nrf-rating", + "ratingdata" + ] + } + }, + "response": [] + }, + { + "name": "RatingData Update error", + "event": [ + { + "listen": "prerequest", + "script": { + "exec": [ + "postman.setGlobalVariable('NOW', (new Date()).toISOString());" + ], + "type": "text/javascript", + "packages": {} + } + } + ], + "request": { + "method": "POST", + "header": [ + { + "key": "Accept", + "value": "application/json" + }, + { + "key": "Content-Type", + "value": "application/json;charset=utf-8" + }, + { + "key": "Accept-Language", + "value": "en" + }, + { + "key": "Accept-Charset", + "value": "windows-1251", + "disabled": true + }, + { + "key": "Authorization", + "value": "Basic YXBpX3VzZXI6V2lkZWNvdXAx" + }, + { + "key": "Global_unique_id", + "value": "a4035746-75eb-4128-a58d-22b0689da4be<", + "disabled": true + }, + { + "key": "System", + "value": "300", + "disabled": true + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"invocationSequenceNumber\":1,\r\n \"oneTimeEvent\":true,\r\n \"oneTimeEventType\":\"PEC\",\r\n \"invocationTimeStamp\":\"{{NOW}}\",\r\n \"beginTimeStamp\":\"{{NOW}}\",\r\n \"nfConsumerIdentification\":{\r\n \"nodeFunctionality\":\"OCF\"\r\n },\r\n \"serviceRating\":[\r\n {\r\n \"serviceContextId\":\"32274@3gpp.org\",\r\n \"serviceId\":412001,\r\n \"ratingGroup\":1,\r\n \"destinationId\":[\r\n {\r\n \"destinationIdType\":\"DN\",\r\n \"destinationIdData\":\"380671234567\"\r\n }\r\n ],\r\n \"requestSubType\":\"RELEASE\"\r\n }\r\n ]\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{API}}/api/v2/nrf-rating/ratingdata/20404600000195594123/update", + "host": [ + "{{API}}" + ], + "path": [ + "api", + "v2", + "nrf-rating", + "ratingdata", + "20404600000195594123", + "update" + ] + } + }, + "response": [] + } + ] + }, + { + "name": "HEALTH", + "item": [ + { + "name": "RatingData Preload", + "request": { + "auth": { + "type": "basic", + "basic": [ + { + "key": "username", + "value": "login", + "type": "string" + }, + { + "key": "password", + "value": "password", + "type": "string" + } + ] + }, + "method": "HEAD", + "header": [], + "url": { + "raw": "{{API}}/api/v2/nrf-rating/ratingdata/reginfo", + "host": [ + "{{API}}" + ], + "path": [ + "api", + "v2", + "nrf-rating", + "ratingdata", + "reginfo" + ] + } + }, + "response": [ + { + "name": "SUCCESS", + "originalRequest": { + "method": "HEAD", + "header": [], + "url": { + "raw": "{{API}}/api/v2/nrf-rating/ratingdata/reginfo", + "host": [ + "{{API}}" + ], + "path": [ + "api", + "v2", + "nrf-rating", + "ratingdata", + "reginfo" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Date", + "value": "Fri, 03 Jan 2025 14:00:35 GMT" + }, + { + "key": "Content-Type", + "value": "application/json; charset=utf-8" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "x-reginfo", + "value": "commonerrorhandling=True;hasproxy =False;version=1.2.0.21;regdatetime=12/17/2024 14:15:27" + }, + { + "key": "Access-Control-Allow-Credentials", + "value": "true" + }, + { + "key": "Access-Control-Allow-Headers", + "value": "Authorization,Pragma,Cache-control,Content-type,X-Requested-With" + }, + { + "key": "Access-Control-Allow-Methods", + "value": "GET,POST,PUT,DELETE,HEAD,OPTIONS" + }, + { + "key": "Strict-Transport-Security", + "value": "max-age=31536000" + }, + { + "key": "Content-Security-Policy", + "value": "img-src https: data:; upgrade-insecure-requests" + }, + { + "key": "Content-Encoding", + "value": "gzip" + } + ], + "cookie": [], + "body": null + } + ] + }, + { + "name": "RatingData Health", + "request": { + "auth": { + "type": "basic", + "basic": [ + { + "key": "username", + "value": "login", + "type": "string" + }, + { + "key": "password", + "value": "password", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "{{API}}/api/v2/nrf-rating/ratingdata/health?diagnosticTimeOut=1000", + "host": [ + "{{API}}" + ], + "path": [ + "api", + "v2", + "nrf-rating", + "ratingdata", + "health" + ], + "query": [ + { + "key": "diagnosticTimeOut", + "value": "1000" + } + ] + } + }, + "response": [ + { + "name": "SUCCESS", + "originalRequest": { + "method": "GET", + "header": [], + "url": { + "raw": "{{API}}/api/v2/nrf-rating/ratingdata/health", + "host": [ + "{{API}}" + ], + "path": [ + "api", + "v2", + "nrf-rating", + "ratingdata", + "health" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Date", + "value": "Wed, 05 Feb 2025 06:43:52 GMT" + }, + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Transfer-Encoding", + "value": "chunked" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "x-plan-object-id", + "value": "1360980962" + }, + { + "key": "x-last-elapsed-time", + "value": "82669" + }, + { + "key": "x-reginfo", + "value": "commonerrorhandling=true;hasproxy =false;version=1.2.0.38" + }, + { + "key": "x-execution-status", + "value": "done" + }, + { + "key": "Access-Control-Allow-Credentials", + "value": "true" + }, + { + "key": "Access-Control-Allow-Headers", + "value": "Authorization,Pragma,Cache-control,Content-type,X-Requested-With" + }, + { + "key": "Access-Control-Allow-Methods", + "value": "GET,POST,PUT,DELETE,HEAD,OPTIONS" + }, + { + "key": "Strict-Transport-Security", + "value": "max-age=31536000" + }, + { + "key": "Content-Security-Policy", + "value": "img-src https: data:; upgrade-insecure-requests" + }, + { + "key": "Content-Encoding", + "value": "gzip" + } + ], + "cookie": [], + "body": "{\n \"invocationTimeStamp\": \"2025-02-05T06:43:52.376Z\",\n \"invocationSequenceNumber\": 1,\n \"invocationResult\": {\n \"instance\": \"api-599dd98f7b-m66z4\"\n },\n \"type\": \"RATING_HEALTH\",\n \"serviceRating\": [\n {\n \"resultCode\": \"SUCCESS\"\n }\n ],\n \"diagnostics\": {}\n}" + }, + { + "name": "RatingData Health", + "originalRequest": { + "method": "GET", + "header": [], + "url": { + "raw": "{{API}}/api/v2/nrf-rating/ratingdata/health", + "host": [ + "{{API}}" + ], + "path": [ + "api", + "v2", + "nrf-rating", + "ratingdata", + "health" + ] + } + }, + "status": "Forbidden", + "code": 403, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Length", + "value": "1020" + }, + { + "key": "Content-Type", + "value": "application/problem+json" + }, + { + "key": "x-cached-plan", + "value": "False" + }, + { + "key": "x-reginfo", + "value": "commonerrorhandling=true;hasproxy =false;version=1.2.0.40" + }, + { + "key": "x-execution-status", + "value": "done" + }, + { + "key": "Access-Control-Allow-Methods", + "value": "GET, PUT, POST, DELETE, OPTIONS, HEAD" + }, + { + "key": "Access-Control-Allow-Headers", + "value": "Authorization,Pragma,Cache-control,Content-type" + }, + { + "key": "Access-Control-Allow-Credentials", + "value": "true" + }, + { + "key": "Date", + "value": "Mon, 10 Feb 2025 07:14:05 GMT" + } + ], + "cookie": [], + "body": "{\n \"invocationTimeStamp\": \"2025-02-10T07:14:05.796Z\",\n \"invocationSequenceNumber\": 1,\n \"invocationResult\": {\n \"instance\": \"DEVSERV\"\n },\n \"type\": \"RATING_HEALTH\",\n \"serviceRating\": [\n {\n \"resultCode\": \"FAILURE\"\n }\n ],\n \"diagnostics\": {\n \"Actual active connections currently made to servers\": 4,\n \"Active connections retrieved from the connection pool\": 2,\n \"Number of connections not using connection pooling\": 0,\n \"Number of connections managed by the connection pool\": 4,\n \"Number of active unique connection strings\": 3,\n \"Number of unique connection strings waiting for pruning\": 0,\n \"Number of active connection pools\": 3,\n \"Number of inactive connection pools\": 0,\n \"Number of active connections\": 2,\n \"Number of ready connections in the connection pool\": 2,\n \"Number of connections currently waiting to be ready\": 0\n }\n}" + } + ] + } + ] + } + ], + "event": [ + { + "listen": "prerequest", + "script": { + "type": "text/javascript", + "packages": {}, + "exec": [ + "" + ] + } + }, + { + "listen": "test", + "script": { + "type": "text/javascript", + "packages": {}, + "exec": [ + "" + ] + } + } + ], + "variable": [ + { + "key": "msisdn", + "value": "380678102298", + "type": "string" + }, + { + "key": "imsi", + "value": "255030012320341", + "type": "string" + }, + { + "key": "imei", + "value": "383455587288299", + "type": "string" + }, + { + "key": "mcc", + "value": "255", + "type": "string" + }, + { + "key": "mnc", + "value": "03", + "type": "string" + }, + { + "key": "apn", + "value": "m2mplatform", + "type": "string" + }, + { + "key": "schar", + "value": "0701", + "type": "string" + }, + { + "key": "rg", + "value": "100", + "type": "string" + } + ] +} diff --git a/Kafka_getConfig/Kafka.bpmn b/Kafka_getConfig/Kafka.bpmn index 6a4b8e8..6e8fc85 100644 --- a/Kafka_getConfig/Kafka.bpmn +++ b/Kafka_getConfig/Kafka.bpmn @@ -8,7 +8,7 @@ [{"name":"Create_Config_Yiz_Http","link":"activities://bpmn-mnemo/personal/MyDrafts/Create_Config_Yiz_Http/#latest","version":"","entities":[]},{"name":"bll","link":"libs://common/bll","version":"","entities":[]},{"name":"ai","link":"libs://common/ai","version":"","entities":[]},{"name":"Platform","link":"libs://common/platform","version":"","entities":[]}] [{"name":"RestApi","initCode":"functions://default/RestApi","initParameters":[{"name":"Uri","type":"Uri","required":true,"oldName":"Uri","defaultValue":"http://servername:port/resource"},{"name":"Method","type":"String","required":true,"oldName":"Method","defaultValue":"GET"},{"name":"Login","type":"String","required":false,"oldName":"Login","defaultValue":null},{"name":"Password","type":"String","required":false,"oldName":"Password","defaultValue":null},{"name":"Headers","type":"StringDictionary","required":false,"oldName":"Headers","defaultValue":"{\r\n \"Content-Type\":\"application/json;charset=utf-16\",\r\n \"system\":\"204\",\r\n \"global_unique_id\":\"6a297fcb-956e-4228-8c11-017e9bacd629\"\r\n }"},{"name":"Body","type":"String","required":false,"oldName":"Body","defaultValue":"{}"},{"name":"Encoding","type":"String","required":false,"oldName":"Encoding","defaultValue":"utf-8"},{"name":"Timeout","type":"int","required":false,"oldName":"Timeout","defaultValue":"0"},{"name":"Result","type":"HttpResponse","required":false,"oldName":"Result","defaultValue":null}],"oldName":"RestApi"},{"name":"RestApi/GET","initCode":"functions://default/RestApi/Get","initParameters":[{"name":"Uri","type":"Uri","required":true,"oldName":"Uri","defaultValue":"http://servername:port/resource"},{"name":"Login","type":"String","required":false,"oldName":"Login","defaultValue":null},{"name":"Password","type":"String","required":false,"oldName":"Password","defaultValue":null},{"name":"Headers","type":"StringDictionary","required":false,"oldName":"Headers","defaultValue":"{\r\n \"Content-Type\":\"application/json;charset=utf-16\",\r\n \"system\":\"204\",\r\n \"global_unique_id\":\"6a297fcb-956e-4228-8c11-017e9bacd629\"\r\n }"},{"name":"Encoding","type":"String","required":false,"oldName":"Encoding","defaultValue":"utf-8"},{"name":"Timeout","type":"int","required":false,"oldName":"Timeout","defaultValue":"0"},{"name":"Result","type":"HttpResponse","required":false,"oldName":"Result","defaultValue":null}],"oldName":"RestApi/GET"},{"name":"JsonPath","initCode":"functions://default//JsonPath","initParameters":[{"name":"Response","type":"HttpResponse","required":true,"oldName":"Response","defaultValue":null},{"name":"Path","type":"String","required":false,"oldName":"Path","defaultValue":"$"},{"name":"Result","type":"Json","required":false,"oldName":"Result","defaultValue":null}],"oldName":"JsonPath"},{"name":"SaveVariable","initCode":"functions://default//SaveVariable","initParameters":[{"name":"VariableName","type":"string","required":true,"oldName":"VariableName","defaultValue":"varName"},{"name":"Data","type":"object","required":true,"oldName":"Data","defaultValue":"#previous"}],"oldName":"SaveVariable"},{"name":"SQL/Oracle/Query","initCode":"functions://default//SQL/Oracle/Query","initParameters":[{"name":"userID","type":"String","required":true,"oldName":"userID","defaultValue":null},{"name":"password","type":"String","required":false,"oldName":"password","defaultValue":null},{"name":"dataSource","type":"String","required":false,"oldName":"dataSource","defaultValue":null},{"name":"query","type":"String","required":false,"oldName":"query","defaultValue":null},{"name":"Result","type":"Collection","required":false,"oldName":"Result","defaultValue":null}],"oldName":"SQL/Oracle/Query"},{"name":"SQL/Oracle/Command","initCode":"functions://default//SQL/Oracle/Command","initParameters":[{"name":"userID","type":"String","required":true,"oldName":"userID","defaultValue":null},{"name":"password","type":"String","required":false,"oldName":"password","defaultValue":null},{"name":"dataSource","type":"String","required":false,"oldName":"dataSource","defaultValue":null},{"name":"command","type":"String","required":false,"oldName":"command","defaultValue":null},{"name":"Result","type":"int","required":false,"oldName":"Result","defaultValue":null}],"oldName":"SQL/Oracle/Command"}] [] - [{"name":"sseMsg","type":"SseMessage","initialValue":""},{"name":"httpConfig","type":"HttpConfig","initialValue":"{\r\n \"host\":\"https://10.29.101.122\",\r\n \"port\":\"6992\",\r\n \"login\":\"login\",\r\n \"password\":\"password\",\r\n \"encoding\":\"utf-8\",\r\n \"headers\":{\r\n \"Content-Type\":\"application/vnd.api+json\",\r\n \"Accept\":\"application/vnd.api+json\"\r\n }\r\n}\r\n"},{"name":"oracleConfig","type":"OracleConfig","initialValue":"{\r\n \"userId\":\"login\",\r\n \"password\":\"password\",\r\n \"dataSource\":\"10.49.1.198:1521/bisdb_prm.kyivstar.ua\"\r\n}\r\n"}] + [{"name":"sseMsg","type":"SseMessage","initialValue":""},{"name":"httpConfig","type":"HttpConfig","initialValue":"{\r\n \"host\":\"https://localhost\",\r\n \"port\":\"6992\",\r\n \"login\":\"login\",\r\n \"password\":\"password\",\r\n \"encoding\":\"utf-8\",\r\n \"headers\":{\r\n \"Content-Type\":\"application/vnd.api+json\",\r\n \"Accept\":\"application/vnd.api+json\"\r\n }\r\n}\r\n"},{"name":"oracleConfig","type":"OracleConfig","initialValue":"{\r\n \"userId\":\"login\",\r\n \"password\":\"password\",\r\n \"dataSource\":\"localhost:1521/XEPDB1\"\r\n}\r\n"}] {"brokers":"kafka1:9092,kafka2:9092","groupId":"gw-reader","topic":"payments.events","security":{"ssl":true,"mechanism":"PLAIN","username":"user","password":"secret"}} diff --git a/api-call/Source.cs b/api-call/Source.cs index abe4a78..ba16d9a 100644 --- a/api-call/Source.cs +++ b/api-call/Source.cs @@ -203,7 +203,7 @@ private void _initNodes() System.Uri Uri=default(System.Uri); try { - Uri=new Uri($"https://anyapi.io/api/v1/email?email={Input.address}&apiKey=eopl60isvuor0um4nppvgoqj1d1tcpdko7a89sr6uak80ap1jme083"); + Uri=new Uri($"https://anyapi.io/api/v1/email?email={Input.address}&apiKey=YOUR_API_KEY"); } catch(Exception e) { diff --git a/api-call/api-call.bpmn b/api-call/api-call.bpmn index 27f4e0d..72ead9d 100644 --- a/api-call/api-call.bpmn +++ b/api-call/api-call.bpmn @@ -32,7 +32,7 @@ the GET api call example to get data from https://anyapi.io/app/email-validation-api#docs - {"actionType":"Function","action":"RestApi/GET","actionParam":{"Uri":"https://anyapi.io/api/v1/email?email={Input.address}&apiKey=eopl60isvuor0um4nppvgoqj1d1tcpdko7a89sr6uak80ap1jme083","Login":"","Password":"","Headers":{"Content-Type":"application/vnd.api+json","global_unique_id":"6a297fcb-956e-4228-8c11-017e9bacd629"},"Encoding":"utf-8","Timeout":"0"},"libName":"","libEntity":"","libMethod":""} + {"actionType":"Function","action":"RestApi/GET","actionParam":{"Uri":"https://anyapi.io/api/v1/email?email={Input.address}&apiKey=YOUR_API_KEY","Login":"","Password":"","Headers":{"Content-Type":"application/vnd.api+json","global_unique_id":"6a297fcb-956e-4228-8c11-017e9bacd629"},"Encoding":"utf-8","Timeout":"0"},"libName":"","libEntity":"","libMethod":""} Flow_1lcy9oj Flow_0onq684 diff --git a/api-call/api-call.dll b/api-call/api-call.dll deleted file mode 100644 index f93ecd4b4458a2c8b8b0a7e133a79e09580f4150..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22016 zcmeHvdwg6~wf{PgIrGdUGn2k(+D;!S(M%`C+o8#v^qfiC zPy)$M5K$gh1m!8U1%wM~5taJx75T^&uX07Npdx$_^dk84fsd+`-*>HZ&demKfS;fD zuX_h(oxL7=t-aS;d+mMBoOI2*KSUZ4>G;0!2GJw9@@J{QHwS}Y$ESQTP7jB_GxZT= z^>?Oj-j#RKy|%T}&h?}_bA^IcOm8>Sc3&Z#FQk{R+m!CHy3D4ks>lpa_4;aYZJ(NlK zJkm?F&TXC=4id#q&3SWbnkZBu5dyxd0&gms`-{M9HUNNEIagrvNfTY%WSiYqr#FT{ zka=#K@vZnQC0bU2{zJ`IFn|8=*i;J8j5CNn@(v`A}maVBwp3Uw=hm z{aAOZktEgcG2n)48O+gV);2^>j^(yB4JtlSKhAY{G^y0@LC1;LGVtZN?a7T-#R;*b zTE7PgI`LWtz8tqbxe2N`r7Ee_?+LRU17D8Yu3Tn1taG$yc-MOGI+L$N-0|jSKQ!}$5N|KX`)IMYn z^c+BP=+bv4Vfiv9GAd!NTXJ*h>E#%k5YGAK|6HO$od*sI`0gN+jq3vsg3h|y+HI2v5B%1LBURT`YR5U96b zK$_NC$b$%3EevPV#O46ip(h3j`SIX8}{#CzV>QGeC_r%rUHmXhbn` z5R9O8Ca}yRfLO>yti?dAvjD)iu(?F$eEZp`(HJzWvzho4m^p_tIRWZZ|Tg_cK^-A8w zsu7R!^>S>Tl`cap3}+1(^@Gg09LuwkjldYrT46IMgP{!fCW);eV?7nAJtjM zomIO^pdgvBzFge5bQgvC=y znhpJI2hJl@_5|S!!8YpW#AYVdlVea9Cx#j#8HBmP*#djmfHGTgJ*l8^J{nn6ov3{^ zrr}%w^iuTzk3NHeqh4%85ny$i^={zSg+fd z%th!DZP>2%tuAG56{&YKHuj_vZCIuDA*nd0Q+h&g#NxV}aU67rn4eMmkX6DDBm#|N zz-N3q^ZCOvY#iI!Sr{yQpl7zpFiYrr1Z6*|bf?=3;lP#?;S;H@X0j|ms-8iq;8^g{ z!^mK}Y8b$Jfxs-GXW(qGwE?U;9VZ*CJ6)})UrvryN^u(R)dpuflej9l`;6z@PEa#l z0G0_bQ_bwa#n}nqRv&l2L>vf(5iXHEs+F^aM z7cm`bhSM=?rt_4C$-^s5=jnR%0IfwWMCD9SAhQd@M%5Od;b_nh4O)4SVj=4iT&&#y zRcZ$NhGE}_EX%+f4VfNLDXv=uT+`o@ICA_Ke~{w?x&^w^3y?z8?LVQPwFj7G17sYg zFk8~16hR&Uw1lBlvij7#Q5CdFO5_6CS0;+0dt$><}H zuxe zaqe(?jSV&igWe=6&Q^))*{!H5NFU<*I2XCG5#MUG{m)o5z6;um_#(4u0TPqtQBTO= zyu%kcCLgBrnSBZxGb`vR@*X!yYLP7)^f9(_H)JA) z&0G5AU{)SUmb2P>z^@-Go{PA9}O8_lk-mK8$^A@twgnw z`4=#x@qpiW&~IRYM)=&JQY&=BDC)EIX%Oq>Za$GgXmRT1CklbgQPBG`T$oBlxGAd3 z0e;*`9gA3sJ@ia$4$~2Z2rfyG7O9Prod{5`dH{ph%jL}82BIt$=OL($(zB~ z)I_kH(9UPUyc9*uo^L=NyHG=nMMGqd4?;9FO0XL}z3b_c` zPqAENv|NDfg(2!q1y~MqSq3B#9VzF{PIfiyhz%(tVelb^i^ERrP;#$OZy!PDp!GRS z30eIBkdTjj8A#YizQs0lAA5$efQwn5=e`NUwP(Kq7Ph}HFcBY@3MMZIJs3jeNCYyA zkq@b=L{%#OY)z_~>~t9Vs+~vJv5EL>1-lJD5t!9Pr}6qGI+v>7<+uANa)sZ%ouc>p z?MEs4UB6vWrXN&lxG&%LJO*vkO0f@E$6)786Dkvj!w~=Rh}_pOwo$=S4H*YjG;rch6BBpOD z+WEpxhb6u@ljsSAZu*u@bbE{Y{CWDyEgh&u^Z@W*qMT1()@^NPVSG?lmGj4aA{vIv z=r78ALV-rW=n{N6128ptUW;+^vnTo@zD@Wd9)eH6mFtLs?+kpoFV}AkU#{J(mgwCf zrnA&Mqq)kU-2#6Yh*wq9dIZ3rF9n#s(TD@COI#l^s0UnwUKSVtJwiJ}=U`nKF@}e0 z&cS)(e*OAToUSqUjKREPx`tVq3@uVK?jttt7GYYSc%Z;6wBNk zWvC>#BKV3Am!-_$D z7=N77@%@oF-H_amI{i8Q5zM__{F$z1oj;3xzS^L#!>bWm3A#alL))N_r8b1&`3O_a zgDr!;FZ3q_8da|wP4r|u6CO*e5=Y^&-^E$-qcN78CO({6#gu&N`p{`qT|F)sr;i&v z@*9)vfgomW&_T>}CY@CishLTJ!tmdWNR2^%s%H9U(4I+6;2IPUhM?`Y)Eb{jTaw)O z4H?y+CE`ml&InBd+((_r_Xs_Txp4mBZW7$An*nbOa=Tb{r(w{iYwkh&3)=mFztKJo_#^GJ#zI=Be#ICIFB}K# zr2hb%L@xkdLB9ihUQvPueIqy)@XYwcVeR#4Oo-kWY7HG$6uQ8}ewcD}g)a86jgcuq zg?4$^YHbFvUKbmGBK8AKp^pjn7+nyb6%5e$sf5pCv{?V5V$l0NtSxvL>tO{K9nYRY zYdwtZ8MM{I*q%Y}aWPoI3pON8$9fs z=+7bfQNe~n8=_}{cbCU|H8}%MiXZW?Y*lNpioPe<`$FGMo(t?pUcaZ4>wx{-ll*H< zL5b7fJj_UJ!I}%z^BkTJ-x{BYQ+dY2_SVb*w$#HOs>%Snz{6e(GOt&#m%_ItE)3St zeh<4Ru>;tZE~a!P>|la)>_0>=DOU#e1(S64={|OOFhw82VUK8to<@zSrQTUCmPeJZ zr5}0NR>Z58=3|#+$<6we!CG1+*g<+F^{_UEo)heOr5AA?OaIry?i38S+xT#dZU~O0 z2LyX5d{y+8-~@Wq!(L3>3G62x_IlzluwQ!EB<(qVs?f+)#C-m8PQB zYxGw@on8>`XnHpeB>`%$;r;c;m`jk7I{%^+2VJ3u#mZ>t>S4_qxg*(>V2fpnP9}V! z(5dJKEry+K_|Cz%1AE1Z82JMJRsZ&>Y>#4)Q8bN0(fcSu<|gyYBk-jICS5m)M`_+45e+JAa{;Xaj+J@AL`s?a7;yoTuRGX!~5Kd?Z)dxd$ z+HpD(ny%fVjtR`xc;wC6eX0}Qt8Gw@Ca>1srR)k`r|nUGm^w^H)z?xtYRA;)Lw9Pe zN;`JKR;43(m~x0h4dCkFy;@GW$M}@?xO!{oVJ#2(F~CWo8p4C+{ zr105+qaqm-`cdWTa1NBm!ZmbE=*N^h!ygRPDm>p>_}0%wZPb*-I!czOr`ns zN~j4t#ODE1^fkbV^lYeA=xul|_lr;)w#h$)azg18N+&2g!b3v2i{1g5L(=}bw2w>s zIcYyH?HA}gdMr!|OKJ-13@dH)OnADq+XM~@_b!277xWVhb*A4XaA}a+7YiH|c$dJnbQA8+{)2u@FVk=6HTny^ zf%A9_YyUK5x^l6yUOlG1tiD5As+hc`M*l?c;#YRv!lZX7mBTrsUC(J4zKh zQvhELBUP~%h5^IK2o)z>{Pu-bHDHSGX0Q+7@gMG8@N+HhTE>7f0Z_#$XdK`~U@B_= zM9?Pzs<@ZoJEkdsD(+zT|4Ui|(cS=|Mb= zSfzYGxlQ@45>z|X-Kdo}s`sl$)yLI;(|)1-T6>4SR^P5)qkmWbg+3;*Ch+0F?SW4Q z^g)Dg*k=R$$4@Z)&l=-qoG5rduly)DmB?EgCE`{*d0?cnZ`ODNPc%l-mdHc!O1WLe z)={)9o?(pcyM-U5jIeR!6m}mOMcZWziVZhsgNVPVLQecL!gJFp7UhZR^rr}pR=7Ux z>2UctO9&tL;E@Yyp0bVFlmYs8`i8IQ!!UGmu&Yb!ka&eCzNcykT0&qYn+bApTSZ~ zI4@cXEARTfUPPPdsmscF4Nwc>+Um$@jBY~ z^yRwq#r`&{r#EMtc7^()#n|e+Q)FVHIDg(LMm^6R-#j|c>=*Uxb9wvXdDO8yFZOeG zKd{lWosZe>$Yxs$R-wPg>T@>t_nIvigF3=5rx0ttc!6tlf#=~fvS*Cy$29TWDAqz+ z3ukpUop0H@cXV6(nwFb8INESlcHWuuvS%zNpS2>_2`BXXWW3Qr&-Ll zZffi3pmR5^TT5-5sSWAUDwED`G@W8=Z$7)SeKYOz>~z4!@?0@ToBExi+0(S%&hN!Q zn%XSeT%F&}(f3))`wO|Adyr%>rxzyyrWAd&{1%Txk9H26n-zYTf4fbwYL{KR#@6R?k+mJy(gFNuE3X@PN$vkWoK7VH}siye+9nDwD;ya&Gojm zH;=SkvOAkymh0S&N6nsE__wdSIGWy3=9q=uIh-a| ze3AsBu-DpcV#Rh_1(R1al@~WJA}Dc$yxi(z?k3p7g}biJ^|+(k*jFg#drZMa56_Ml z)W|I1RP*A#H)rQ_g<>1r*k_v^NFLj4Lr8~>om~56A7G&V+E{Pe4oZWG?2)=k%gyb5 zJ9nD)GTYiGLw3o2-7WWY>Hf0tI=dO)TEq_u+xv#Er+YP~YE zd6$g}fUH4cbz0I`lkc=G$J$YBYTu6lICzYseIG#a(`l z^2^s2J1;54*AYdjlq(WrSm@kMS%)`aX}-DimID4HU^lh(**09l8{1o`Uy0wAa@}ts z#D4Mw-2%5dU&Kz@?azwihlN-uqRgA!GBGJ(WO5X`XFXp=ev( zvN}6Z<4YTfAZ|ctvz_l@FI!f(nJW-#?PgSf0@f@lJAC6}ZCsYI<8vao6o28l7{Zk= z5MW1Phtz1uiCxYi%g$daJ%XO88&bgfxz;(dyC@9p(ztMi3DBXu5s||T*Q^$x+SE4YI#@o(l+OW-)B zPM$!$4PkldsOXTJ@Loh6U&7nVa58oG;1b{6{jf`Lb#!FNa*xD^NAGrtvV{_FE1xm2 zO*0UABawLmzo$XU(qb{Q??B2!6T)d_~zV+oBs|umjIj88M9ILkOJffv*G5qDC>&Rue> zk*=+seBO|9xyqj6h2-qLvZKA6^6 zd(E}xeniTB;;@<9zDR|O+xMHDecstj{$lssjk$dz(zv{fQX6h4ilwBb&f6?fMI{v#qjMu(A;X&FFhf>v z)_;CQ9S%PsTW7cT^cMT^=#K^t&;dLtZl@mn8kooXYiT+M-viW41NfmmjbA$Z$RwNk zOPm&uvmA7XI>F0RFBJhTDwL$=c~V=Uw;Q~!5@$X*X?zEWI{!PZdp2feDNC2i94xeY zG0Hr~i4+EnuRJ%F!Qqc?i^Fs^ix2le=R7=hr-|(t zi91TRvk!e2(H>B`@v2gJ1l+3y@-5)yAc5BcT5L$Ub4yFVB1XY2jxx`%Ks$lA;OjuL z^OU1l=<1p?+AAwy(S}d_nXp&cFXjk6UGV&w_%*@8d@6m`3_mOe&%%f?m#J%|zlqWC zX}=449JF_!-3Lk+estL)d6q^$8`NG%*fI}alBqrDvkTNB_-V|E$HbA?56JV(i8rCG zdIsK-+zZ^zOj^gW=)`}l&4FExOnO+9D*N-gDECfdB;{zH1s+vz8m5ot4!6ho!TxhF z3eGb2-mvk^+JUjT*)ehyY%7P6a!z3;!7a$I^>{&l6Ev~jK4@)&KK3C+SCsV71g5(F zU^oZw1F&V2lq!xd&z)B>O>Bh@&K4eF9x-CA?%JkFBXz7sFU};ESG2QWaT(-!r68kb zU5JsekGnlj7Lot!@dm{<_^2J)Ic7HdtCX$0@;D1vA77V?^&DE;G1_u;X$pIgW9+Z3 z;ZdOJT$k8W9RISujlfFl4(}hjt09AR(2W0P5uNAfk3(nSH?X;oD8O<6YX zHWy=U0W?ds^PLs#b5L7ndXndX-jBL!qIWO6u@JVnmh6S6*#phE_F&Z(!0iQfC#ZW+ zOIi@c7R;a%)GpKy3u}qj_hR(5p`{PlZs5&grv*KFV51on)Q^ff7O~TLPhsR4W2u{yw*mTO;ccQ0-&~p-HF{}dg?7`Ip##@SSWg#Ty!7XQE z>2^YX4%%nHK_*%Yz?lb^;8iN{TJYZ-xTpoPCZt$*Cp0aT{?o+v04dpjmh)D@N)GzD zTsd&2=fn&DS^8JQKRe-zLRok2pQU>}M$XBx4>oMfp)~p^7l<9=QRSaztsQgdgrzQ- z&CaqllsGO#R6X366fMu45+lb-iIMtfzAxi$e!S&yT$)Nn%BB089cLpA-tqRF$;r)i zj#rR-g5d7FdVF-;v ze0zrf5x4yPBgI^}^sS0HoMBGPJ#O}dmtFU(q5L10d~!4CX+;TXC|LnC5(!4*(wrJf z<6Z4FN^%3Zb%JbB<8`qy$&j9+l#)_Ynr5U3Uj<(kUo9R~D%rs?$-xs!ieEMHTEVoc zqBD6M#k;EBRfFYFiXy?11xUkuTumuz3SG4@Y4PNc5}#BT8Iz1@?m%K})<;4?kE#ci z1$lGx*88>GQA)`P05hHDgcGQo5} zk0{CU(HcdWEbf_%Kj?*zLSvGBYCJi36=sMTrxXK@Ob)(U71S{G>mY&u@_L#Qd%~Vy zhY~T!Cbx<4p@iW&Te#@p`iMKCQwm|CWIje}GB0BJWF9l)xT!q5p{W7|)laB?2^>x+7SyR7~%!ktfI46z|r(=p- z@&ISbO$b(XP~%w~R6J<7NCbiLM$B=+pN%VSbn~I0fjHu$m0);xjP!9;TK zE6Ks*800tO@ZsZ-cEcKnuOTBI%d4@%Vnf#=T`UYtBnI0f27_284?pq8AG9Q;9YAPBc` z$|WFuQy?*TOA_;ZH97d(x>`5v!-*jd${pw#L_ryRIysO+Q2$Gpe%^AsN*%|uI0c=p zW?ZY>`=`kPiSbWEVb}Xus_ad8j%${RiOKrCO6tSVEec%7nR8V`u!ao|9+UOQK1vS$ z0nw`bANmi~fq=|Hvcy9XxD1OmE*kz2mbr0ya9Uvgm@qpE*C%U(A<=%wRjSsp8jfyq z=x&LwtFlfs9SU9c%2ogQ)qDG|4>doy?xlzB`P8eS&%85xMdAmMvqBFZ>t8hMr=Pl5 zHR76)%;9UQMkI*9tigf<+Jo;l%}DG~jXEY{fO17G7yzqQH?UCA7#{}H^#!nW4X|Ma zZ6u+NgI|)UleJJr>uQ-hGH7h;4rs6ATvZup*cjD1t_X9IEg&R2-0T_hcgX=Jj+YuD zFySV*JJ6`_Vg!tLSYFQv9w#z3A-ASTRpSUmFwf*RR+nR7ije8s;XMTP1z=k|t=CC( z?%+H+3RQ&qMj%PyYw6M>k~cK%WiN#f8lo8Lq=Tuf8Wq0}uL+eZFHcK^8ji%o3ec6S>$?)GmxU<_&G?xHQMR<)}n z+l^yrLm+W51Oj1jNU|{CVIUBOFqwhukd22734~;ivt$y6fyFa{ELljFO?C-k$IN$M zRY~e@L&!PIIdjgeOx=3-=iPVTz4zVss-&j-l3Pe2A{Ezr?-4zYJAc*)_`zTV?D*N= ziql_4emL`Ssq2R`dv@pD%#dRbIJv=0U#?iROPO6(#wiyw`C_Jh)3(f@-ETG5)fsbq z)tftrx+Ixa{GSc|!Dz40tV~pDA!-Lj_Nc`^+%vdFa1kX%8$4B@)jQn{g5O7>HP^E! z|5v^HD3kE1hu%$I^UQFBD0XJf2U9ad;TnlB@bxu#bICeT0$yqZ0Izngz{Dp*ba}I5 z6>QijY#0HV=e7=4&1VhK+8XqaYHnt~;={Jd6rwj45w+lw1oe*x=@x~ipd0#|B-?Q! zL$(uu6Wr-Un$bYof^>^Sbz(foxC)cCXangBX31HE%Af^AETcmPT<8(qX2=K8ONEqj zNHkc6{em2TOg2)hpXnh%KNy8XpaAxG3Pb}kfey`+#gLxtJi;i9`L>vl1&VPFVrr@l z+z?7@ba-|g#L%9OKsWM$`@z1^bYC9qihb~uXP;;Y-63*uM`xZRT&s~%hAX8BrxinM zOvoOVHJH;dPbr`4@uGU;RLr5osGEYdS=im+iPcUbi-c-$CqiJZ1Bsyt_9PC0J(=MG zn${AcdeEUB<101{Foa)ZAX9<3XEB9+QmfUT2CC7}q}laoL}B?X*r(et+{n%Vh=o1G zJ{yRg0RZ2giF?xzUXE&wx@Mz?LH~$hX0r$qp zjyF$8%m?KVdl+qm(rDb^-LFOf)wxZR=Ut7AQ%`G67~XAwz}yk$Tn&%avYVORDA>%& zB6JN6As1xh5XW_a1T``(qLo(?@{NSwmcuJRgx?mjBhx%rVaA%f z1dO>O%(;5PXf~#=xl09`Ia&B*v_~<{7@wwF!gMP;mp`(*j62H?f;QwJd_&GA28_DP z!LpJ020=jZ^31#O%mRXUoO$0nvw+}?SD_K@Y@^Qu{otB~v>*aEX$4RTE+K7d4oN+8{ zBIal1@;aX%GDD3M!Dk%n-TSZ%500(jJQ!=R?QO!$3W~A({X(X%`rTv~qZo%+T+Tuv z8nVh>V!v~uX;~y}!y&XFfN}?V7WED{Rjk}&zib68QU&n4IlXwMt zdxG!W3qj3p0I<6N=E>P^+}w=-UZtq+IdS1*v7c1-MZ}a69$kiJL7&HVF}9%E7fS=~ zJjm9L>WkvVbPn?H2h;dSCD z4Qu>K%oS0AU93!thvI5H9FN4cxE?pM7qdEd2cSXOOK^*;?oRFwqhk~g+m`}KhgR^e zl?r7qV@xBb6*i`{>?eUv&Gs@;H}%E@fp$5t7_Imv%yM>)6APQ+#yO+ zT{o@?lbd33z1H@a8Eafkam~3GW`MN^3et7i0&ZrVJ&0Sj$fUS8u5&-c%y{h-^mxd% zAz}{!P&^W7PbbVo;}$}E*MiZgXZPaP!0~p_NGJ7p#7w#_+I9(m!j+DuX*N#Q?J~3W z0fe*rxp{!4_{cHL*i`^^5&IywKgHk>Kw6EMs(UrJQZIL*>Ho7<$!Yp8b~W82gA zHDG5)7)0RE?6qi-nRc)9dQH+Bb=~(_&7s9iEkHuFA~}%Cgi1^ck&OjhSlg9P3tHzx zponWZ+Q9K71X)~VH15NNtQH@p&%|{z8jsY_(=93?UkK&PbQfX5h9)1v;!#QScfOY} z5BJkB_Yl^c>Ryl5T(KwGH}G8MIxJv+Mzpol8a8>&{VXv12$Q1PLGGs8p92TNx8}1!FQN7?TC6V=f&xCU-mInAkl{-ucCtIC_dPkMo%G zcRJ#8cjDnFQXus0UWN=Vro(GrcLLF1;NaWgl> z+3#M&1m>Bf7!#u8bYSc#y*#CkoK0v(s%hnZ9(}MebIiOti?nTsg>h&Tn`R54zBNN; zuJZtT>h>*YlYJ}0u-DCb3=9;}FE9-skE+Qca;l!4i+QB6!KSsBlWCotUqIZ{-P<63 zm8mTt31@VES~3zeg>#Vb#4-IAN^*NzOO*B?-=*5(-x>SRL4^AY}s39FArQ z1buOGimWd_ULPX#eXtNI$R)^mp5+o_<>Z6B;;I>w#y-V4lQfenQJnB*CPif7kc)wsYJgqISSY}*VoVFLPct?u5lv(wn=?KWnTky0^{nb))LS!T zYNnn&hjS988&@w`?(#Wr!flB-(RPHAThF75Lr}kPHSGu^Yt?>WiCtA zz?^X@--w>0JO~GJxA6{SDjdkg2}^n2n5Fy`=&4=Gm9^ZoI9SVf(DcW=wY+xQg=;1M z%?=hP?OWR1(!8W)$)c5>uM4>S3@JJrTVgw=`7;ykZ6zmP9Kgm4KVbvP;1oD}`!-rN z-+PZX`-1JA?cj9*|2a<8v)2~*kR(1R8`4FS|1=ums`Ptl2_NcETnGmz@oo%L6Z;;v zE%6Q#ON47C$3w_rc_Z=-F{Kd7rsjebhKvOy;xsnHWsubiT{)s0bux=fb& zNrYiK`A*oNFNIf|ljwJmX3e1G36}pBw zgPuY!gYFjNW<}rU=%}vI-wF7LZbI`fgq~MHF=$9xZO))4gocBv9h*Uaq8-&|(Hn`6 zMP|`|Rv6w7xRYXH)(;AubG0yR`*oN#ye+idD;?G6(F$`XLh@%~UK0dNV+Yb`8+6X2 zmRKS(kM2w+A`9r}$|gv*3BO%f$20vG{Z23`hd03+t1pQ(7N2Apk z3r|#n`!47j&54>?GyOhR7f#U?iOulUG@>9Hg;;f1zfjJW;I*eBlebQ=kqQE3zKaaObGl9v(*t@{y z15-(vnWQfCn~0ar4WxjF$3I{b@otE*M+7#RmI&-7r0+zUO3Tpqmyz2;5}lL06YvM} zmjNfl{}W);xF7I>W=~bI{H_D-`2SOh3L0K8od#J8twlpKMS}}`4Qk` z<;S7rct!SNXc9*F?|^;uzW}F`q)no0C`71dr?Vn7|H)zZh8x-rxAVH*6;Vv$u{uBA(&o^WD<|V+fz`H2v|d+Q&VYPDyuR>=^yEk3A!>?+c85eZ3Z=61GsD`*$NZYY95)V{a#J19qQ}C6adn`wJiY z8+kdh^7}sao4T)RNqR+KH-yQ!AK34F-m2t7z>?VScn;Uc9tAe!V}0s>(I(I>K6Z)r zBW((Or@@n4Nx#%)(b7f_yGvky?qkCe^Ui8w-mO!nM}G}$p1{29nMDf)b{(F1egobL z9~;Dr_u16yW9LwvK8G&!u_H7^pF2v+JnHdz-;-wR^G5L&PzDESqU-2q;4K)%Yo`B) zV+QkH2am-hT7i8F>rWdES*l8z!cEa)v!jkcDFSbxw zjIIz{tCEFY68$lBm0HnnDy}AsIyoxgAjOqnDxg7~fJxdxr?4J(&`GSr9rOy;-ws-h zbvG;|chGl{+dJqNfX@iZ3xEx@k~mve64#DaK|exoK+g$@^*2xS8O_kZVr=`WV+&4DM#d+k|WA7F}qLuGx}8GcI64_HvLuk z0non!nV;zQDv!!PmA?XQ9JME;?!<%2uryhI6!6{XUn@_@8?+~tVWDS-v`%>nbV+b$ zY0oMrKtG8Q2a+!U?o7U-JR^6-UsGO?Z&BY+PRbeeH?aSh{CnjnJq(}ce3^S?Q@veK zS}~)U>S5_FrJ)M?C@vZ%f~llYkL5NneIeM`-C^{6MlF|v>y^}N#Q6j6}kO@6iqy*J}Mnm{$7oM{)!qSHC7)wDSb6@ zExiS+X3$jS%gLtD>(muL50GQgjB0ud>RFnO0ZyaG_3LOhD#qP737pXH74SaVfcAGp z`zZncSwKl*x+1Y;M!+=!b_)7EqJ59Fho06?i1rE5J|)_xL^~sM-!%eKNazu8jev{j z+*%_QS}b>8|wd1w}(_z zDWbR3#i)D7BIg3Wm0SgQG`a@xon$BA`H78yUyW@8{9K&5$D)@4{$Atus|gG6rHBof zPL=?_BM$?H~6A$`m>-Z<5(nbIy@UDbPi!V5F)u9~& zlyM~h{61t=4u1$Z`MB2flV#?fXv;4IK&#Aqhq9Nbkr6GZ{* zp;bk%1Yic5R6ILP1Y7}ax6$+TDt%1aBHbo^Q+i5zN&2nyu9TKnE1Q*m1(Xq zaOi+gKYEOhVP_KGM)6I2ZVV*^ZM58`akOhg4~lU^@R5c~#}&qP4jrQTbTf9RDbh~5 z9@j~!jPD6QPn&Q(B`eZ$_4D+!+8|{^3#FyF*5lfO>&g%eSatr&-rl8)ds}GLHmkI) zlq*^1?+Pe_w`3eoP%$aeNzQLy(nw_8`RXP~Ng$)ZKQiz(o&%k`o6uumO7yTxam-C}Qci)n*3EKJ>; z%R84Zrq1@fus7!n0~@1l$ymbDv4mxw+GR9gm3p`LtXsjMpjF*=f4N|tFQ~2C+B!R_ zt%vseQ|rXE+H<8GZ5wt=)?o8yC%+GKZ*H?4t1G{Y%@0`Z!^PZSzJgZW>o#9t6)gv> zv2M%f28y;@0_O^ZleSsK{#JJwt*r=CtLweD@hC2A?(7#vb{5@IuGnV*MY>elt^L6J zc3XXW*5+Ibe#`e$8>3zmsqXB{_gR}AdtV+oaQ>d&-nF^DJ$N&;E^ih3Y1LNCEf-4T z>7B))@^~^E)NPe^D|>RRBeff84c+wC%Qw_!Zo zxa-E;phcn|o7^)z0hC%Q^X6vD5~)l^v@S!E~%PIG@@uw^os> zz3Xge5S|s&7&RyI?6PQc&OsNRx+q1|8LXbomg8d8S%|gAX}5Nj2L>!>tz+*O6Y|L0 z{32HE>CuBE_B(s|*;>Nez+L4M8#y?XFIbMqP9$}ImE{e@E*nd$8N8O|_Br_>E&x@c zr#{ETtyUp-K(yQ{e`~o|$`7Ipq2QGAyYgIps$6!5So_qCLYCve)YL9&Eths9K3w6T zzm`)GzbIeYy~QhPwR~2*KIeM6_i-T%7I4pQ2g?qr!I{ue?6XC?JKyKnu6;$Rx#Ivr z;bJ(qxyv3HV8I@n*V^)>-b$?vJ3?M+9m*3VgXWkLvfasxp!1zGk?&(tt&#~Mf*7@L z5B0jdUy0@iOK&gYSBHD3t?W3Q$=Cz_fcgvY+BaAD148URU(lZq2N27ySVAGS3X~hl zHx0nT{kh@h{z9Relf0xHyHMF1I#Ex3*He#^AH;X9{XJO5MYtd35-L2bjcXltIS#Z( z3D$>)!Nd8Y@E|9J?c}c#qNB#)*;m&jacX$Wlg=34c54Ww80&7hvv{SqM+Ql<)w;sp zHA$pUwajzYz!%m!#~$R}ne7z;?s0NR8-cFN7yCz{j$5k1D-)~s2uK(#-!CTCaiGr< zORYLXQU1IMjptS=WAX*Y4#LEZ*8UQ5nlt=D7dYE58eUS1_37l9V+T&yXqB3|=+mBk zLjkQTU)(!ZSF<2?j@fyWX$HBC{Z=SLb=}&OLXmU$u~o+-^v8o@M;<3 zgWe$4>^{iyVh93hIoNDVn2n30-_qXR5`HZoxS+CsG;_Iese_NyH&Un9&% zk{~kgM|SK!gu^Quxk3S+Z*>Mx3W_CfPP|^q9^Y>U8hun8Lm+`k;tWRZmg|=~%d32Z zi06v^wvTZhV)2o1Djp*9B?th3CYIqQ2hWf>oTKqXfIYE_az`AXn8Ov$ZwAI}u0A`| z2zBM$l8 z?iXZ{0)9pX9AT7~9HK{SAMfa*&On4Kw&=XsMxzJkNFn5>PVLi_kXnxiNY80POl%v1 z;kDShV0Ip*+umnwwD6ZJ{yOR5b|6yY(2fIEUzyjTFdH%#Zq4l1E>-f5 z`br0=)p2sewFg34YxfTeGx22aP2F{^!Ci%6YAp`qG+lkbKa)jXOlxF1U4H+u$>|sz zDh(6O@1Yuu+k_UTve%mMeZ(-vw@9jEZ}p)y1UgM?h1L@0WkXjU7OgW>M286t%oQI!7u7$h{`94H!C$#}9;NMorxsYn5&3LbO8LaPsc8;WjHce+6 z8E1=2pmYQ0ITg^0n)-Y#8R+StZLmD!Yho|354>ozmuMRM#lehOnn&eK!6O9P6ye#k z9kio%{Qa0MzI6gG10LrQ-)%si3(sZ%8W_W=4C4(#l6{!LyUHG4<2k_2!zD!m3N6`O z>5pdxyhZos)Liij=kEY!Qe*wd;SXn6)g`%_?rcz??)_4KA>`lR+2`OFK_AY7KkS zoKuy(TE@tWh;kp*ctHZ~7ZIzOWA8^b!g^Sq6ZYdFqdKdPYr(ResR6H|+%)H2ZP1+r3(*9(EXs!OS{H)D`ZwTiJv-qbwf1s5IC z1dXC2I;AmTN_EFbPIU{h?o>Bs!yb@B;EeoB2!D<1SrTKyVK@db1S{%sGk8c$B{lNH z1hhUQPc%oK5NJFE8|tTwq1Mk%DzJNpJVTlx^ME{6belml;3}^n*BMGxO+C!V{OjYo z>YL5;m7~=eE~~2f@~GGAY#^$%NpXI6fT0G@FLj5>C?fW6FFoAS<}swEeu*ydI+|DQG(ZxrOK(1ucXS*?vuJh7<1$p zhqWvsc-%{v;}IR^bFVmp8(*kTNR2#@8hIE>9*tv)-<0EgL-695%5(rUQX@~|x+gVq zB28fo58>k?9PB;(a2}Sgj&LLnuLj49R6L5DV11mdy06)zJyD_YFkw;v&BLv*HSMKU zhsdYHolw{vhC94Q2IeT{VK`ET^1^&Y8*fu#-ogjPt62 z)lYg++j^|8nBlK~8`;fFHQ@k>Vo zYaPG*goCEnd+t6F(UsJc)X3kZa(V_FL++XA59D+Ek>M#PEvwFMa*;aLdD+Ui-$Mef>>E zOLgGtlr=*~6i|q}fo{Ros%YkRS*vF<1`~Iz@Elk%Tzheq!{EUOsbL@!l0Zfksj-B5 zj&nt#9uclZ>s1Y*fubbm&eYU&US&;UeeVr6iJU;O^ss$+67+mgA3jkW{GHR+ULV0VdJ08!d@c@Cpr)3Pl zDxo&o+&hQg7D};<R{1MbjF|fd7ZnNvV}owSQ39yK-eCzU-!t9E^=~18|`A{ z3k - - - ["Action","Function"] - [{"name":"ErrorResponse","definition":"{\r\n \"$schema\": \"http://json-schema.org/draft-06/schema#\",\r\n \"$ref\": \"#/definitions/ErrorResponse\",\r\n \"definitions\": {\r\n \"ErrorResponse\": {\r\n \"type\": \"object\",\r\n \"additionalProperties\": true,\r\n \"properties\": {\r\n \"LevelMessage\": {\r\n \"title\": \"The Error level\",\r\n \"type\": \"string\"\r\n },\r\n \"statusCode\": {\r\n \"title\": \"The Error Status Code\",\r\n \"type\": \"integer\"\r\n },\r\n \"ErrNumber\": {\r\n \"title\": \"The Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Message\": {\r\n \"title\": \"The Error Message\",\r\n \"type\": \"string\"\r\n },\r\n \"State\": {\r\n \"title\": \"The Error State\",\r\n \"type\": \"string\"\r\n },\r\n \"HelpLink\": {\r\n \"title\": \"The Help Link\",\r\n \"type\": \"string\"\r\n },\r\n \"errNumberReason\": {\r\n \"title\": \"The initial Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Data\": {\r\n \"title\": \"The Error Data\",\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"LevelMessage\": {\r\n \"title\": \"The Error level\",\r\n \"type\": \"string\"\r\n },\r\n \"statusCode\": {\r\n \"title\": \"The Error Status Code\",\r\n \"type\": \"integer\"\r\n },\r\n \"ErrNumber\": {\r\n \"title\": \"The Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Message\": {\r\n \"title\": \"The Error Message\",\r\n \"type\": \"string\"\r\n },\r\n \"State\": {\r\n \"title\": \"The Error State\",\r\n \"type\": \"string\"\r\n },\r\n \"HelpLink\": {\r\n \"title\": \"The Help Link\",\r\n \"type\": \"string\"\r\n },\r\n \"errNumberReason\": {\r\n \"title\": \"The initial Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Data\": {\r\n \"title\": \"The Data Schema\",\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"LevelMessage\": {\r\n \"title\": \"The Error level\",\r\n \"type\": \"string\"\r\n },\r\n \"statusCode\": {\r\n \"title\": \"The Error Status Code\",\r\n \"type\": \"integer\"\r\n },\r\n \"ErrNumber\": {\r\n \"title\": \"The Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Message\": {\r\n \"title\": \"The Error Message\",\r\n \"type\": \"string\"\r\n },\r\n \"State\": {\r\n \"title\": \"The Error State\",\r\n \"type\": \"string\"\r\n },\r\n \"HelpLink\": {\r\n \"title\": \"The Help Link\",\r\n \"type\": \"string\"\r\n },\r\n \"errNumberReason\": {\r\n \"title\": \"The initial Error Number\",\r\n \"type\": \"string\"\r\n }\r\n }\r\n },\r\n \"ResolveUrl\": {\r\n \"title\": \"The Resolve Url Link\",\r\n \"type\": \"string\"\r\n }\r\n }\r\n },\r\n \"ResolveUrl\": {\r\n \"title\": \"The Resolve Url Link\",\r\n \"type\": \"string\"\r\n },\r\n \"extraData\": {\r\n \"title\": \"The Error Extra Data \",\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"operationDuration\": {\r\n \"title\": \"The Operation Duration\",\r\n \"type\": \"integer\"\r\n }\r\n }\r\n }\r\n },\r\n \"title\": \"ErrorResponse\"\r\n }\r\n }\r\n}","isNativeDefinition":false},{"name":"HttpConfig","definition":"{\r\n \"$schema\":\"http://natec.tech/simpleschema\",\r\n \"$ref\":\"#/definitions/HttpConfig\",\r\n \"definitions\":{\r\n \"HttpConfig\":{\r\n \"type\":\"object\",\r\n \"properties\":{\r\n \"host\":{\r\n \"type\":\"string\"\r\n },\r\n \"port\":{\r\n \"type\":\"string\"\r\n },\r\n \"login\":{\r\n \"type\":\"string\"\r\n },\r\n \"password\":{\r\n \"type\":\"string\"\r\n },\r\n \"encoding\":{\r\n \"type\":\"string\"\r\n },\r\n \"headers\":{\r\n \"type\":\"StringDictionary<string, string>\"\r\n }\r\n },\r\n \"required\": [\"host\", \"encoding\", \"headers\"],\r\n \"title\":\"HttpConfig\"\r\n }\r\n }\r\n}","isNativeDefinition":false},{"name":"OracleConfig","definition":"{\r\n \"$schema\":\"http://natec.tech/simpleschema\",\r\n \"$ref\":\"#/definitions/OracleConfig\",\r\n \"definitions\":{\r\n \"OracleConfig\":{\r\n \"type\":\"object\",\r\n \"properties\":{\r\n \"userId\":{\r\n \"type\":\"string\"\r\n },\r\n \"password\":{\r\n \"type\":\"string\"\r\n },\r\n \"dataSource\":{\r\n \"type\":\"string\"\r\n }\r\n },\r\n \"required\": [\"userId\", \"password\", \"dataSource\"],\r\n \"title\":\"OracleConfig\"\r\n }\r\n }\r\n}","isNativeDefinition":false},{"name":"SystemException","definition":"{\r\n \"$schema\":\"http://natec.tech/simpleschema\",\r\n \"$ref\":\"#/definitions/SystemException\",\r\n \"definitions\":{\r\n \"SystemException\":{\r\n \"type\":\"object\",\r\n \"properties\":{\r\n \"Exception\":{\r\n \"type\":\"types://core/System.Exception\"\r\n },\r\n \"info\":{\r\n \"type\":\"string\"\r\n }\r\n },\r\n \"title\":\"SystemException\"\r\n }\r\n }\r\n}","isNativeDefinition":false},{"name":"TestClass","definition":"\r\n/// A product to be created defined by value or existing defined by reference. The polymorphic attributes type, schemaLocation referredType are related to the product entity and not the RelatedProductRefOrValue class itself\r\n\r\npublic class TestClass { \r\n\tpublic int Id {get;set;}\r\n}","isNativeDefinition":true}] - [{"name":"AmaAgentModel","definition":"types://external/ama_base_agent/AmaAgentModel"},{"name":"AmaChatBodyRequest","definition":"types://external/ama_base_agent/AmaChatBodyRequest"},{"name":"AmaMessageDelivery","definition":"types://external/ama_base_agent/AmaMessageDelivery"},{"name":"AmaMessageModel","definition":"types://external/ama_base_agent/AmaMessageModel"},{"name":"ChatCompletionsRequestMessageViewModel","definition":"types://external/ai/UCP.Common.AI.ChatCompletionsRequestMessageViewModel"},{"name":"SseMessage","definition":"types://external/ai/UCP.Common.Dto.Sse.SseMessage"}] - [{"name":"InspectOracleResult","initCode":"string[] InspectOracleResult (\n\t\tCollection oracleData\n\t) \n {\n //get single value\n //Logger.LogInformation($\"get single value of FIELD_NAME1 by index: syntax oracleData[index].FIELD_NAME1\");\n var field_first = oracleData[0].FIELD_NAME1;\n\n //enumeration of FIELD_NAME1 (with LINQ)\n var field_rows = from row in oracleData\n select row.FIELD_NAME1;\n //passing by enumeration\n Logger.LogInformation($\"passing by enumeration field_rows of var1: syntax FIELD_NAME1:var1\");\n foreach (var field1 in field_rows)\n Logger.LogInformation($\"FIELD_NAME1:{field1}\");\n\n //get array of msisdn from enumeration\n Logger.LogInformation($\"get array from enumeration: syntax field_rows.ToArray()\");\n var myArray = field_rows.ToArray();\n //get first value from array\n var field_from_Array = myArray[0];\n\n //passing by enumeration of whole dataset\n Logger.LogInformation($\"passing by enumeration of whole dataset: syntax FIELD_NAME1:row.FIELD_NAME1, FIELD_NAME2:row.FIELD_NAME2 etc...\");\n foreach (var row in oracleData)\n Logger.LogInformation($\"FIELD_NAME1:{row.FIELD_NAME1}\");\n\n //convert whole dataset to string \n var field_list = from row in oracleData\n select row.FIELD_NAME1 as string;\n //convert string to string array \n return field_list.ToList();\n\n }","initParameters":[{"name":"Result","type":"string[]"},{"name":"oracleData","type":"Collection","required":true}]},{"name":"HandleException","initCode":"ErrorResponse HandleException (\n\t\tPassingResult prevData\n\t) \n {\n try\n {\n //investigate the Exception \n Logger.LogInformation($\"Exception name : {prevData.Exception.GetType().Name}\");\n //casting to exception example\n OracleException exception = null;\n if (prevData.Exception is OracleException)\n {\n exception = prevData.Exception as OracleException;\n }\n \n //forming the HTTP error result\n if (WorkflowEnvironment.RuntimeName == \"UCP\")\n WorkflowEnvironment.Variables[\"StatusCode\"] = 500;\n return new ErrorResponse()\n {\n Message = string.Concat(prevData.Exception.Message, $\"({prevData.Exception.InnerException?.Message})\"),\n LevelMessage = \"11\",\n statusCode = 500,\n State = \"1\",\n //ErrNumber = exception.Number.ToString()\n }; \n }\n catch (Exception e) {\n Logger.LogError($\"HandleException:: error {e}\");\n throw new Exception($\"HandleException:: error {e}\");\n }\n }","initParameters":[{"name":"Result","type":"ErrorResponse"},{"name":"prevData","type":"PassingResult","required":true}]},{"name":"CodeActionExample","initCode":"Json CodeActionExample (\n\t\tJson inputData\n\t) \n {\n try \n { \n \n Logger.LogInformation($\"CodeActionExample:: started\");\n // TODO Insert your code here\n Logger.LogInformation($\"CodeActionExample:: finished\");\n return inputData;\n }\n catch (Exception e) {\n Logger.LogError($\"CodeActionExample:: error {e}\");\n throw new Exception($\"CodeActionExample:: error {e}\");\n }\n \n }","initParameters":[{"name":"Result","type":"Json"},{"name":"inputData","type":"Json","required":false}]}] - [{"name":"bll","link":"libs://common/bll","version":"","entities":[]},{"name":"ai","link":"libs://common/ai","version":"","entities":[]},{"name":"Platform","link":"libs://common/platform","version":"","entities":[]},{"name":"ama_base_agent","link":"activities://bpmn-mnemo/tenant/Shared AI Agents/ama_base_agent/#latest"}] - [{"name":"RestApi","initCode":"functions://default/RestApi","initParameters":[{"name":"Uri","type":"Uri","required":true,"oldName":"Uri","oldType":"Uri","defaultValue":"http://servername:port/resource"},{"name":"Method","type":"string","required":true,"oldName":"Method","oldType":"String","defaultValue":"GET"},{"name":"Login","type":"string","required":false,"oldName":"Login","oldType":"String","defaultValue":null},{"name":"Password","type":"string","required":false,"oldName":"Password","oldType":"String","defaultValue":null},{"name":"Headers","type":"StringDictionary","required":false,"oldName":"Headers","oldType":"StringDictionary","defaultValue":"{\r\n \"Content-Type\":\"application/json;charset=utf-16\",\r\n \"system\":\"204\",\r\n \"global_unique_id\":\"6a297fcb-956e-4228-8c11-017e9bacd629\"\r\n }"},{"name":"Body","type":"string","required":false,"oldName":"Body","oldType":"String","defaultValue":"{}"},{"name":"Encoding","type":"string","required":false,"oldName":"Encoding","oldType":"String","defaultValue":"utf-8"},{"name":"Timeout","type":"int","required":false,"oldName":"Timeout","oldType":"int","defaultValue":"0"},{"name":"Result","type":"HttpResponse","required":false,"oldName":"Result","oldType":"HttpResponse","defaultValue":null}],"oldName":"RestApi"},{"name":"RestApi/GET","initCode":"functions://default/RestApi/Get","initParameters":[{"name":"Uri","type":"Uri","required":true,"oldName":"Uri","oldType":"Uri","defaultValue":"http://servername:port/resource"},{"name":"Login","type":"string","required":false,"oldName":"Login","oldType":"String","defaultValue":null},{"name":"Password","type":"string","required":false,"oldName":"Password","oldType":"String","defaultValue":null},{"name":"Headers","type":"StringDictionary","required":false,"oldName":"Headers","oldType":"StringDictionary","defaultValue":"{\r\n \"Content-Type\":\"application/json;charset=utf-16\",\r\n \"system\":\"204\",\r\n \"global_unique_id\":\"6a297fcb-956e-4228-8c11-017e9bacd629\"\r\n }"},{"name":"Encoding","type":"string","required":false,"oldName":"Encoding","oldType":"String","defaultValue":"utf-8"},{"name":"Timeout","type":"int","required":false,"oldName":"Timeout","oldType":"int","defaultValue":"0"},{"name":"Result","type":"HttpResponse","required":false,"oldName":"Result","oldType":"HttpResponse","defaultValue":null}],"oldName":"RestApi/GET"},{"name":"JsonPath","initCode":"functions://default//JsonPath","initParameters":[{"name":"Response","type":"HttpResponse","required":true,"oldName":"Response","oldType":"HttpResponse","defaultValue":null},{"name":"Path","type":"string","required":false,"oldName":"Path","oldType":"String","defaultValue":"$"},{"name":"Result","type":"Json","required":false,"oldName":"Result","oldType":"Json","defaultValue":null}],"oldName":"JsonPath"},{"name":"SaveVariable","initCode":"functions://default//SaveVariable","initParameters":[{"name":"VariableName","type":"string","required":true,"oldName":"VariableName","oldType":"string","defaultValue":"varName"},{"name":"Data","type":"object","required":true,"oldName":"Data","oldType":"object","defaultValue":"#previous"}],"oldName":"SaveVariable"},{"name":"SQL/Oracle/Query","initCode":"functions://default//SQL/Oracle/Query","initParameters":[{"name":"userID","type":"string","required":true,"oldName":"userID","oldType":"String","defaultValue":null},{"name":"password","type":"string","required":false,"oldName":"password","oldType":"String","defaultValue":null},{"name":"dataSource","type":"string","required":false,"oldName":"dataSource","oldType":"String","defaultValue":null},{"name":"query","type":"string","required":false,"oldName":"query","oldType":"String","defaultValue":null},{"name":"Result","type":"Collection","required":false,"oldName":"Result","oldType":"Collection","defaultValue":null}],"oldName":"SQL/Oracle/Query"},{"name":"SQL/Oracle/Command","initCode":"functions://default//SQL/Oracle/Command","initParameters":[{"name":"userID","type":"string","required":true,"oldName":"userID","oldType":"String","defaultValue":null},{"name":"password","type":"string","required":false,"oldName":"password","oldType":"String","defaultValue":null},{"name":"dataSource","type":"string","required":false,"oldName":"dataSource","oldType":"String","defaultValue":null},{"name":"command","type":"string","required":false,"oldName":"command","oldType":"String","defaultValue":null},{"name":"Result","type":"int","required":false,"oldName":"Result","oldType":"int","defaultValue":null}],"oldName":"SQL/Oracle/Command"}] - [] - [{"name":"oracleConfig","type":"OracleConfig","initialValue":"{\r\n \"userId\":\"dbuser\",\r\n \"password\":\"\",\r\n \"dataSource\":\"dbhost:1521/servicename\"\r\n}\r\n"},{"name":"httpConfig","type":"HttpConfig","initialValue":"{\r\n \"host\":\"http://servername\",\r\n \"port\":\"6992\",\r\n \"login\":\"\",\r\n \"password\":\"\",\r\n \"encoding\":\"utf-8\",\r\n \"headers\":{\r\n \"Content-Type\":\"application/vnd.api+json\",\r\n \"Accept\":\"application/vnd.api+json\"\r\n }\r\n}\r\n"}] - {"message_delivery":{"conversation_id":"3765918b-0b5f-463f-bd44-ac8f90e17386","receiver_id":"5563b34a-e640-48f4-ade3-950eddb50ef0"},"messages":[{"role":"user","content":"Які можливі значення міток пакетів та на що вони впливають?\n"},{"role":"system","content":"Мітки пакетів — це ідентифікатори, які додаються до тарифних пакетів для їх класифікації та визначення правил застосування. Вони допомагають в організації тарифних пропозицій та впливають на їх застосування та доступність для абонентів.\\n\\n**Можливі значення міток пакетів:**\\n\\nМітки пакетів можуть варіюватися залежно від конкретного контексту та потреб. В таблиці, яку ви надали, є кільк\n"},{"role":"user","content":"встанови безкоштовний об'м передачі даних в 32gb"}]} - - - - Flow_0xuw6mo - - DataObjectReference_0eqkq7z - - - - Flow_0ss9m19 - - - DataObjectReference_1a2hfh4 - Property_1rqqtzp - - - - - {"actionType":"Expression","action":"var resp = new JSON(#Previous).Cast<AmaChatBodyRequest>();\n\nresp.messages.Add(new AmaMessageModel {\n role = resp.messages[0]?.role ?? \"system\",\n content = resp.messages[0]?.content ?? \"no content\"\n});\n\nreturn resp;","actionParam":null,"libName":"","libEntity":"","libMethod":""} - - Flow_0xuw6mo - Flow_0ss9m19 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/flow-patterns/01-basics/global-and-jsonpath.bpmn b/flow-patterns/01-basics/global-and-jsonpath.bpmn deleted file mode 100644 index d12d96b..0000000 --- a/flow-patterns/01-basics/global-and-jsonpath.bpmn +++ /dev/null @@ -1,290 +0,0 @@ - - - - ["Action","Function"] - [{"name":"HttpConfig","definition":"{\r\n \"$schema\":\"http://natec.tech/simpleschema\",\r\n \"$ref\":\"#/definitions/HttpConfig\",\r\n \"definitions\":{\r\n \"HttpConfig\":{\r\n \"type\":\"object\",\r\n \"properties\":{\r\n \"host\":{\r\n \"type\":\"string\"\r\n },\r\n \"port\":{\r\n \"type\":\"string\"\r\n },\r\n \"login\":{\r\n \"type\":\"string\"\r\n },\r\n \"password\":{\r\n \"type\":\"string\"\r\n },\r\n \"encoding\":{\r\n \"type\":\"string\"\r\n },\r\n \"headers\":{\r\n \"type\":\"StringDictionary<string, string>\"\r\n }\r\n },\r\n \"required\": [\"host\", \"encoding\", \"headers\"],\r\n \"title\":\"HttpConfig\"\r\n }\r\n }\r\n}"},{"name":"OracleConfig","definition":"{\r\n \"$schema\":\"http://natec.tech/simpleschema\",\r\n \"$ref\":\"#/definitions/OracleConfig\",\r\n \"definitions\":{\r\n \"OracleConfig\":{\r\n \"type\":\"object\",\r\n \"properties\":{\r\n \"userId\":{\r\n \"type\":\"string\"\r\n },\r\n \"password\":{\r\n \"type\":\"string\"\r\n },\r\n \"dataSource\":{\r\n \"type\":\"string\"\r\n }\r\n },\r\n \"required\": [\"userId\", \"password\", \"dataSource\"],\r\n \"title\":\"OracleConfig\"\r\n }\r\n }\r\n}"},{"name":"ErrorResponse","definition":"{\r\n \"$schema\": \"http://json-schema.org/draft-06/schema#\",\r\n \"$ref\": \"#/definitions/ErrorResponse\",\r\n \"definitions\": {\r\n \"ErrorResponse\": {\r\n \"type\": \"object\",\r\n \"additionalProperties\": true,\r\n \"properties\": {\r\n \"LevelMessage\": {\r\n \"title\": \"The Error level\",\r\n \"type\": \"string\"\r\n },\r\n \"statusCode\": {\r\n \"title\": \"The Error Status Code\",\r\n \"type\": \"integer\"\r\n },\r\n \"ErrNumber\": {\r\n \"title\": \"The Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Message\": {\r\n \"title\": \"The Error Message\",\r\n \"type\": \"string\"\r\n },\r\n \"State\": {\r\n \"title\": \"The Error State\",\r\n \"type\": \"string\"\r\n },\r\n \"HelpLink\": {\r\n \"title\": \"The Help Link\",\r\n \"type\": \"string\"\r\n },\r\n \"errNumberReason\": {\r\n \"title\": \"The initial Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Data\": {\r\n \"title\": \"The Error Data\",\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"LevelMessage\": {\r\n \"title\": \"The Error level\",\r\n \"type\": \"string\"\r\n },\r\n \"statusCode\": {\r\n \"title\": \"The Error Status Code\",\r\n \"type\": \"integer\"\r\n },\r\n \"ErrNumber\": {\r\n \"title\": \"The Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Message\": {\r\n \"title\": \"The Error Message\",\r\n \"type\": \"string\"\r\n },\r\n \"State\": {\r\n \"title\": \"The Error State\",\r\n \"type\": \"string\"\r\n },\r\n \"HelpLink\": {\r\n \"title\": \"The Help Link\",\r\n \"type\": \"string\"\r\n },\r\n \"errNumberReason\": {\r\n \"title\": \"The initial Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Data\": {\r\n \"title\": \"The Data Schema\",\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"LevelMessage\": {\r\n \"title\": \"The Error level\",\r\n \"type\": \"string\"\r\n },\r\n \"statusCode\": {\r\n \"title\": \"The Error Status Code\",\r\n \"type\": \"integer\"\r\n },\r\n \"ErrNumber\": {\r\n \"title\": \"The Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Message\": {\r\n \"title\": \"The Error Message\",\r\n \"type\": \"string\"\r\n },\r\n \"State\": {\r\n \"title\": \"The Error State\",\r\n \"type\": \"string\"\r\n },\r\n \"HelpLink\": {\r\n \"title\": \"The Help Link\",\r\n \"type\": \"string\"\r\n },\r\n \"errNumberReason\": {\r\n \"title\": \"The initial Error Number\",\r\n \"type\": \"string\"\r\n }\r\n }\r\n },\r\n \"ResolveUrl\": {\r\n \"title\": \"The Resolve Url Link\",\r\n \"type\": \"string\"\r\n }\r\n }\r\n },\r\n \"ResolveUrl\": {\r\n \"title\": \"The Resolve Url Link\",\r\n \"type\": \"string\"\r\n },\r\n \"extraData\": {\r\n \"title\": \"The Error Extra Data \",\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"operationDuration\": {\r\n \"title\": \"The Operation Duration\",\r\n \"type\": \"integer\"\r\n }\r\n }\r\n }\r\n },\r\n \"title\": \"ErrorResponse\"\r\n }\r\n }\r\n}"},{"name":"SystemException","definition":"{\r\n \"$schema\":\"http://natec.tech/simpleschema\",\r\n \"$ref\":\"#/definitions/SystemException\",\r\n \"definitions\":{\r\n \"SystemException\":{\r\n \"type\":\"object\",\r\n \"properties\":{\r\n \"Exception\":{\r\n \"type\":\"types://core/System.Exception\"\r\n },\r\n \"info\":{\r\n \"type\":\"string\"\r\n }\r\n },\r\n \"title\":\"SystemException\"\r\n }\r\n }\r\n}"},{"name":"CredentialSP","definition":"{\r\n \"$schema\":\"http://json-schema.org/draft-06/schema#\",\r\n \"$ref\":\"#/definitions/CredentialSP\",\r\n \"definitions\":{\r\n \"CredentialSP\":{\r\n \"type\":\"object\",\r\n \"additionalProperties\":false,\r\n \"properties\":{\r\n \"username\":{\r\n \"type\":\"string\"\r\n },\r\n \"password\":{\r\n \"type\":\"string\"\r\n },\r\n \"accountname\":{\r\n \"type\":\"string\"\r\n },\r\n \"sql\":{\r\n \"type\":\"string\"\r\n },\r\n \"folders\":{\r\n \"type\":\"array\",\r\n \"items\":{\r\n \"type\":\"string\"\r\n }\r\n }\r\n },\r\n \"title\":\"CredentialSP\"\r\n }\r\n }\r\n}","dataObjectRefName":"CredentialSP"}] - [] - [{"name":"InspectOracleResult","initCode":"string[] InspectOracleResult (\n\t\tCollection oracleData\n\t) \n {\n //get single value\n //Logger.LogInformation($\"get single value of FIELD_NAME1 by index: syntax oracleData[index].FIELD_NAME1\");\n var field_first = oracleData[0].FIELD_NAME1;\n\n //enumeration of FIELD_NAME1 (with LINQ)\n var field_rows = from row in oracleData\n select row.FIELD_NAME1;\n //passing by enumeration\n Logger.LogInformation($\"passing by enumeration field_rows of var1: syntax FIELD_NAME1:var1\");\n foreach (var field1 in field_rows)\n Logger.LogInformation($\"FIELD_NAME1:{field1}\");\n\n //get array of msisdn from enumeration\n Logger.LogInformation($\"get array from enumeration: syntax field_rows.ToArray()\");\n var myArray = field_rows.ToArray();\n //get first value from array\n var field_from_Array = myArray[0];\n\n //passing by enumeration of whole dataset\n Logger.LogInformation($\"passing by enumeration of whole dataset: syntax FIELD_NAME1:row.FIELD_NAME1, FIELD_NAME2:row.FIELD_NAME2 etc...\");\n foreach (var row in oracleData)\n Logger.LogInformation($\"FIELD_NAME1:{row.FIELD_NAME1}\");\n\n //convert whole dataset to string \n var field_list = from row in oracleData\n select row.FIELD_NAME1 as string;\n //convert string to string array \n return field_list.ToList();\n\n }","initParameters":[{"name":"Result","type":"string[]"},{"name":"oracleData","type":"Collection","required":true}]},{"name":"HandleException","initCode":"ErrorResponse HandleException (\n\t\tPassingResult prevData\n\t) \n {\n try\n {\n //investigate the Exception \n Logger.LogInformation($\"Exception name : {prevData.Exception.GetType().Name}\");\n \n //casting to exception example\n OracleException exception = null;\n if (prevData.Exception is OracleException)\n {\n exception = prevData.Exception as OracleException;\n }\n \n //forming the HTTP error result\n if (WorkflowEnvironment.RuntimeName == \"UCP\")\n WorkflowEnvironment.Variables[\"StatusCode\"] = 500;\n return new ErrorResponse()\n {\n Message = exception.Message,\n LevelMessage = \"11\",\n statusCode = 500,\n State = \"1\",\n ErrNumber = exception.Number.ToString()\n }; \n }\n catch (Exception e) {\n Logger.LogError($\"HandleException:: error {e}\");\n throw new Exception($\"HandleException:: error {e}\");\n }\n }","initParameters":[{"name":"Result","type":"ErrorResponse"},{"name":"prevData","type":"PassingResult","required":true}]},{"name":"CodeActionExample","initCode":"Json CodeActionExample (\n\t\tJson inputData\n\t) \n {\n try \n { \n \n Logger.LogInformation($\"CodeActionExample:: started\");\n // TODO Insert your code here\n Logger.LogInformation($\"CodeActionExample:: finished\");\n return inputData;\n }\n catch (Exception e) {\n Logger.LogError($\"CodeActionExample:: error {e}\");\n throw new Exception($\"CodeActionExample:: error {e}\");\n }\n \n }","initParameters":[{"name":"Result","type":"Json"},{"name":"inputData","type":"Json","required":false}]},{"name":"returnErrorAsJSON","initCode":"Json returnErrorAsJSON (\n\t) \n {\n string errorString = \"[\\\"ERROR\\\"]\";\n \n JSON response = new JSON(errorString);\n return response;\n }","initParameters":[{"name":"Result","type":"Json"}]},{"name":"formatResult","initCode":"CredentialSP formatResult (\n\t\tJson folders,\n\t\tstring sql,\n\t\tCredentialSP credential\n\t) \n {\n var result = new CredentialSP()\n {\n username = credential?.username,\n password = credential?.password,\n accountname = credential?.accountname\n };\n \n result.sql = sql;\n if(folders != null)\n // remove /sites/Retail/Shared Documents\n result.folders = folders.Cast<string[]>()\n .Select(item=>{\n if (item==\"ERROR\")\n return item;\n else\n return item.Substring(30);\n \n })\n .ToArray();\n return result;\n }","initParameters":[{"name":"Result","type":"CredentialSP"},{"name":"folders","type":"Json","required":false},{"name":"sql","type":"string","required":false},{"name":"credential","type":"CredentialSP","required":false}]}] - [] - [{"name":"RestApi","initCode":"functions://default/RestApi","initParameters":[{"name":"Uri","type":"Uri","required":true,"oldName":"Uri","defaultValue":"http://servername:port/resource"},{"name":"Method","type":"String","required":true,"oldName":"Method","defaultValue":"GET"},{"name":"Login","type":"String","required":false,"oldName":"Login","defaultValue":null},{"name":"Password","type":"String","required":false,"oldName":"Password","defaultValue":null},{"name":"Headers","type":"StringDictionary","required":false,"oldName":"Headers","defaultValue":"{\r\n \"Content-Type\":\"application/json;charset=utf-16\",\r\n \"system\":\"204\",\r\n \"global_unique_id\":\"6a297fcb-956e-4228-8c11-017e9bacd629\"\r\n }"},{"name":"Body","type":"String","required":false,"oldName":"Body","defaultValue":"{}"},{"name":"Encoding","type":"String","required":false,"oldName":"Encoding","defaultValue":"utf-8"},{"name":"Timeout","type":"int","required":false,"oldName":"Timeout","defaultValue":"100000"},{"name":"Result","type":"HttpResponse","required":false,"oldName":"Result","defaultValue":null}],"oldName":"RestApi"},{"name":"RestApi/GET","initCode":"functions://default/RestApi/Get","initParameters":[{"name":"Uri","type":"Uri","required":true,"oldName":"Uri","defaultValue":"http://servername:port/resource"},{"name":"Login","type":"String","required":false,"oldName":"Login","defaultValue":null},{"name":"Password","type":"String","required":false,"oldName":"Password","defaultValue":null},{"name":"Headers","type":"StringDictionary","required":false,"oldName":"Headers","defaultValue":"{\r\n \"Content-Type\":\"application/json;charset=utf-16\",\r\n \"system\":\"204\",\r\n \"global_unique_id\":\"6a297fcb-956e-4228-8c11-017e9bacd629\"\r\n }"},{"name":"Encoding","type":"String","required":false,"oldName":"Encoding","defaultValue":"utf-8"},{"name":"Timeout","type":"int","required":false,"oldName":"Timeout","defaultValue":"100000"},{"name":"Result","type":"HttpResponse","required":false,"oldName":"Result","defaultValue":null}],"oldName":"RestApi/GET"},{"name":"JsonPath","initCode":"functions://default//JsonPath","initParameters":[{"name":"Response","type":"HttpResponse","required":true,"oldName":"Response","defaultValue":null},{"name":"Path","type":"String","required":false,"oldName":"Path","defaultValue":"$"},{"name":"Result","type":"Json","required":false,"oldName":"Result","defaultValue":null}],"oldName":"JsonPath"},{"name":"SaveVariable","initCode":"functions://default//SaveVariable","initParameters":[{"name":"VariableName","type":"string","required":true,"oldName":"VariableName","defaultValue":"varName"},{"name":"Data","type":"object","required":true,"oldName":"Data","defaultValue":"#previous"}],"oldName":"SaveVariable"},{"name":"SQL/Oracle/Query","initCode":"functions://default//SQL/Oracle/Query","initParameters":[{"name":"userID","type":"String","required":true,"oldName":"userID","defaultValue":null},{"name":"password","type":"String","required":false,"oldName":"password","defaultValue":null},{"name":"dataSource","type":"String","required":false,"oldName":"dataSource","defaultValue":null},{"name":"query","type":"String","required":false,"oldName":"query","defaultValue":null},{"name":"Result","type":"Collection","required":false,"oldName":"Result","defaultValue":null}],"oldName":"SQL/Oracle/Query"},{"name":"SQL/Oracle/Command","initCode":"functions://default//SQL/Oracle/Command","initParameters":[{"name":"userID","type":"String","required":true,"oldName":"userID","defaultValue":null},{"name":"password","type":"String","required":false,"oldName":"password","defaultValue":null},{"name":"dataSource","type":"String","required":false,"oldName":"dataSource","defaultValue":null},{"name":"command","type":"String","required":false,"oldName":"command","defaultValue":null},{"name":"Result","type":"int","required":false,"oldName":"Result","defaultValue":null}],"oldName":"SQL/Oracle/Command"}] - [] - [{"name":"oracleConfig","type":"OracleConfig","initialValue":"{\r\n \"userId\":\"dbuser\",\r\n \"password\":\"\",\r\n \"dataSource\":\"dbhost:1521/servicename\"\r\n}\r\n"},{"name":"httpConfig","type":"HttpConfig","initialValue":"{\r\n \"host\":\"http://servername\",\r\n \"port\":\"4433\",\r\n \"login\":null,\r\n \"password\":null,\r\n \"encoding\":\"utf-8\",\r\n \"headers\":{\r\n \"Content-Type\":\"application/json\",\r\n \"Accept\":\"application/json\"\r\n }\r\n}\r\n"}] - {"username":"login","password":"","accountname":"SharePoint_Source[serviceaccount]","sql":"","folders":[""]} - {"username":"login","password":"","accountname":"SharePoint_Source[serviceaccount]","sql":"","folders":[""]} - - - - Flow_1x0hykj - - DataObjectReference_1sme0dd - - - - - {"actionType":"Function","action":"RestApi","actionParam":{"Uri":"{Parameters.httpConfig.host}:{Parameters.httpConfig.port}/WsDriver/rest/CreateConnection?format=json","Method":"POST","Login":"$\"{Parameters.httpConfig.login}\"","Password":"$\"{Parameters.httpConfig.password}\"","Headers":"Parameters.httpConfig.headers","Body":"{\"username\":\"{{Input.username}}\",\"password\":\"{{Input.password}}\",\"accountname\":\"{{Input.accountname}}\",\"properties\":[{\"ExtendedName\":\"ACC\",\"Key\":\"wrap\",\"Value\":\"true\",\"IsEncrypted\":\"true\",\"IsOptional\":\"true\",\"IsReadOnly\":\"true\",\"List\":\"\",\"Desc\":\"\"},{\"ExtendedName\":\"ACC\",\"Key\":\"emulate\",\"Value\":\"true\",\"IsEncrypted\":\"true\",\"IsOptional\":\"true\",\"IsReadOnly\":\"true\",\"List\":\"\",\"Desc\":\"\"}]}","Encoding":"utf-8"},"libName":"","libEntity":"","libMethod":""} - - Flow_1x0hykj - Flow_1viwts2 - - - Flow_1viwts2 - Flow_17t1w2l - Flow_0zgwj4t - - - - {"actionType":"Function","action":"JsonPath","actionParam":{"Response":"#Previous","Path":"\"$.sql\""},"libName":"","libEntity":"","libMethod":""} - - Flow_17t1w2l - Flow_02pu5fy - - - - {"actionType":"Function","action":"SaveVariable","actionParam":{"VariableName":"sql","Data":"#Previous"},"libName":"","libEntity":"","libMethod":""} - - Flow_02pu5fy - Flow_14c5167 - - - - {"actionType":"Action","action":"returnErrorAsJSON","actionParam":{},"libName":"","libEntity":"","libMethod":""} - - Flow_1tqj81h - Flow_1yt9m9f - Flow_0oh6pbv - Flow_18tpwyu - Flow_10ju5j9 - - - Flow_14c5167 - Flow_08f0k2z - Flow_1tqj81h - - - - {"actionType":"Function","action":"RestApi","actionParam":{"Uri":"{Parameters.httpConfig.host}:{Parameters.httpConfig.port}/WsDriver/rest/Execute?format=json","Method":"POST","Login":"$\"{Parameters.httpConfig.login}\"","Password":"$\"{Parameters.httpConfig.password}\"","Headers":"Parameters.httpConfig.headers","Body":{"connection":{"sql":"{{Global.sql}}"},"command":{"SqlStatement":"SELECT [ContentTypeId], [ContentType], [FileRef], [FileDirRef], [FileLeafRef] FROM [dbo].[Documents] Where ContentType = 'Folder'","Parameters":null}},"Encoding":"utf-8"},"libName":"","libEntity":"","libMethod":""} - - Flow_08f0k2z - Flow_12gvhog - - - - {"actionType":"Function","action":"JsonPath","actionParam":{"Response":"#Previous","Path":"\"$.Row[:][2]\""},"libName":"","libEntity":"","libMethod":""} - - Flow_1bcgsuq - Flow_1do4waw - - - Flow_195sd0p - - - DataObjectReference_03hmnxt - Property_1h3dc9f - - - - - - - - - - - - - (#Previous.StatusCode != 200) - - - string.IsNullOrEmpty(Global.sql) - - - - - {"actionType":"Action","action":"formatResult","actionParam":{"folders":"#Previous","sql":"$\"{Global.sql}\"","credential":"Input"},"libName":"","libEntity":"","libMethod":""} - - Flow_1do4waw - Flow_10ju5j9 - Flow_195sd0p - - - - - - {"actionType":"Function","action":"SaveVariable","actionParam":{"VariableName":"sql","Data":"\"\""},"libName":"","libEntity":"","libMethod":""} - - Flow_0zgwj4t - Flow_1yt9m9f - - - - - - Flow_12gvhog - Flow_1bcgsuq - Flow_0oh6pbv - - - - #Previous.StatusCode != 200 - - - Flow_18tpwyu - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/flow-patterns/02-error-handling/event-error-routing.bpmn b/flow-patterns/02-error-handling/event-error-routing.bpmn deleted file mode 100644 index 2fbefc6..0000000 --- a/flow-patterns/02-error-handling/event-error-routing.bpmn +++ /dev/null @@ -1,321 +0,0 @@ - - - - [ "Action", "Function"] - [{"name":"ErrorResponse","definition":"{\r\n \"$schema\": \"http://json-schema.org/draft-06/schema#\",\r\n \"$ref\": \"#/definitions/ErrorResponse\",\r\n \"definitions\": {\r\n \"ErrorResponse\": {\r\n \"type\": \"object\",\r\n \"additionalProperties\": true,\r\n \"properties\": {\r\n \"LevelMessage\": {\r\n \"title\": \"The Error level\",\r\n \"type\": \"string\"\r\n },\r\n \"statusCode\": {\r\n \"title\": \"The Error Status Code\",\r\n \"type\": \"integer\"\r\n },\r\n \"ErrNumber\": {\r\n \"title\": \"The Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Message\": {\r\n \"title\": \"The Error Message\",\r\n \"type\": \"string\"\r\n },\r\n \"State\": {\r\n \"title\": \"The Error State\",\r\n \"type\": \"string\"\r\n },\r\n \"HelpLink\": {\r\n \"title\": \"The Help Link\",\r\n \"type\": \"string\"\r\n },\r\n \"errNumberReason\": {\r\n \"title\": \"The initial Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Data\": {\r\n \"title\": \"The Error Data\",\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"LevelMessage\": {\r\n \"title\": \"The Error level\",\r\n \"type\": \"string\"\r\n },\r\n \"statusCode\": {\r\n \"title\": \"The Error Status Code\",\r\n \"type\": \"integer\"\r\n },\r\n \"ErrNumber\": {\r\n \"title\": \"The Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Message\": {\r\n \"title\": \"The Error Message\",\r\n \"type\": \"string\"\r\n },\r\n \"State\": {\r\n \"title\": \"The Error State\",\r\n \"type\": \"string\"\r\n },\r\n \"HelpLink\": {\r\n \"title\": \"The Help Link\",\r\n \"type\": \"string\"\r\n },\r\n \"errNumberReason\": {\r\n \"title\": \"The initial Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Data\": {\r\n \"title\": \"The Data Schema\",\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"LevelMessage\": {\r\n \"title\": \"The Error level\",\r\n \"type\": \"string\"\r\n },\r\n \"statusCode\": {\r\n \"title\": \"The Error Status Code\",\r\n \"type\": \"integer\"\r\n },\r\n \"ErrNumber\": {\r\n \"title\": \"The Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Message\": {\r\n \"title\": \"The Error Message\",\r\n \"type\": \"string\"\r\n },\r\n \"State\": {\r\n \"title\": \"The Error State\",\r\n \"type\": \"string\"\r\n },\r\n \"HelpLink\": {\r\n \"title\": \"The Help Link\",\r\n \"type\": \"string\"\r\n },\r\n \"errNumberReason\": {\r\n \"title\": \"The initial Error Number\",\r\n \"type\": \"string\"\r\n }\r\n }\r\n },\r\n \"ResolveUrl\": {\r\n \"title\": \"The Resolve Url Link\",\r\n \"type\": \"string\"\r\n }\r\n }\r\n },\r\n \"ResolveUrl\": {\r\n \"title\": \"The Resolve Url Link\",\r\n \"type\": \"string\"\r\n },\r\n \"extraData\": {\r\n \"title\": \"The Error Extra Data \",\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"operationDuration\": {\r\n \"title\": \"The Operation Duration\",\r\n \"type\": \"integer\"\r\n }\r\n }\r\n }\r\n },\r\n \"title\": \"ErrorResponse\"\r\n }\r\n }\r\n}","isNativeDefinition":false},{"name":"KafkaEvent","definition":"public class KafkaEvent { \n [Newtonsoft.Json.JsonProperty(PropertyName=\"subscriberId\")]\n public string SubscriberId { get; set; }\n [Newtonsoft.Json.JsonProperty(PropertyName=\"eventId\")]\n public int EventId { get; set; }\n [Newtonsoft.Json.JsonProperty(PropertyName=\"subscriberType\")]\n public int SubscriberType { get; set; }\n [Newtonsoft.Json.JsonProperty(PropertyName=\"eventTime\")]\n public DateTime EventTime { get; set; }\n [Newtonsoft.Json.JsonProperty(PropertyName=\"params\")]\n //public KafkaEventParams Params { get; set; }\n public Dictionary<string,string> Params { get; set; }\n}","isNativeDefinition":true},{"name":"KafkaEventParams","definition":" public class KafkaEventParams\r\n {\r\n [Newtonsoft.Json.JsonProperty(PropertyName=\"priority\")]\r\n public int? Priority { get; set; }\r\n [Newtonsoft.Json.JsonProperty(PropertyName=\"action\")]\r\n public string Action { get; set; }\r\n [Newtonsoft.Json.JsonProperty(PropertyName=\"subscription-id\")]\r\n public string Subscription_Id { get; set; }\r\n [Newtonsoft.Json.JsonProperty(PropertyName=\"statusContract\")]\r\n public string StatusContract { get; set; }\r\n [Newtonsoft.Json.JsonProperty(PropertyName=\"eventDatetime\")]\r\n public DateTime EventDateTime { get; set; }\r\n [Newtonsoft.Json.JsonProperty(PropertyName=\"accountNumber\")]\r\n public string AccountNumber { get; set; }\r\n [Newtonsoft.Json.JsonProperty(PropertyName=\"msisdn\")]\r\n public string Msisdn { get; set; }\r\n [Newtonsoft.Json.JsonProperty(PropertyName=\"stnd_id\")]\r\n public string Stnd_Id { get; set; }\r\n [Newtonsoft.Json.JsonProperty(PropertyName=\"activationTime\")]\r\n public DateTime ActivationTime { get; set; }\r\n [Newtonsoft.Json.JsonProperty(PropertyName=\"terminationDate\")]\r\n public DateTime TerminationDate { get; set; }\r\n }","isNativeDefinition":true},{"name":"ServiceConfig","definition":"public class ServiceConfig { \n\t// Fields, properties, methods and events go here...\n\tpublic string ConnectionString {get;set;}\n}","isNativeDefinition":true},{"name":"SystemException","definition":"{\r\n \"$schema\":\"http://natec.tech/simpleschema\",\r\n \"$ref\":\"#/definitions/SystemException\",\r\n \"definitions\":{\r\n \"SystemException\":{\r\n \"type\":\"object\",\r\n \"properties\":{\r\n \"Exception\":{\r\n \"type\":\"types://core/System.Exception\"\r\n },\r\n \"info\":{\r\n \"type\":\"string\"\r\n }\r\n },\r\n \"title\":\"SystemException\"\r\n }\r\n }\r\n}","isNativeDefinition":false},{"name":"TasksResponse","definition":"public class TasksResponse { \n [Newtonsoft.Json.JsonProperty(PropertyName=\"response\")]\n public string Response { get; set; }\n}","isNativeDefinition":true},{"name":"WorkEventsResponse","definition":"public class WorkEventsResponse { \n public int? Wev_ID { get; set; }\n}","isNativeDefinition":true}] - [] - [{"name":"inspectParameters","initCode":"Json inspectParameters(Json rawCfg)\n{\n Parameters.serviceConfig = rawCfg.Cast<ServiceConfig>();\n return rawCfg;\n}","initParameters":[{"type":"Json","name":"rawCfg","defaultValue":""},{"name":"Result","type":"Json"}]},{"name":"correctInput","initCode":"KafkaEvent correctInput(KafkaEvent kafkaEvent, Json serviceConfig)\n{\n if(Parameters.Priorities.ContainsKey(kafkaEvent.EventId.ToString()))\n {\n /*\n if(kafkaEvent.Params == null)\n kafkaEvent.Params = new KafkaEventParams();\n kafkaEvent.Params.Priority = int.Parse(Parameters.Priorities[kafkaEvent.EventId.ToString()]);\n */\n if(kafkaEvent.Params == null)\n kafkaEvent.Params = new Dictionary<string,string>();\n kafkaEvent.Params[\"Priority\"] = Parameters.Priorities[kafkaEvent.EventId.ToString()];\n \n }\n \n Parameters.serviceConfig = serviceConfig.Cast<ServiceConfig>();\n \n return kafkaEvent; \n}","initParameters":[{"type":"KafkaEvent","name":"kafkaEvent","defaultValue":""},{"type":"Json","name":"serviceConfig","defaultValue":""},{"name":"Result","type":"KafkaEvent"}]},{"initCode":"WorkEventsResponse p_ucp_act_Customers_Sync(KafkaEvent kafkaEvent = WorkEventsResponse)\n{\n int? Wev_ID = null;\n var result = new WorkEventsResponse();\n string Acnt_Number = kafkaEvent.SubscriberId;\n if(kafkaEvent.SubscriberType >= 1)\n kafkaEvent.Params.TryGetValue(\"AccountNumber\", out Acnt_Number);\n \n var p = new DynamicParameters();\n p.Add(\"Wev_ID\", value: Wev_ID, dbType: DbType.Int32, direction: ParameterDirection.InputOutput);\n p.Add(\"Acnt_Number\", value: Acnt_Number, dbType: DbType.String, direction: ParameterDirection.Input, size: 12);\n\n string sqlConnectionString = Parameters.serviceConfig.ConnectionString;\n /*\n if (this.WorkflowEnvironment.Variables.TryGetValue(\"ConfigString\", out object configStr))\n {\n var configJson = new JSON(configStr).Cast<ServiceConfig>();\n if (!string.IsNullOrEmpty(configJson?.ConnectionString))\n {\n sqlConnectionString = configJson.ConnectionString;\n }\n };\n */\n \n var procedure = \"[dbo].[p_ucp_act_Customers_Sync]\";\n using (var connection = new SqlConnection(sqlConnectionString))\n {\n connection.Execute(procedure, p, commandType: CommandType.StoredProcedure, commandTimeout: 0);\n }\n\n result.Wev_ID = p.Get<int?>(\"Wev_ID\").GetValueOrDefault();\n\n WorkflowEnvironment.Variables[\"StatusCode\"] = \"200\";\n if (WorkflowEnvironment.RuntimeName == \"Plugin\")\n {\n if (WorkflowEnvironment.Variables.TryGetValue(\"HttpResponse\", out object httpResponseObj))\n {\n Microsoft.AspNetCore.Http.HttpResponse response = httpResponseObj as Microsoft.AspNetCore.Http.HttpResponse;\n response.StatusCode = 200;\n //response.Headers[\"x_ms_client_request_id\"] = p.Get<string>(\"x_ms_client_request_id\");\n //response.Headers[\"Accept-Language\"] = p.Get<string>(\"Lang\");\n }\n }\n else\n {\n }\n\n return result;\n}","initParameters":[{"type":"KafkaEvent","name":"kafkaEvent","defaultValue":"WorkEventsResponse"},{"name":"Result","type":"WorkEventsResponse"}],"name":"p_ucp_act_Customers_Sync"},{"initCode":"TasksResponse p_ucp_set_ServiceTask(KafkaEvent kafkaEvent)\n{\n var result = new TasksResponse();\n\n string tsk_ProcessName = \"External.Queue\";\n //string Tsk_JsonData = new JSON(kafkaEvent.Params).ToString();\n string Tsk_JsonData = new JSON(kafkaEvent).ToString();\n string response = null;\n\n var p = new DynamicParameters();\n p.Add(\"tsk_ProcessName\", value: tsk_ProcessName, dbType: DbType.String, direction: ParameterDirection.Input, size: 256);\n p.Add(\"Tsk_JsonData\", value: Tsk_JsonData, dbType: DbType.String, direction: ParameterDirection.Input, size: -1);\n p.Add(\"response\", value: response, dbType: DbType.String, direction: ParameterDirection.Output, size: -1);\n\n string sqlConnectionString = Parameters.serviceConfig.ConnectionString;\n /*\n string sqlConnectionString = Parameters.sqlConnectionString;\n if (this.WorkflowEnvironment.Variables.TryGetValue(\"ConfigString\", out object configStr))\n {\n var configJson = new JSON(configStr).Cast<ServiceConfig>();\n if (!string.IsNullOrEmpty(configJson?.ConnectionString))\n {\n sqlConnectionString = configJson.ConnectionString;\n }\n };\n */\n\n var procedure = \"[dbo].[p_ucp_set_ServiceTask]\";\n using (var connection = new SqlConnection(sqlConnectionString))\n {\n connection.Execute(procedure, p, commandType: CommandType.StoredProcedure, commandTimeout: 0);\n }\n\n result.Response = p.Get<string>(\"response\");\n\n WorkflowEnvironment.Variables[\"StatusCode\"] = \"200\";\n if (WorkflowEnvironment.RuntimeName == \"Plugin\")\n {\n if (WorkflowEnvironment.Variables.TryGetValue(\"HttpResponse\", out object httpResponseObj))\n {\n Microsoft.AspNetCore.Http.HttpResponse httpResponse = httpResponseObj as Microsoft.AspNetCore.Http.HttpResponse;\n httpResponse.StatusCode = 200;\n //response.Headers[\"x_ms_client_request_id\"] = p.Get<string>(\"x_ms_client_request_id\");\n //response.Headers[\"Accept-Language\"] = p.Get<string>(\"Lang\");\n }\n }\n else\n {\n }\n return result;\n}","initParameters":[{"type":"KafkaEvent","name":"kafkaEvent","defaultValue":""},{"name":"Result","type":"TasksResponse"}],"name":"p_ucp_set_ServiceTask"},{"name":"HandleException","initCode":"ErrorResponse HandleException (\n\t\tPassingResult prevData\n\t) \n {\n try\n {\n //investigate the Exception \n Logger.LogInformation($\"Exception name : {prevData.Exception.GetType().Name}\");\n //casting to exception example\n OracleException exception = null;\n if (prevData.Exception is OracleException)\n {\n exception = prevData.Exception as OracleException;\n }\n \n //forming the HTTP error result\n if (WorkflowEnvironment.RuntimeName == \"UCP\")\n WorkflowEnvironment.Variables[\"StatusCode\"] = 500;\n return new ErrorResponse()\n {\n Message = string.Concat(prevData.Exception.Message, $\"({prevData.Exception.InnerException?.Message})\"),\n LevelMessage = \"11\",\n statusCode = 500,\n State = \"1\",\n //ErrNumber = exception.Number.ToString()\n }; \n }\n catch (Exception e) {\n Logger.LogError($\"HandleException:: error {e}\");\n throw new Exception($\"HandleException:: error {e}\");\n }\n }","initParameters":[{"name":"Result","type":"ErrorResponse"},{"name":"prevData","type":"PassingResult","required":true}]}] - [] - [ { "name": "RestApi", "initCode": "functions://default/RestApi", "initParameters": [ { "name": "Uri", "type": "Uri", "required": true, "oldName": "Uri", "defaultValue": "http://servername:port/resource" }, { "name": "Method", "type": "String", "required": true, "oldName": "Method", "defaultValue": "GET" }, { "name": "Login", "type": "String", "required": false, "oldName": "Login", "defaultValue": null }, { "name": "Password", "type": "String", "required": false, "oldName": "Password", "defaultValue": null }, { "name": "Headers", "type": "StringDictionary", "required": false, "oldName": "Headers", "defaultValue": "{\r\n \"Content-Type\":\"application/json;charset=utf-16\",\r\n \"system\":\"204\",\r\n \"global_unique_id\":\"6a297fcb-956e-4228-8c11-017e9bacd629\"\r\n }" }, { "name": "Body", "type": "String", "required": false, "oldName": "Body", "defaultValue": "{}" }, { "name": "Encoding", "type": "String", "required": false, "oldName": "Encoding", "defaultValue": "utf-8" }, { "name": "Timeout", "type": "int", "required": false, "oldName": "Timeout", "defaultValue": "0" }, { "name": "Result", "type": "HttpResponse", "required": false, "oldName": "Result", "defaultValue": null } ], "oldName": "RestApi" }, { "name": "RestApi/GET", "initCode": "functions://default/RestApi/Get", "initParameters": [ { "name": "Uri", "type": "Uri", "required": true, "oldName": "Uri", "defaultValue": "http://servername:port/resource" }, { "name": "Login", "type": "String", "required": false, "oldName": "Login", "defaultValue": null }, { "name": "Password", "type": "String", "required": false, "oldName": "Password", "defaultValue": null }, { "name": "Headers", "type": "StringDictionary", "required": false, "oldName": "Headers", "defaultValue": "{\r\n \"Content-Type\":\"application/json;charset=utf-16\",\r\n \"system\":\"204\",\r\n \"global_unique_id\":\"6a297fcb-956e-4228-8c11-017e9bacd629\"\r\n }" }, { "name": "Encoding", "type": "String", "required": false, "oldName": "Encoding", "defaultValue": "utf-8" }, { "name": "Timeout", "type": "int", "required": false, "oldName": "Timeout", "defaultValue": "0" }, { "name": "Result", "type": "HttpResponse", "required": false, "oldName": "Result", "defaultValue": null } ], "oldName": "RestApi/GET" }, { "name": "JsonPath", "initCode": "functions://default//JsonPath", "initParameters": [ { "name": "Response", "type": "HttpResponse", "required": true, "oldName": "Response", "defaultValue": null }, { "name": "Path", "type": "String", "required": false, "oldName": "Path", "defaultValue": "$" }, { "name": "Result", "type": "Json", "required": false, "oldName": "Result", "defaultValue": null } ], "oldName": "JsonPath" }, { "name": "SaveVariable", "initCode": "functions://default//SaveVariable", "initParameters": [ { "name": "VariableName", "type": "string", "required": true, "oldName": "VariableName", "defaultValue": "varName" }, { "name": "Data", "type": "object", "required": true, "oldName": "Data", "defaultValue": "#previous" } ], "oldName": "SaveVariable" }, { "name": "SQL/Oracle/Query", "initCode": "functions://default//SQL/Oracle/Query", "initParameters": [ { "name": "userID", "type": "String", "required": true, "oldName": "userID", "defaultValue": null }, { "name": "password", "type": "String", "required": false, "oldName": "password", "defaultValue": null }, { "name": "dataSource", "type": "String", "required": false, "oldName": "dataSource", "defaultValue": null }, { "name": "query", "type": "String", "required": false, "oldName": "query", "defaultValue": null }, { "name": "Result", "type": "Collection", "required": false, "oldName": "Result", "defaultValue": null } ], "oldName": "SQL/Oracle/Query" }, { "name": "SQL/Oracle/Command", "initCode": "functions://default//SQL/Oracle/Command", "initParameters": [ { "name": "userID", "type": "String", "required": true, "oldName": "userID", "defaultValue": null }, { "name": "password", "type": "String", "required": false, "oldName": "password", "defaultValue": null }, { "name": "dataSource", "type": "String", "required": false, "oldName": "dataSource", "defaultValue": null }, { "name": "command", "type": "String", "required": false, "oldName": "command", "defaultValue": null }, { "name": "Result", "type": "int", "required": false, "oldName": "Result", "defaultValue": null } ], "oldName": "SQL/Oracle/Command" }] - [] - [{"name":"kafkaEvent","type":"KafkaEvent","initialValue":""},{"name":"Priorities","type":"StringDictionary","initialValue":"{\n \"1087\":\"1\",\n \"1091\":\"1\",\n \"1088\":\"1\",\n \"1096\":\"1\",\n \"1089\":\"1\",\n \"1091\":\"1\",\n \"1090\":\"1\",\n \"1092\":\"1\",\n \"1093\":\"1\",\n \"1094\":\"1\",\n \"1096\":\"1\",\n \"1097\":\"1\",\n \"1098\":\"1\",\n \"1099\":\"1\"\n}"},{"name":"serviceConfig","type":"ServiceConfig","initialValue":""},{"name":"sqlConnectionString","type":"string","initialValue":"{Root.Parameters.config.db_connection_str}"}] - { "Name": "Serhiy the Great", "id": 100} - - - - Flow_0ss9m19 - - - DataObjectReference_1a2hfh4 - Property_1rqqtzp - - - - - { "actionType": "Action", "action": "p_ucp_act_Customers_Sync", "actionParam": { "kafkaEvent": "#Previous" }} - - Flow_049a08s - Flow_0ss9m19 - - - - - - - Flow_16elrff - - - - - { "actionType": "Action", "action": "HandleException", "actionParam": { "prevData": "#PreviousData" }} - - Flow_16elrff - Flow_10n9y6n - Flow_0mano1i - - - - - - - - {"name":"eventHub-operator","type":"kafka","data":[{"value":"eventId","type":"array","default":null,"inputedValue":["1096","1087","1091","1088","1089","1090","1092","1093","1094","1095"]}],"startArgs":{"run":"auto","debug":false,"async":true},"description":"eventHub-operator"} - - Flow_0xuw6mo - - DataObjectReference_0eqkq7z - - - - - Flow_0htrzip - Flow_049a08s - Flow_1ik6g57 - Flow_15qk3te - - - (#Previous.EventId == 1087) || (#Previous.EventId == 1091) || (#Previous.EventId == 1090) || (#Previous.EventId == 1092) || (#Previous.EventId == 1093) || (#Previous.EventId == 1094) || (#Previous.EventId == 1095) - - - - { "actionType": "Expression", "action": "return new ErrorResponse();"} - - Flow_1ik6g57 - Flow_0boy053 - - - - { "actionType": "Action", "action": "p_ucp_set_ServiceTask", "actionParam": { "kafkaEvent": "#Previous" }, "libName": "", "libEntity": "", "libMethod": ""} - - Flow_15qk3te - Flow_1dbqvq6 - - - - (#Previous.EventId == 1088) || (#Previous.EventId == 1096) || (#Previous.EventId == 1098) || (#Previous.EventId == 1089) - - - - Flow_10n9y6n - - - - - - Flow_0mano1i - - - DataObjectReference_0yh1xam - Property_1t73r37 - - - - Flow_1dbqvq6 - - - DataObjectReference_0jfve99 - Property_0pfoj8x - - - - - { "status": "HttpRequestAttributes", "code": 500, "exampelsVariants": [], "producedTypeVariants": [], "headers": ""} - - Flow_0boy053 - - - DataObjectReference_0qylbj6 - Property_1v9iih7 - - - - - - - - - - - {"actionType":"Action","action":"correctInput","actionParam":{"kafkaEvent":"Parameters.kafkaEvent","serviceConfig":"#Previous"},"libName":"","libEntity":"","libMethod":""} - - Flow_06vubbd - Flow_0htrzip - - - - {"libName":"my-event-based-sync","libId":"68","libType":"personal","flowName":"EVENT_BankFeed_Sync_config","flowId":"1811","version":"#latest","packSize":1} - activities://bpmn-mnemo/personal/my-event-based-sync/EVENT_BankFeed_Sync_config/#latest - - Flow_01bnrm7 - Flow_06vubbd - - - - - - {"actionType":"Expression","action":"Parameters.kafkaEvent = #Previous as KafkaEvent;\nreturn Parameters.kafkaEvent;"} - - Flow_0xuw6mo - Flow_01bnrm7 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/flow-patterns/03-config-as-flow/get-config.bpmn b/flow-patterns/03-config-as-flow/get-config.bpmn deleted file mode 100644 index fe750dd..0000000 --- a/flow-patterns/03-config-as-flow/get-config.bpmn +++ /dev/null @@ -1,94 +0,0 @@ - - - - ["Action","Function"] - [{"name":"Config","definition":" public class Config\r\n {\r\n /* Settings resolved at run time by this configuration Flow.\r\n Consumers in this repository read db_connection_str, to_email\r\n and basic_auth. */\r\n public string login { get; set; }\r\n public string password { get; set; }\r\n public string db_connection_str { get; set; }\r\n public string basic_auth { get; set; }\r\n public string to_email { get; set; }\r\n public string value { get; set; }\r\n public int id { get; set; }\r\n }","isNativeDefinition":true},{"name":"ErrorResponse","definition":"{\r\n \"$schema\": \"http://json-schema.org/draft-06/schema#\",\r\n \"$ref\": \"#/definitions/ErrorResponse\",\r\n \"definitions\": {\r\n \"ErrorResponse\": {\r\n \"type\": \"object\",\r\n \"additionalProperties\": true,\r\n \"properties\": {\r\n \"LevelMessage\": {\r\n \"title\": \"The Error level\",\r\n \"type\": \"string\"\r\n },\r\n \"statusCode\": {\r\n \"title\": \"The Error Status Code\",\r\n \"type\": \"integer\"\r\n },\r\n \"ErrNumber\": {\r\n \"title\": \"The Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Message\": {\r\n \"title\": \"The Error Message\",\r\n \"type\": \"string\"\r\n },\r\n \"State\": {\r\n \"title\": \"The Error State\",\r\n \"type\": \"string\"\r\n },\r\n \"HelpLink\": {\r\n \"title\": \"The Help Link\",\r\n \"type\": \"string\"\r\n },\r\n \"errNumberReason\": {\r\n \"title\": \"The initial Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Data\": {\r\n \"title\": \"The Error Data\",\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"LevelMessage\": {\r\n \"title\": \"The Error level\",\r\n \"type\": \"string\"\r\n },\r\n \"statusCode\": {\r\n \"title\": \"The Error Status Code\",\r\n \"type\": \"integer\"\r\n },\r\n \"ErrNumber\": {\r\n \"title\": \"The Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Message\": {\r\n \"title\": \"The Error Message\",\r\n \"type\": \"string\"\r\n },\r\n \"State\": {\r\n \"title\": \"The Error State\",\r\n \"type\": \"string\"\r\n },\r\n \"HelpLink\": {\r\n \"title\": \"The Help Link\",\r\n \"type\": \"string\"\r\n },\r\n \"errNumberReason\": {\r\n \"title\": \"The initial Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Data\": {\r\n \"title\": \"The Data Schema\",\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"LevelMessage\": {\r\n \"title\": \"The Error level\",\r\n \"type\": \"string\"\r\n },\r\n \"statusCode\": {\r\n \"title\": \"The Error Status Code\",\r\n \"type\": \"integer\"\r\n },\r\n \"ErrNumber\": {\r\n \"title\": \"The Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Message\": {\r\n \"title\": \"The Error Message\",\r\n \"type\": \"string\"\r\n },\r\n \"State\": {\r\n \"title\": \"The Error State\",\r\n \"type\": \"string\"\r\n },\r\n \"HelpLink\": {\r\n \"title\": \"The Help Link\",\r\n \"type\": \"string\"\r\n },\r\n \"errNumberReason\": {\r\n \"title\": \"The initial Error Number\",\r\n \"type\": \"string\"\r\n }\r\n }\r\n },\r\n \"ResolveUrl\": {\r\n \"title\": \"The Resolve Url Link\",\r\n \"type\": \"string\"\r\n }\r\n }\r\n },\r\n \"ResolveUrl\": {\r\n \"title\": \"The Resolve Url Link\",\r\n \"type\": \"string\"\r\n },\r\n \"extraData\": {\r\n \"title\": \"The Error Extra Data \",\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"operationDuration\": {\r\n \"title\": \"The Operation Duration\",\r\n \"type\": \"integer\"\r\n }\r\n }\r\n }\r\n },\r\n \"title\": \"ErrorResponse\"\r\n }\r\n }\r\n}","isNativeDefinition":false},{"name":"SystemException","definition":"{\r\n \"$schema\":\"http://natec.tech/simpleschema\",\r\n \"$ref\":\"#/definitions/SystemException\",\r\n \"definitions\":{\r\n \"SystemException\":{\r\n \"type\":\"object\",\r\n \"properties\":{\r\n \"Exception\":{\r\n \"type\":\"types://core/System.Exception\"\r\n },\r\n \"info\":{\r\n \"type\":\"string\"\r\n }\r\n },\r\n \"title\":\"SystemException\"\r\n }\r\n }\r\n}","isNativeDefinition":false}] - [] - [{"name":"HandleException","initCode":"ErrorResponse HandleException (\n\t\tPassingResult prevData\n\t) \n {\n try\n {\n //investigate the Exception \n Logger.LogInformation($\"Exception name : {prevData.Exception.GetType().Name}\");\n //casting to exception example\n OracleException exception = null;\n if (prevData.Exception is OracleException)\n {\n exception = prevData.Exception as OracleException;\n }\n \n //forming the HTTP error result\n if (WorkflowEnvironment.RuntimeName == \"UCP\")\n WorkflowEnvironment.Variables[\"StatusCode\"] = 500;\n return new ErrorResponse()\n {\n Message = string.Concat(prevData.Exception.Message, $\"({prevData.Exception.InnerException?.Message})\"),\n LevelMessage = \"11\",\n statusCode = 500,\n State = \"1\",\n //ErrNumber = exception.Number.ToString()\n }; \n }\n catch (Exception e) {\n Logger.LogError($\"HandleException:: error {e}\");\n throw new Exception($\"HandleException:: error {e}\");\n }\n }","initParameters":[{"name":"Result","type":"ErrorResponse"},{"name":"prevData","type":"PassingResult","required":true}]}] - [] - [{"name":"RestApi","initCode":"functions://default/RestApi","initParameters":[{"name":"Uri","type":"Uri","required":true,"oldName":"Uri","defaultValue":"http://servername:port/resource"},{"name":"Method","type":"String","required":true,"oldName":"Method","defaultValue":"GET"},{"name":"Login","type":"String","required":false,"oldName":"Login","defaultValue":null},{"name":"Password","type":"String","required":false,"oldName":"Password","defaultValue":null},{"name":"Headers","type":"StringDictionary","required":false,"oldName":"Headers","defaultValue":"{\r\n \"Content-Type\":\"application/json;charset=utf-16\",\r\n \"system\":\"204\",\r\n \"global_unique_id\":\"6a297fcb-956e-4228-8c11-017e9bacd629\"\r\n }"},{"name":"Body","type":"String","required":false,"oldName":"Body","defaultValue":"{}"},{"name":"Encoding","type":"String","required":false,"oldName":"Encoding","defaultValue":"utf-8"},{"name":"Timeout","type":"int","required":false,"oldName":"Timeout","defaultValue":"0"},{"name":"Result","type":"HttpResponse","required":false,"oldName":"Result","defaultValue":null}],"oldName":"RestApi"},{"name":"RestApi/GET","initCode":"functions://default/RestApi/Get","initParameters":[{"name":"Uri","type":"Uri","required":true,"oldName":"Uri","defaultValue":"http://servername:port/resource"},{"name":"Login","type":"String","required":false,"oldName":"Login","defaultValue":null},{"name":"Password","type":"String","required":false,"oldName":"Password","defaultValue":null},{"name":"Headers","type":"StringDictionary","required":false,"oldName":"Headers","defaultValue":"{\r\n \"Content-Type\":\"application/json;charset=utf-16\",\r\n \"system\":\"204\",\r\n \"global_unique_id\":\"6a297fcb-956e-4228-8c11-017e9bacd629\"\r\n }"},{"name":"Encoding","type":"String","required":false,"oldName":"Encoding","defaultValue":"utf-8"},{"name":"Timeout","type":"int","required":false,"oldName":"Timeout","defaultValue":"0"},{"name":"Result","type":"HttpResponse","required":false,"oldName":"Result","defaultValue":null}],"oldName":"RestApi/GET"},{"name":"JsonPath","initCode":"functions://default//JsonPath","initParameters":[{"name":"Response","type":"HttpResponse","required":true,"oldName":"Response","defaultValue":null},{"name":"Path","type":"String","required":false,"oldName":"Path","defaultValue":"$"},{"name":"Result","type":"Json","required":false,"oldName":"Result","defaultValue":null}],"oldName":"JsonPath"},{"name":"SaveVariable","initCode":"functions://default//SaveVariable","initParameters":[{"name":"VariableName","type":"string","required":true,"oldName":"VariableName","defaultValue":"varName"},{"name":"Data","type":"object","required":true,"oldName":"Data","defaultValue":"#previous"}],"oldName":"SaveVariable"},{"name":"SQL/Oracle/Query","initCode":"functions://default//SQL/Oracle/Query","initParameters":[{"name":"userID","type":"String","required":true,"oldName":"userID","defaultValue":null},{"name":"password","type":"String","required":false,"oldName":"password","defaultValue":null},{"name":"dataSource","type":"String","required":false,"oldName":"dataSource","defaultValue":null},{"name":"query","type":"String","required":false,"oldName":"query","defaultValue":null},{"name":"Result","type":"Collection","required":false,"oldName":"Result","defaultValue":null}],"oldName":"SQL/Oracle/Query"},{"name":"SQL/Oracle/Command","initCode":"functions://default//SQL/Oracle/Command","initParameters":[{"name":"userID","type":"String","required":true,"oldName":"userID","defaultValue":null},{"name":"password","type":"String","required":false,"oldName":"password","defaultValue":null},{"name":"dataSource","type":"String","required":false,"oldName":"dataSource","defaultValue":null},{"name":"command","type":"String","required":false,"oldName":"command","defaultValue":null},{"name":"Result","type":"int","required":false,"oldName":"Result","defaultValue":null}],"oldName":"SQL/Oracle/Command"}] - [] - [] - {"Name":"Serhiy the Great","id":100} - - - - Flow_0xuw6mo - - DataObjectReference_0eqkq7z - - - - Flow_0ss9m19 - - - DataObjectReference_1a2hfh4 - Property_1rqqtzp - - - - - {"actionType":"Expression","action":"//int cfgType = (int)#Previous;\nint cfgType = 1;\nConfig result = null;\n if(cfgType == 1)\n \n result = new Config()\n {\n id = 1,\n value = \"Config for 1\"\n };\n else\n result = new Config()\n {\n id = 0,\n value = \"Default config\"\n };\nreturn result;","actionParam":null,"libName":"","libEntity":"","libMethod":""} - - Flow_0xuw6mo - Flow_0ss9m19 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/flow-patterns/03-config-as-flow/send-links-before.bpmn b/flow-patterns/03-config-as-flow/send-links-before.bpmn deleted file mode 100644 index db3e013..0000000 --- a/flow-patterns/03-config-as-flow/send-links-before.bpmn +++ /dev/null @@ -1,416 +0,0 @@ - - - - ["Action","Function"] - [{"name":"DataChunk","definition":"public class DataChunk {\n public string Content { get; set; }\n public int Index { get; set; }\n public byte[] Data { get; set; }\n}","isNativeDefinition":true},{"name":"ErrorResponse","definition":"{\r\n \"$schema\": \"http://json-schema.org/draft-06/schema#\",\r\n \"$ref\": \"#/definitions/ErrorResponse\",\r\n \"definitions\": {\r\n \"ErrorResponse\": {\r\n \"type\": \"object\",\r\n \"additionalProperties\": true,\r\n \"properties\": {\r\n \"LevelMessage\": {\r\n \"title\": \"The Error level\",\r\n \"type\": \"string\"\r\n },\r\n \"statusCode\": {\r\n \"title\": \"The Error Status Code\",\r\n \"type\": \"integer\"\r\n },\r\n \"ErrNumber\": {\r\n \"title\": \"The Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Message\": {\r\n \"title\": \"The Error Message\",\r\n \"type\": \"string\"\r\n },\r\n \"State\": {\r\n \"title\": \"The Error State\",\r\n \"type\": \"string\"\r\n },\r\n \"HelpLink\": {\r\n \"title\": \"The Help Link\",\r\n \"type\": \"string\"\r\n },\r\n \"errNumberReason\": {\r\n \"title\": \"The initial Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Data\": {\r\n \"title\": \"The Error Data\",\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"LevelMessage\": {\r\n \"title\": \"The Error level\",\r\n \"type\": \"string\"\r\n },\r\n \"statusCode\": {\r\n \"title\": \"The Error Status Code\",\r\n \"type\": \"integer\"\r\n },\r\n \"ErrNumber\": {\r\n \"title\": \"The Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Message\": {\r\n \"title\": \"The Error Message\",\r\n \"type\": \"string\"\r\n },\r\n \"State\": {\r\n \"title\": \"The Error State\",\r\n \"type\": \"string\"\r\n },\r\n \"HelpLink\": {\r\n \"title\": \"The Help Link\",\r\n \"type\": \"string\"\r\n },\r\n \"errNumberReason\": {\r\n \"title\": \"The initial Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Data\": {\r\n \"title\": \"The Data Schema\",\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"LevelMessage\": {\r\n \"title\": \"The Error level\",\r\n \"type\": \"string\"\r\n },\r\n \"statusCode\": {\r\n \"title\": \"The Error Status Code\",\r\n \"type\": \"integer\"\r\n },\r\n \"ErrNumber\": {\r\n \"title\": \"The Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Message\": {\r\n \"title\": \"The Error Message\",\r\n \"type\": \"string\"\r\n },\r\n \"State\": {\r\n \"title\": \"The Error State\",\r\n \"type\": \"string\"\r\n },\r\n \"HelpLink\": {\r\n \"title\": \"The Help Link\",\r\n \"type\": \"string\"\r\n },\r\n \"errNumberReason\": {\r\n \"title\": \"The initial Error Number\",\r\n \"type\": \"string\"\r\n }\r\n }\r\n },\r\n \"ResolveUrl\": {\r\n \"title\": \"The Resolve Url Link\",\r\n \"type\": \"string\"\r\n }\r\n }\r\n },\r\n \"ResolveUrl\": {\r\n \"title\": \"The Resolve Url Link\",\r\n \"type\": \"string\"\r\n },\r\n \"extraData\": {\r\n \"title\": \"The Error Extra Data \",\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"operationDuration\": {\r\n \"title\": \"The Operation Duration\",\r\n \"type\": \"integer\"\r\n }\r\n }\r\n }\r\n },\r\n \"title\": \"ErrorResponse\"\r\n }\r\n }\r\n}","isNativeDefinition":false},{"name":"FileLinkInfo","definition":"public class FileLinkInfo { \n\tpublic string FileName {get;set;}\n\tpublic string Url {get;set;}\n}","isNativeDefinition":true},{"name":"PageInfo","definition":"public class PageInfo {\n public int StartIndex { get; set; }\n public int RowCount { get; set; }\n public int Number { get; set; }\n}","isNativeDefinition":true},{"name":"ServiceData","definition":"public class ServiceData { \n\tpublic long id {get;set;}\n\tpublic int billCycleNo {get;set;}\n\tpublic DateTime usageDate {get;set;}\n\tpublic string usageType {get;set;}\n\tpublic string status {get;set;}\n\tpublic string type {get;set;}\n\tpublic string service {get;set;}\n\tpublic string usageSpecification {get;set;}\n\tpublic string relatedParty {get;set;}\n\tpublic string usageCharacteristic {get;set;}\n\tpublic string periodCoverage {get;set;}\n\tpublic string logicalResource {get;set;}\n\tpublic int Total {get;set;}\n}","isNativeDefinition":true},{"name":"SortStringBuffer","definition":" public class SortStringBuffer\r\n {\r\n int _curChunk = 1;\r\n SortedList<int, string> _sl = new SortedList<int, string>();\r\n\r\n public void AddChunk(int index, string chunk)\r\n {\r\n _sl.Add(index, chunk);\r\n }\r\n\r\n public string ReadNextChunk(out int curChunk)\r\n {\r\n curChunk = _curChunk;\r\n if (_sl.ContainsKey(_curChunk))\r\n {\r\n var result = _sl[_curChunk];\r\n _sl.Remove(_curChunk);\r\n _curChunk++;\r\n return result;\r\n }\r\n else\r\n return default;\r\n }\r\n }","isNativeDefinition":true},{"name":"SystemException","definition":"{\r\n \"$schema\":\"http://natec.tech/simpleschema\",\r\n \"$ref\":\"#/definitions/SystemException\",\r\n \"definitions\":{\r\n \"SystemException\":{\r\n \"type\":\"object\",\r\n \"properties\":{\r\n \"Exception\":{\r\n \"type\":\"types://core/System.Exception\"\r\n },\r\n \"info\":{\r\n \"type\":\"string\"\r\n }\r\n },\r\n \"title\":\"SystemException\"\r\n }\r\n }\r\n}","isNativeDefinition":false},{"name":"TreeNodeGridData","definition":"public class TreeNodeGridData { \n\tpublic string ext_ExtNum {get;set;}\n\tpublic string rptURL {get;set;}\n}","isNativeDefinition":true}] - [] - [{"name":"GetLinks","initCode":"FileLinkInfo[] GetLinks(PageInfo pageInfo)\n{\n DataAssociations.p_ucp_get_TreeNodes_Grid.Parameters.PageNumber = pageInfo.StartIndex;\n DataAssociations.p_ucp_get_TreeNodes_Grid.Parameters.PageSize = pageInfo.RowCount;\n DataAssociations.p_ucp_get_TreeNodes_Grid.Parameters.Ntw_ID = 3;\n DataAssociations.p_ucp_get_TreeNodes_Grid.Parameters.mode = 0;\n var qryRes = DataAssociations.p_ucp_get_TreeNodes_Grid.Query<TreeNodeGridData>();\n \n var result = qryRes\n .Where(qr => !string.IsNullOrEmpty(qr.ext_ExtNum))\n .Select(qr =>\n new FileLinkInfo()\n {\n FileName = qr.ext_ExtNum,\n Url = qr.rptURL\n }).ToList();\n/* \n var result = new List<FileLinkInfo>()\n {\n new FileLinkInfo()\n {\n FileName = \"fs1.dat\",\n Url = \"http://servername:port/ReportServer?/Invoice/Bill&rs:Command=Render&rs:Format=PDF&rc:Toolbar=false&rc:ContentDisposition=Attachment&Bill_ID=1742487786\"\n },\n new FileLinkInfo()\n {\n FileName = \"fs2.dat\",\n Url = \"http://servername:port/ReportServer?/Invoice/Bill&rs:Command=Render&rs:Format=PDF&rc:Toolbar=false&rc:ContentDisposition=Attachment&Bill_ID=1742487786\"\n }\n };\n*/\n return result;\n}","initParameters":[{"name":"pageInfo","type":"PageInfo","defaultValue":null,"nullable":false,"required":false},{"name":"Result","type":"FileLinkInfo[]"}]},{"name":"GetPageInfos","initCode":"PageInfo[] GetPageInfos(int pageSize)\n{\n DataAssociations.p_ucp_get_TreeNodes_Grid.Parameters.PageNumber = 1;\n DataAssociations.p_ucp_get_TreeNodes_Grid.Parameters.PageSize = 1;\n DataAssociations.p_ucp_get_TreeNodes_Grid.Parameters.Ntw_ID = 3;\n DataAssociations.p_ucp_get_TreeNodes_Grid.Parameters.mode = 0;\n\n var qryRes = DataAssociations.p_ucp_get_TreeNodes_Grid.Query();\n var records = qryRes.FirstOrDefault().Total; \n records = 4;\n\n int remainder = records % pageSize;\n int fullpages = records / pageSize;\n List<PageInfo> resInfo = new List<PageInfo>();\n\n for (int i = 0; i < fullpages; i++)\n {\n resInfo.Add(new PageInfo()\n {\n Number = i+1,\n RowCount = pageSize,\n StartIndex = (i==0)?1:i*pageSize\n });\n }\n if (remainder > 0)\n {\n resInfo.Add(new PageInfo()\n {\n Number = fullpages+1,\n RowCount = remainder,\n StartIndex = (fullpages==0)?1:fullpages * pageSize\n });\n } \n \n return resInfo;\n}","initParameters":[{"name":"pageSize","type":"int","defaultValue":null,"nullable":false,"required":false},{"name":"Result","type":"PageInfo[]"}]},{"name":"HandleException","initCode":"ErrorResponse HandleException (\n\t\tPassingResult prevData\n\t) \n {\n try\n {\n //investigate the Exception \n Logger.LogInformation($\"Exception name : {prevData.Exception.GetType().Name}\");\n //casting to exception example\n OracleException exception = null;\n if (prevData.Exception is OracleException)\n {\n exception = prevData.Exception as OracleException;\n }\n \n //forming the HTTP error result\n if (WorkflowEnvironment.RuntimeName == \"UCP\")\n WorkflowEnvironment.Variables[\"StatusCode\"] = 500;\n return new ErrorResponse()\n {\n Message = string.Concat(prevData.Exception.Message, $\"({prevData.Exception.InnerException?.Message})\"),\n LevelMessage = \"11\",\n statusCode = 500,\n State = \"1\",\n //ErrNumber = exception.Number.ToString()\n }; \n }\n catch (Exception e) {\n Logger.LogError($\"HandleException:: error {e}\");\n throw new Exception($\"HandleException:: error {e}\");\n }\n }","initParameters":[{"name":"Result","type":"ErrorResponse"},{"name":"prevData","type":"PassingResult","required":true}]}] - [{"name":"bll","link":"libs://common/bll","version":"","entities":[]},{"name":"ai","link":"libs://common/ai","version":"","entities":[]},{"name":"Platform","link":"libs://common/platform","version":"","entities":[]}] - [{"name":"RestApiNonAuth","initCode":"functions://default/RestApi/NonAuth","initParameters":[{"name":"Uri","type":"Uri","required":true,"nullable":false,"oldName":"Uri","oldType":"Uri","defaultValue":"http://servername:port/resource"},{"name":"Method","type":"string","required":true,"nullable":false,"oldName":"Method","oldType":"String","defaultValue":"POST"},{"name":"Headers","type":"StringDictionary","required":false,"nullable":false,"oldName":"Headers","oldType":"StringDictionary","defaultValue":"{\r\n \"Content-Type\":\"application/json;charset=utf-16\",\r\n \"system\":\"204\",\r\n \"global_unique_id\":\"6a297fcb-956e-4228-8c11-017e9bacd629\"\r\n }"},{"name":"Body","type":"string","required":false,"nullable":false,"oldName":"Body","oldType":"String","defaultValue":"{}"},{"name":"Encoding","type":"string","required":false,"nullable":false,"oldName":"Encoding","oldType":"String","defaultValue":"utf-8"},{"name":"Timeout","type":"int","required":false,"nullable":false,"oldName":"Timeout","oldType":"int","defaultValue":"0"},{"name":"Result","type":"HttpResponse","required":false,"nullable":false,"oldName":"Result","oldType":"HttpResponse","defaultValue":null}],"oldName":"RestApiNonAuth"},{"name":"RestApi","initCode":"functions://default/RestApi","initParameters":[{"name":"Uri","type":"Uri","required":true,"nullable":false,"oldName":"Uri","oldType":"Uri","defaultValue":"http://servername:port/resource"},{"name":"Method","type":"string","required":true,"nullable":false,"oldName":"Method","oldType":"String","defaultValue":"POST"},{"name":"Login","type":"string","required":false,"nullable":false,"oldName":"Login","oldType":"String","defaultValue":""},{"name":"Password","type":"string","required":false,"nullable":false,"oldName":"Password","oldType":"String","defaultValue":""},{"name":"Headers","type":"StringDictionary","required":false,"nullable":false,"oldName":"Headers","oldType":"StringDictionary","defaultValue":"{ \"Content-Type\": \"application/json\" }"},{"name":"Body","type":"string","required":false,"nullable":false,"oldName":"Body","oldType":"String","defaultValue":"{}"},{"name":"Encoding","type":"string","required":false,"nullable":false,"oldName":"Encoding","oldType":"String","defaultValue":"utf-8"},{"name":"Timeout","type":"int","required":false,"nullable":false,"oldName":"Timeout","oldType":"int","defaultValue":"100000"},{"name":"Result","type":"HttpResponse","required":false,"nullable":false,"oldName":"Result","oldType":"HttpResponse","defaultValue":null}],"oldName":"RestApi"},{"name":"RestApi/GET","initCode":"functions://default/RestApi/Get","initParameters":[{"name":"Uri","type":"Uri","required":true,"nullable":false,"oldName":"Uri","oldType":"Uri","defaultValue":"http://servername:port/resource"},{"name":"Login","type":"string","required":false,"nullable":false,"oldName":"Login","oldType":"String","defaultValue":""},{"name":"Password","type":"string","required":false,"nullable":false,"oldName":"Password","oldType":"String","defaultValue":""},{"name":"Headers","type":"StringDictionary","required":false,"nullable":false,"oldName":"Headers","oldType":"StringDictionary","defaultValue":"{ \"Content-Type\": \"application/json\" }"},{"name":"Encoding","type":"string","required":false,"nullable":false,"oldName":"Encoding","oldType":"String","defaultValue":"utf-8"},{"name":"Timeout","type":"int","required":false,"nullable":false,"oldName":"Timeout","oldType":"int","defaultValue":"100000"},{"name":"Result","type":"HttpResponse","required":false,"nullable":false,"oldName":"Result","oldType":"HttpResponse","defaultValue":null}],"oldName":"RestApi/GET"},{"name":"RestApi/Download","initCode":"functions://default/RestApi/Download","initParameters":[{"name":"Uri","type":"Uri","required":true,"nullable":false,"oldName":"Uri","oldType":"Uri","defaultValue":"http://servername:port/resource"},{"name":"Login","type":"string","required":false,"nullable":false,"oldName":"Login","oldType":"String","defaultValue":""},{"name":"Password","type":"string","required":false,"nullable":false,"oldName":"Password","oldType":"String","defaultValue":""},{"name":"Headers","type":"StringDictionary","required":false,"nullable":false,"oldName":"Headers","oldType":"StringDictionary","defaultValue":"{ \"Content-Type\": \"application/json\" }"},{"name":"file","type":"LocalFile","required":false,"nullable":false,"oldName":"file","oldType":"LocalFile","defaultValue":"utf-8"},{"name":"Timeout","type":"int","required":false,"nullable":false,"oldName":"Timeout","oldType":"int","defaultValue":"100000"},{"name":"Result","type":"LocalFile","required":false,"nullable":false,"oldName":"Result","oldType":"LocalFile","defaultValue":null}],"oldName":"RestApi/Download"},{"name":"JsonPath","initCode":"functions://default//JsonPath","initParameters":[{"name":"Response","type":"HttpResponse","required":true,"nullable":false,"oldName":"Response","oldType":"HttpResponse","defaultValue":null},{"name":"Path","type":"string","required":false,"nullable":false,"oldName":"Path","oldType":"String","defaultValue":"$"},{"name":"Result","type":"Json","required":false,"nullable":false,"oldName":"Result","oldType":"Json","defaultValue":null}],"oldName":"JsonPath"},{"name":"SaveVariable","initCode":"functions://default//SaveVariable","initParameters":[{"name":"VariableName","type":"string","required":true,"nullable":false,"oldName":"VariableName","oldType":"string","defaultValue":"varName"},{"name":"Data","type":"object","required":true,"nullable":false,"oldName":"Data","oldType":"object","defaultValue":"#previous"}],"oldName":"SaveVariable"},{"name":"SQL/Oracle/Query","initCode":"functions://default//SQL/Oracle/Query","initParameters":[{"name":"userID","type":"string","required":true,"nullable":false,"oldName":"userID","oldType":"String","defaultValue":null},{"name":"password","type":"string","required":false,"nullable":false,"oldName":"password","oldType":"String","defaultValue":null},{"name":"dataSource","type":"string","required":false,"nullable":false,"oldName":"dataSource","oldType":"String","defaultValue":null},{"name":"query","type":"string","required":false,"nullable":false,"oldName":"query","oldType":"String","defaultValue":null},{"name":"Result","type":"Collection","required":false,"nullable":false,"oldName":"Result","oldType":"Collection","defaultValue":null}],"oldName":"SQL/Oracle/Query"},{"name":"SQL/Oracle/Command","initCode":"functions://default//SQL/Oracle/Command","initParameters":[{"name":"userID","type":"string","required":true,"nullable":false,"oldName":"userID","oldType":"String","defaultValue":null},{"name":"password","type":"string","required":false,"nullable":false,"oldName":"password","oldType":"String","defaultValue":null},{"name":"dataSource","type":"string","required":false,"nullable":false,"oldName":"dataSource","oldType":"String","defaultValue":null},{"name":"command","type":"string","required":false,"nullable":false,"oldName":"command","oldType":"String","defaultValue":null},{"name":"Result","type":"int","required":false,"nullable":false,"oldName":"Result","oldType":"int","defaultValue":null}],"oldName":"SQL/Oracle/Command"},{"name":"AI/Completions","initCode":"functions://default//AI/Completions","initParameters":[{"name":"Model","type":"string","required":true,"nullable":false,"oldName":"Model","oldType":"String","defaultValue":"meta-llama/Llama-3.1-8B-Instruct"},{"name":"Messages","type":"ChatCompletionsRequestMessageViewModel[]","required":true,"nullable":false,"oldName":"Messages","oldType":"ChatCompletionsRequestMessageViewModel[]","defaultValue":null},{"name":"Result","type":"string[]","required":false,"nullable":false,"oldName":"Result","oldType":"string[]","defaultValue":null}],"oldName":"AI/Completions"},{"name":"AI/ExecuteReader","initCode":"functions://default//AI/ExecuteReader","initParameters":[{"name":"vectorExecuteRequest","type":"string","required":true,"nullable":false,"oldName":"vectorExecuteRequest","oldType":"String","defaultValue":null},{"name":"Result","type":"string","required":false,"nullable":false,"oldName":"Result","oldType":"string","defaultValue":null}],"oldName":"AI/ExecuteReader"},{"name":"AI/ExecuteNonQuery","initCode":"functions://default//AI/ExecuteNonQuery","initParameters":[{"name":"vectorExecuteRequest","type":"string","required":true,"nullable":false,"oldName":"vectorExecuteRequest","oldType":"String","defaultValue":null},{"name":"Result","type":"string","required":false,"nullable":false,"oldName":"Result","oldType":"string","defaultValue":null}],"oldName":"AI/ExecuteNonQuery"},{"name":"IO/Local/File","initCode":"functions://default//IO/Local/File","initParameters":[{"name":"storeType","type":"string","required":true,"nullable":false,"oldName":"storeType","oldType":"String","defaultValue":null},{"name":"fileName","type":"string","required":true,"nullable":false,"oldName":"fileName","oldType":"String","defaultValue":null},{"name":"fileContent","type":"string","required":true,"nullable":false,"oldName":"fileContent","oldType":"String","defaultValue":null}],"oldName":"IO/Local/File"},{"name":"SQL/MSSQL/Command","initCode":"functions://default//SQL/MSSQL/Command","initParameters":[{"name":"connectionString","type":"string","required":true,"nullable":false,"oldName":"connectionString","oldType":"String","defaultValue":null},{"name":"command","type":"string","required":false,"nullable":false,"oldName":"command","oldType":"String","defaultValue":null},{"name":"Result","type":"Collection","required":false,"nullable":false,"oldName":"Result","oldType":"Collection","defaultValue":null}],"oldName":"SQL/MSSQL/Command"}] - [] - [{"name":"dataFile","type":"LocalFile","initialValue":"file://documents/tenant/page.dat"},{"name":"dataFileName","type":"string","initialValue":"page.dat"},{"name":"PageSize","type":"int","initialValue":"5"},{"name":"SBuffer","type":"SortStringBuffer","initialValue":""},{"name":"sign1","type":"bool","initialValue":"false"}] - {"Name":"Hello world!","id":100} - - - - Flow_1ggxc8j - - DataObjectReference_0eqkq7z - - - - - - - - - 10 - - Flow_1m73j3r - Flow_0y201wn - - - Flow_1kv5sri - - DataObjectReference_1y3l3pb - - - - - {"actionType":"Action","action":"GetLinks","actionParam":{"pageInfo":"Input"},"libName":"","libEntity":"","libMethod":""} - - Flow_1kv5sri - Flow_1pefznh - - - p_ucp_get_TreeNodes_Grid - Property_0bhl61z - - - - - - Flow_0lbkzux - - - DataObjectReference_1y5e7v6 - Property_1s0cobe - - - - - - - - - {"actionType":"Expression","action":"var links = #Previous as List<FileLinkInfo>;\n\n var result = new List<FileLinkInfo>();\n using var client = new HttpClient();\n var authToken = Convert.ToBase64String(Encoding.UTF8.GetBytes(\"login:password\"));\n client.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue(\"Basic\", authToken);\n \n foreach (var fli in links)\n {\n string fileUrl = fli.Url;\n var localFile = DataAssociations.DS_LinksFolder.CreateFile(fli.FileName);\n\n using HttpResponseMessage response = client.GetAsync(fileUrl, HttpCompletionOption.ResponseHeadersRead).Result;\n using Stream streamToReadFrom = response.Content.ReadAsStream();\n using Stream streamToWriteTo = localFile.OpenStream();\n streamToReadFrom.CopyTo(streamToWriteTo);\n var rLink = localFile.CreateLink();\n result.Add(new FileLinkInfo()\n {\n FileName = fli.FileName,\n Url = rLink\n });\n }\n\n return result;"} - - Flow_0m1psi6 - Flow_0lbkzux - - - DS_LinksFolder - Property_0msvbey - - - - - Flow_1pefznh - Flow_0m1psi6 - - - Flow_1s2hv94 - - DataObjectReference_1atspsm - - - - - {"actionType":"Function","action":"RestApi/Download","actionParam":{"Uri":"{Input.Url}","Login":"null","Password":"null","Headers":"{\r\n \"Content-Type\":\"application/json;charset=utf-16\",\r\n \"system\":\"204\",\r\n \"global_unique_id\":\"6a297fcb-956e-4228-8c11-017e9bacd629\"\r\n }","file":"","Timeout":"0"},"libName":"","libEntity":"","libMethod":""} - - Flow_1s2hv94 - Flow_0i6p5s0 - - - DownloadedFile - Property_0l79pss - - - - Flow_1oliemo - - - DataObjectReference_0zj8a1f - Property_1ggx1av - - - - - - - {"type":"File","connection":"file://documents/tenant","object":"Input.FileName","parameters":[]} - - - - - - - - - {"actionType":"Expression","action":" var localFile = #Previous;\n var rLink = localFile.CreateLink();\n var result = new FileLinkInfo()\n {\n FileName = Input.FileName,\n Url = rLink\n };\n return result;"} - - Flow_0i6p5s0 - Flow_1oliemo - - - - - - - - {"actionType":"Action","action":"GetPageInfos","actionParam":{"pageSize":"Parameters.PageSize"},"libName":"","libEntity":"","libMethod":""} - - Flow_1ggxc8j - Flow_1m73j3r - - - p_ucp_get_TreeNodes_Grid - Property_1rb8t0i - - - - - - - {"actionType":"Expression","action":"var linksList = #Previous;\r\nvar sb = new StringBuilder();\r\n\r\nsb.AppendLine(\r\n \"<p style='font-family:Arial,sans-serif;font-size:14px;line-height:1.5;'>\" +\r\n \"Це автоматичне повідомлення. Нижче наведено перелік білінгових рахунків на оплату \" +\r\n \"із зазначенням ідентифікатора <strong>Service Line</strong>, які були згенеровані \" +\r\n \"системою WideCoup BSS для послуги доступу до двостороннього супутникового \" +\r\n \"Інтернету Starlink.\" +\r\n \"</p>\"\r\n);\r\n\r\nsb.AppendLine(\r\n \"<table style='border-collapse:collapse;width:100%;font-family:Arial,sans-serif;font-size:14px;'>\"\r\n);\r\n\r\nsb.AppendLine(\r\n \"<thead>\" +\r\n \"<tr>\" +\r\n \"<th style='border:1px solid #d9d9d9;padding:10px;text-align:left;background-color:#f2f2f2;'>\" +\r\n \"Service Line\" +\r\n \"</th>\" +\r\n \"</tr>\" +\r\n \"</thead>\"\r\n);\r\n\r\nsb.AppendLine(\"<tbody>\");\r\n\r\nforeach (var links in linksList)\r\n{\r\n foreach (var lnk in links)\r\n {\r\n sb.AppendLine(\r\n \"<tr>\" +\r\n \"<td style='border:1px solid #d9d9d9;padding:10px;'>\" +\r\n $\"<a href='{lnk.Url}' target='_blank'>{lnk.FileName}</a>\" +\r\n \"</td>\" +\r\n \"</tr>\"\r\n );\r\n }\r\n}\r\n\r\nsb.AppendLine(\"</tbody>\");\r\nsb.AppendLine(\"</table>\");\r\n\r\nsb.AppendLine(\r\n \"<p style='font-family:Arial,sans-serif;font-size:12px;color:#777777;margin-top:16px;'>\" +\r\n \"Повідомлення сформовано автоматично. Будь ласка, не відповідайте на нього.\" +\r\n \"</p>\"\r\n);\r\n\r\nreturn sb.ToString();"} - - Flow_1tu67dt - Flow_083g3kv - - - - - - {"tsk_ProcessName":"SMTP","data":{"to":"user@example.com","from":"","message":"Files for download : {#Previous}"},"lang":"en"} - - Flow_083g3kv - Flow_0bv1llb - - - - - {"tsk_ProcessName":"SMTP","data":{"to":"user@example.com","from":"noreply@example.com","message":"File for download #Previous"},"lang":"en"} - - Flow_0bv1llb - - - DataObjectReference_1a2hfh4 - Property_1lkfb20 - - - - - Flow_0y201wn - Flow_1tu67dt - - - - - {"type":"Folder","connection":"file://documents/tenant","parameters":[]} - - - - - {"type":"MSSQL.Procedure","connection":"Server=servername;Database=database;User ID=login;Password=;TrustServerCertificate=true;MultipleActiveResultSets=true","object":"p_ucp_get_TreeNodes_Grid","parameters":[{"name":"Ntw_ID","dbType":"Int64","direction":"Input","size":null},{"name":"mode","dbType":"Int64","direction":"Input","size":null},{"name":"PageNumber","dbType":"Int64","direction":"Input","size":null},{"name":"PageSize","dbType":"Int64","direction":"Input","size":null}]} - - - - Flow_1kau3uq - - - - Flow_1kau3uq - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/flow-patterns/03-config-as-flow/send-links.bpmn b/flow-patterns/03-config-as-flow/send-links.bpmn deleted file mode 100644 index a510084..0000000 --- a/flow-patterns/03-config-as-flow/send-links.bpmn +++ /dev/null @@ -1,416 +0,0 @@ - - - - ["Action","Function"] - [{"name":"DataChunk","definition":"public class DataChunk {\n public string Content { get; set; }\n public int Index { get; set; }\n public byte[] Data { get; set; }\n}","isNativeDefinition":true},{"name":"ErrorResponse","definition":"{\r\n \"$schema\": \"http://json-schema.org/draft-06/schema#\",\r\n \"$ref\": \"#/definitions/ErrorResponse\",\r\n \"definitions\": {\r\n \"ErrorResponse\": {\r\n \"type\": \"object\",\r\n \"additionalProperties\": true,\r\n \"properties\": {\r\n \"LevelMessage\": {\r\n \"title\": \"The Error level\",\r\n \"type\": \"string\"\r\n },\r\n \"statusCode\": {\r\n \"title\": \"The Error Status Code\",\r\n \"type\": \"integer\"\r\n },\r\n \"ErrNumber\": {\r\n \"title\": \"The Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Message\": {\r\n \"title\": \"The Error Message\",\r\n \"type\": \"string\"\r\n },\r\n \"State\": {\r\n \"title\": \"The Error State\",\r\n \"type\": \"string\"\r\n },\r\n \"HelpLink\": {\r\n \"title\": \"The Help Link\",\r\n \"type\": \"string\"\r\n },\r\n \"errNumberReason\": {\r\n \"title\": \"The initial Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Data\": {\r\n \"title\": \"The Error Data\",\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"LevelMessage\": {\r\n \"title\": \"The Error level\",\r\n \"type\": \"string\"\r\n },\r\n \"statusCode\": {\r\n \"title\": \"The Error Status Code\",\r\n \"type\": \"integer\"\r\n },\r\n \"ErrNumber\": {\r\n \"title\": \"The Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Message\": {\r\n \"title\": \"The Error Message\",\r\n \"type\": \"string\"\r\n },\r\n \"State\": {\r\n \"title\": \"The Error State\",\r\n \"type\": \"string\"\r\n },\r\n \"HelpLink\": {\r\n \"title\": \"The Help Link\",\r\n \"type\": \"string\"\r\n },\r\n \"errNumberReason\": {\r\n \"title\": \"The initial Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Data\": {\r\n \"title\": \"The Data Schema\",\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"LevelMessage\": {\r\n \"title\": \"The Error level\",\r\n \"type\": \"string\"\r\n },\r\n \"statusCode\": {\r\n \"title\": \"The Error Status Code\",\r\n \"type\": \"integer\"\r\n },\r\n \"ErrNumber\": {\r\n \"title\": \"The Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Message\": {\r\n \"title\": \"The Error Message\",\r\n \"type\": \"string\"\r\n },\r\n \"State\": {\r\n \"title\": \"The Error State\",\r\n \"type\": \"string\"\r\n },\r\n \"HelpLink\": {\r\n \"title\": \"The Help Link\",\r\n \"type\": \"string\"\r\n },\r\n \"errNumberReason\": {\r\n \"title\": \"The initial Error Number\",\r\n \"type\": \"string\"\r\n }\r\n }\r\n },\r\n \"ResolveUrl\": {\r\n \"title\": \"The Resolve Url Link\",\r\n \"type\": \"string\"\r\n }\r\n }\r\n },\r\n \"ResolveUrl\": {\r\n \"title\": \"The Resolve Url Link\",\r\n \"type\": \"string\"\r\n },\r\n \"extraData\": {\r\n \"title\": \"The Error Extra Data \",\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"operationDuration\": {\r\n \"title\": \"The Operation Duration\",\r\n \"type\": \"integer\"\r\n }\r\n }\r\n }\r\n },\r\n \"title\": \"ErrorResponse\"\r\n }\r\n }\r\n}","isNativeDefinition":false},{"name":"FileLinkInfo","definition":"public class FileLinkInfo { \n\tpublic string FileName {get;set;}\n\tpublic string Url {get;set;}\n}","isNativeDefinition":true},{"name":"PageInfo","definition":"public class PageInfo {\n public int StartIndex { get; set; }\n public int RowCount { get; set; }\n public int Number { get; set; }\n}","isNativeDefinition":true},{"name":"ServiceData","definition":"public class ServiceData { \n\tpublic long id {get;set;}\n\tpublic int billCycleNo {get;set;}\n\tpublic DateTime usageDate {get;set;}\n\tpublic string usageType {get;set;}\n\tpublic string status {get;set;}\n\tpublic string type {get;set;}\n\tpublic string service {get;set;}\n\tpublic string usageSpecification {get;set;}\n\tpublic string relatedParty {get;set;}\n\tpublic string usageCharacteristic {get;set;}\n\tpublic string periodCoverage {get;set;}\n\tpublic string logicalResource {get;set;}\n\tpublic int Total {get;set;}\n}","isNativeDefinition":true},{"name":"SortStringBuffer","definition":" public class SortStringBuffer\r\n {\r\n int _curChunk = 1;\r\n SortedList<int, string> _sl = new SortedList<int, string>();\r\n\r\n public void AddChunk(int index, string chunk)\r\n {\r\n _sl.Add(index, chunk);\r\n }\r\n\r\n public string ReadNextChunk(out int curChunk)\r\n {\r\n curChunk = _curChunk;\r\n if (_sl.ContainsKey(_curChunk))\r\n {\r\n var result = _sl[_curChunk];\r\n _sl.Remove(_curChunk);\r\n _curChunk++;\r\n return result;\r\n }\r\n else\r\n return default;\r\n }\r\n }","isNativeDefinition":true},{"name":"SystemException","definition":"{\r\n \"$schema\":\"http://natec.tech/simpleschema\",\r\n \"$ref\":\"#/definitions/SystemException\",\r\n \"definitions\":{\r\n \"SystemException\":{\r\n \"type\":\"object\",\r\n \"properties\":{\r\n \"Exception\":{\r\n \"type\":\"types://core/System.Exception\"\r\n },\r\n \"info\":{\r\n \"type\":\"string\"\r\n }\r\n },\r\n \"title\":\"SystemException\"\r\n }\r\n }\r\n}","isNativeDefinition":false},{"name":"TreeNodeGridData","definition":"public class TreeNodeGridData { \n\tpublic string ext_ExtNum {get;set;}\n\tpublic string rptURL {get;set;}\n}","isNativeDefinition":true}] - [{"name":"ExternalConfig","definition":"types://external/ConfigActivity/Config"}] - [{"name":"GetLinks","initCode":"FileLinkInfo[] GetLinks(PageInfo pageInfo)\n{\n DataAssociations.p_ucp_get_TreeNodes_Grid.Parameters.PageNumber = pageInfo.StartIndex;\n DataAssociations.p_ucp_get_TreeNodes_Grid.Parameters.PageSize = pageInfo.RowCount;\n DataAssociations.p_ucp_get_TreeNodes_Grid.Parameters.Ntw_ID = 3;\n DataAssociations.p_ucp_get_TreeNodes_Grid.Parameters.mode = 0;\n var qryRes = DataAssociations.p_ucp_get_TreeNodes_Grid.Query<TreeNodeGridData>();\n \n var result = qryRes\n .Where(qr => !string.IsNullOrEmpty(qr.ext_ExtNum))\n .Select(qr =>\n new FileLinkInfo()\n {\n FileName = qr.ext_ExtNum,\n Url = qr.rptURL\n }).ToList();\n/* \n var result = new List<FileLinkInfo>()\n {\n new FileLinkInfo()\n {\n FileName = \"fs1.dat\",\n Url = \"http://servername:port/ReportServer?/Invoice/Bill&rs:Command=Render&rs:Format=PDF&rc:Toolbar=false&rc:ContentDisposition=Attachment&Bill_ID=1742487786\"\n },\n new FileLinkInfo()\n {\n FileName = \"fs2.dat\",\n Url = \"http://servername:port/ReportServer?/Invoice/Bill&rs:Command=Render&rs:Format=PDF&rc:Toolbar=false&rc:ContentDisposition=Attachment&Bill_ID=1742487786\"\n }\n };\n*/\n return result;\n}","initParameters":[{"name":"pageInfo","type":"PageInfo","defaultValue":null,"nullable":false,"required":false},{"name":"Result","type":"FileLinkInfo[]"}]},{"name":"GetPageInfos","initCode":"PageInfo[] GetPageInfos(int pageSize)\n{\n DataAssociations.p_ucp_get_TreeNodes_Grid.Parameters.PageNumber = 1;\n DataAssociations.p_ucp_get_TreeNodes_Grid.Parameters.PageSize = 1;\n DataAssociations.p_ucp_get_TreeNodes_Grid.Parameters.Ntw_ID = 3;\n DataAssociations.p_ucp_get_TreeNodes_Grid.Parameters.mode = 0;\n\n var qryRes = DataAssociations.p_ucp_get_TreeNodes_Grid.Query();\n var records = qryRes.FirstOrDefault().Total; \n records = 4;\n\n int remainder = records % pageSize;\n int fullpages = records / pageSize;\n List<PageInfo> resInfo = new List<PageInfo>();\n\n for (int i = 0; i < fullpages; i++)\n {\n resInfo.Add(new PageInfo()\n {\n Number = i+1,\n RowCount = pageSize,\n StartIndex = (i==0)?1:i*pageSize\n });\n }\n if (remainder > 0)\n {\n resInfo.Add(new PageInfo()\n {\n Number = fullpages+1,\n RowCount = remainder,\n StartIndex = (fullpages==0)?1:fullpages * pageSize\n });\n } \n \n return resInfo;\n}","initParameters":[{"name":"pageSize","type":"int","defaultValue":null,"nullable":false,"required":false},{"name":"Result","type":"PageInfo[]"}]},{"name":"HandleException","initCode":"ErrorResponse HandleException (\n\t\tPassingResult prevData\n\t) \n {\n try\n {\n //investigate the Exception \n Logger.LogInformation($\"Exception name : {prevData.Exception.GetType().Name}\");\n //casting to exception example\n OracleException exception = null;\n if (prevData.Exception is OracleException)\n {\n exception = prevData.Exception as OracleException;\n }\n \n //forming the HTTP error result\n if (WorkflowEnvironment.RuntimeName == \"UCP\")\n WorkflowEnvironment.Variables[\"StatusCode\"] = 500;\n return new ErrorResponse()\n {\n Message = string.Concat(prevData.Exception.Message, $\"({prevData.Exception.InnerException?.Message})\"),\n LevelMessage = \"11\",\n statusCode = 500,\n State = \"1\",\n //ErrNumber = exception.Number.ToString()\n }; \n }\n catch (Exception e) {\n Logger.LogError($\"HandleException:: error {e}\");\n throw new Exception($\"HandleException:: error {e}\");\n }\n }","initParameters":[{"name":"Result","type":"ErrorResponse"},{"name":"prevData","type":"PassingResult","required":true}]}] - [{"name":"bll","link":"libs://common/bll","version":"","entities":[]},{"name":"ai","link":"libs://common/ai","version":"","entities":[]},{"name":"Platform","link":"libs://common/platform","version":"","entities":[]},{"name":"ConfigActivity","link":"activities://bpmn-mnemo/personal/MyDrafts/test-config/#latest"}] - [{"name":"RestApiNonAuth","initCode":"functions://default/RestApi/NonAuth","initParameters":[{"name":"Uri","type":"Uri","required":true,"nullable":false,"oldName":"Uri","oldType":"Uri","defaultValue":"http://servername:port/resource"},{"name":"Method","type":"string","required":true,"nullable":false,"oldName":"Method","oldType":"string","defaultValue":"POST"},{"name":"Headers","type":"StringDictionary","required":false,"nullable":false,"oldName":"Headers","oldType":"StringDictionary","defaultValue":"{\r\n \"Content-Type\":\"application/json;charset=utf-16\",\r\n \"system\":\"204\",\r\n \"global_unique_id\":\"6a297fcb-956e-4228-8c11-017e9bacd629\"\r\n }"},{"name":"Body","type":"string","required":false,"nullable":false,"oldName":"Body","oldType":"string","defaultValue":"{}"},{"name":"Encoding","type":"string","required":false,"nullable":false,"oldName":"Encoding","oldType":"string","defaultValue":"utf-8"},{"name":"Timeout","type":"int","required":false,"nullable":false,"oldName":"Timeout","oldType":"int","defaultValue":"0"},{"name":"Result","type":"HttpResponse","required":false,"nullable":false,"oldName":"Result","oldType":"HttpResponse","defaultValue":null}],"oldName":"RestApiNonAuth"},{"name":"RestApi","initCode":"functions://default/RestApi","initParameters":[{"name":"Uri","type":"Uri","required":true,"nullable":false,"oldName":"Uri","oldType":"Uri","defaultValue":"http://servername:port/resource"},{"name":"Method","type":"string","required":true,"nullable":false,"oldName":"Method","oldType":"string","defaultValue":"POST"},{"name":"Login","type":"string","required":false,"nullable":false,"oldName":"Login","oldType":"string","defaultValue":""},{"name":"Password","type":"string","required":false,"nullable":false,"oldName":"Password","oldType":"string","defaultValue":""},{"name":"Headers","type":"StringDictionary","required":false,"nullable":false,"oldName":"Headers","oldType":"StringDictionary","defaultValue":"{ \"Content-Type\": \"application/json\" }"},{"name":"Body","type":"string","required":false,"nullable":false,"oldName":"Body","oldType":"string","defaultValue":"{}"},{"name":"Encoding","type":"string","required":false,"nullable":false,"oldName":"Encoding","oldType":"string","defaultValue":"utf-8"},{"name":"Timeout","type":"int","required":false,"nullable":false,"oldName":"Timeout","oldType":"int","defaultValue":"100000"},{"name":"Result","type":"HttpResponse","required":false,"nullable":false,"oldName":"Result","oldType":"HttpResponse","defaultValue":null}],"oldName":"RestApi"},{"name":"RestApi/GET","initCode":"functions://default/RestApi/Get","initParameters":[{"name":"Uri","type":"Uri","required":true,"nullable":false,"oldName":"Uri","oldType":"Uri","defaultValue":"http://servername:port/resource"},{"name":"Login","type":"string","required":false,"nullable":false,"oldName":"Login","oldType":"string","defaultValue":""},{"name":"Password","type":"string","required":false,"nullable":false,"oldName":"Password","oldType":"string","defaultValue":""},{"name":"Headers","type":"StringDictionary","required":false,"nullable":false,"oldName":"Headers","oldType":"StringDictionary","defaultValue":"{ \"Content-Type\": \"application/json\" }"},{"name":"Encoding","type":"string","required":false,"nullable":false,"oldName":"Encoding","oldType":"string","defaultValue":"utf-8"},{"name":"Timeout","type":"int","required":false,"nullable":false,"oldName":"Timeout","oldType":"int","defaultValue":"100000"},{"name":"Result","type":"HttpResponse","required":false,"nullable":false,"oldName":"Result","oldType":"HttpResponse","defaultValue":null}],"oldName":"RestApi/GET"},{"name":"RestApi/Download","initCode":"functions://default/RestApi/Download","initParameters":[{"name":"Uri","type":"Uri","required":true,"nullable":false,"oldName":"Uri","oldType":"Uri","defaultValue":"http://servername:port/resource"},{"name":"Login","type":"string","required":false,"nullable":false,"oldName":"Login","oldType":"string","defaultValue":""},{"name":"Password","type":"string","required":false,"nullable":false,"oldName":"Password","oldType":"string","defaultValue":""},{"name":"Headers","type":"StringDictionary","required":false,"nullable":false,"oldName":"Headers","oldType":"StringDictionary","defaultValue":"{ \"Content-Type\": \"application/json\" }"},{"name":"file","type":"LocalFile","required":false,"nullable":false,"oldName":"file","oldType":"LocalFile","defaultValue":"utf-8"},{"name":"Timeout","type":"int","required":false,"nullable":false,"oldName":"Timeout","oldType":"int","defaultValue":"100000"},{"name":"Result","type":"LocalFile","required":false,"nullable":false,"oldName":"Result","oldType":"LocalFile","defaultValue":null}],"oldName":"RestApi/Download"},{"name":"JsonPath","initCode":"functions://default//JsonPath","initParameters":[{"name":"Response","type":"HttpResponse","required":true,"nullable":false,"oldName":"Response","oldType":"HttpResponse","defaultValue":null},{"name":"Path","type":"string","required":false,"nullable":false,"oldName":"Path","oldType":"string","defaultValue":"$"},{"name":"Result","type":"Json","required":false,"nullable":false,"oldName":"Result","oldType":"Json","defaultValue":null}],"oldName":"JsonPath"},{"name":"SaveVariable","initCode":"functions://default//SaveVariable","initParameters":[{"name":"VariableName","type":"string","required":true,"nullable":false,"oldName":"VariableName","oldType":"string","defaultValue":"varName"},{"name":"Data","type":"object","required":true,"nullable":false,"oldName":"Data","oldType":"object","defaultValue":"#previous"}],"oldName":"SaveVariable"},{"name":"SQL/Oracle/Query","initCode":"functions://default//SQL/Oracle/Query","initParameters":[{"name":"userID","type":"string","required":true,"nullable":false,"oldName":"userID","oldType":"string","defaultValue":null},{"name":"password","type":"string","required":false,"nullable":false,"oldName":"password","oldType":"string","defaultValue":null},{"name":"dataSource","type":"string","required":false,"nullable":false,"oldName":"dataSource","oldType":"string","defaultValue":null},{"name":"query","type":"string","required":false,"nullable":false,"oldName":"query","oldType":"string","defaultValue":null},{"name":"Result","type":"Collection","required":false,"nullable":false,"oldName":"Result","oldType":"Collection","defaultValue":null}],"oldName":"SQL/Oracle/Query"},{"name":"SQL/Oracle/Command","initCode":"functions://default//SQL/Oracle/Command","initParameters":[{"name":"userID","type":"string","required":true,"nullable":false,"oldName":"userID","oldType":"string","defaultValue":null},{"name":"password","type":"string","required":false,"nullable":false,"oldName":"password","oldType":"string","defaultValue":null},{"name":"dataSource","type":"string","required":false,"nullable":false,"oldName":"dataSource","oldType":"string","defaultValue":null},{"name":"command","type":"string","required":false,"nullable":false,"oldName":"command","oldType":"string","defaultValue":null},{"name":"Result","type":"int","required":false,"nullable":false,"oldName":"Result","oldType":"int","defaultValue":null}],"oldName":"SQL/Oracle/Command"},{"name":"AI/Completions","initCode":"functions://default//AI/Completions","initParameters":[{"name":"Model","type":"string","required":true,"nullable":false,"oldName":"Model","oldType":"string","defaultValue":"meta-llama/Llama-3.1-8B-Instruct"},{"name":"Messages","type":"ChatCompletionsRequestMessageViewModel[]","required":true,"nullable":false,"oldName":"Messages","oldType":"ChatCompletionsRequestMessageViewModel[]","defaultValue":null},{"name":"Result","type":"string[]","required":false,"nullable":false,"oldName":"Result","oldType":"string[]","defaultValue":null}],"oldName":"AI/Completions"},{"name":"AI/ExecuteReader","initCode":"functions://default//AI/ExecuteReader","initParameters":[{"name":"vectorExecuteRequest","type":"string","required":true,"nullable":false,"oldName":"vectorExecuteRequest","oldType":"string","defaultValue":null},{"name":"Result","type":"string","required":false,"nullable":false,"oldName":"Result","oldType":"string","defaultValue":null}],"oldName":"AI/ExecuteReader"},{"name":"AI/ExecuteNonQuery","initCode":"functions://default//AI/ExecuteNonQuery","initParameters":[{"name":"vectorExecuteRequest","type":"string","required":true,"nullable":false,"oldName":"vectorExecuteRequest","oldType":"string","defaultValue":null},{"name":"Result","type":"string","required":false,"nullable":false,"oldName":"Result","oldType":"string","defaultValue":null}],"oldName":"AI/ExecuteNonQuery"},{"name":"IO/Local/File","initCode":"functions://default//IO/Local/File","initParameters":[{"name":"storeType","type":"string","required":true,"nullable":false,"oldName":"storeType","oldType":"string","defaultValue":null},{"name":"fileName","type":"string","required":true,"nullable":false,"oldName":"fileName","oldType":"string","defaultValue":null},{"name":"fileContent","type":"string","required":true,"nullable":false,"oldName":"fileContent","oldType":"string","defaultValue":null}],"oldName":"IO/Local/File"},{"name":"SQL/MSSQL/Command","initCode":"functions://default//SQL/MSSQL/Command","initParameters":[{"name":"connectionString","type":"string","required":true,"nullable":false,"oldName":"connectionString","oldType":"string","defaultValue":null},{"name":"command","type":"string","required":false,"nullable":false,"oldName":"command","oldType":"string","defaultValue":null},{"name":"Result","type":"Collection","required":false,"nullable":false,"oldName":"Result","oldType":"Collection","defaultValue":null}],"oldName":"SQL/MSSQL/Command"}] - [] - [{"name":"config","type":"ExternalConfig","initialValue":""},{"name":"dataFile","type":"LocalFile","initialValue":"file://documents/tenant/page.dat"},{"name":"dataFileName","type":"string","initialValue":"page.dat"},{"name":"PageSize","type":"int","initialValue":"5"},{"name":"SBuffer","type":"SortStringBuffer","initialValue":""},{"name":"sign1","type":"bool","initialValue":"false"}] - {"Name":"Hello world!","id":100} - - - - Flow_1ggxc8j - - DataObjectReference_0eqkq7z - - - - - - - - - 10 - - Flow_1m73j3r - Flow_0y201wn - - - Flow_1kv5sri - - DataObjectReference_1y3l3pb - - - - - {"actionType":"Action","action":"GetLinks","actionParam":{"pageInfo":"Input"},"libName":"","libEntity":"","libMethod":""} - - Flow_1kv5sri - Flow_1pefznh - - - p_ucp_get_TreeNodes_Grid - Property_0bhl61z - - - - - - Flow_17nr1wc - - - DataObjectReference_1y5e7v6 - Property_1s0cobe - - - - - - - - Flow_1pefznh - Flow_17nr1wc - - - Flow_1s2hv94 - - DataObjectReference_1atspsm - - - - - {"actionType":"Function","action":"RestApi/Download","actionParam":{"Uri":"{Input.Url}","Login":"null","Password":"null","Headers":"{\r\n \"Content-Type\":\"application/json;charset=utf-16\",\r\n \"system\":\"204\",\r\n \"global_unique_id\":\"6a297fcb-956e-4228-8c11-017e9bacd629\"\r\n }","file":"","Timeout":"0"},"libName":"","libEntity":"","libMethod":""} - - Flow_1s2hv94 - Flow_0i6p5s0 - - - DownloadedFile - Property_0l79pss - - - - Flow_1oliemo - - - DataObjectReference_0zj8a1f - Property_1ggx1av - - - - - - - {"type":"File","connection":"file://documents/tenant","object":"Input.FileName","parameters":[]} - - - - - - - - - {"actionType":"Expression","action":" var localFile = #Previous;\n var rLink = localFile.CreateLink();\n var result = new FileLinkInfo()\n {\n FileName = Input.FileName,\n Url = rLink\n };\n return result;"} - - Flow_0i6p5s0 - Flow_1oliemo - - - - - - - - {"actionType":"Action","action":"GetPageInfos","actionParam":{"pageSize":"Parameters.PageSize"},"libName":"","libEntity":"","libMethod":""} - - Flow_1jfn2kx - Flow_1m73j3r - - - p_ucp_get_TreeNodes_Grid - Property_1rb8t0i - - - - - - - {"actionType":"Expression","action":"var linksList = #Previous;\r\nvar sb = new StringBuilder();\r\n\r\nsb.AppendLine(\r\n \"<p style='font-family:Arial,sans-serif;font-size:14px;line-height:1.5;'>\" +\r\n \"Це автоматичне повідомлення. Нижче наведено перелік білінгових рахунків на оплату \" +\r\n \"із зазначенням ідентифікатора <strong>Service Line</strong>, які були згенеровані \" +\r\n \"системою WideCoup BSS для послуги доступу до двостороннього супутникового \" +\r\n \"Інтернету Starlink.\" +\r\n \"</p>\"\r\n);\r\n\r\nsb.AppendLine(\r\n \"<table style='border-collapse:collapse;width:100%;font-family:Arial,sans-serif;font-size:14px;'>\"\r\n);\r\n\r\nsb.AppendLine(\r\n \"<thead>\" +\r\n \"<tr>\" +\r\n \"<th style='border:1px solid #d9d9d9;padding:10px;text-align:left;background-color:#f2f2f2;'>\" +\r\n \"Service Line\" +\r\n \"</th>\" +\r\n \"</tr>\" +\r\n \"</thead>\"\r\n);\r\n\r\nsb.AppendLine(\"<tbody>\");\r\n\r\nforeach (var links in linksList)\r\n{\r\n foreach (var lnk in links)\r\n {\r\n sb.AppendLine(\r\n \"<tr>\" +\r\n \"<td style='border:1px solid #d9d9d9;padding:10px;'>\" +\r\n $\"<a href='{lnk.Url}' target='_blank'>{lnk.FileName}</a>\" +\r\n \"</td>\" +\r\n \"</tr>\"\r\n );\r\n }\r\n}\r\n\r\nsb.AppendLine(\"</tbody>\");\r\nsb.AppendLine(\"</table>\");\r\n\r\nsb.AppendLine(\r\n \"<p style='font-family:Arial,sans-serif;font-size:12px;color:#777777;margin-top:16px;'>\" +\r\n \"Повідомлення сформовано автоматично. Будь ласка, не відповідайте на нього.\" +\r\n \"</p>\"\r\n);\r\n\r\nreturn sb.ToString();"} - - Flow_1tu67dt - Flow_083g3kv - - - - - - {"tsk_ProcessName":"SMTP","data":{"to":"{Root.Parameters.config.to_email}","from":"","message":"Files for download : {#Previous}"},"lang":"en"} - - Flow_083g3kv - Flow_0bv1llb - - - - - {"tsk_ProcessName":"SMTP","data":{"to":"user@example.com","from":"noreply@example.com","message":"File for download #Previous"},"lang":"en"} - - Flow_0bv1llb - - - DataObjectReference_1a2hfh4 - Property_1lkfb20 - - - - - Flow_0y201wn - Flow_1tu67dt - - - - - {"type":"MSSQL.Procedure","connection":"{Root.Parameters.config.db_connection_str}","object":"p_ucp_get_TreeNodes_Grid","parameters":[{"name":"Ntw_ID","dbType":"Int64","direction":"Input","size":null},{"name":"mode","dbType":"Int64","direction":"Input","size":null},{"name":"PageNumber","dbType":"Int64","direction":"Input","size":null},{"name":"PageSize","dbType":"Int64","direction":"Input","size":null}]} - - - - Flow_1kau3uq - - - - Flow_1kau3uq - - - - - - {"libName":"MyDrafts","libId":"12","libType":"personal","flowName":"test-config","flowId":"1726","version":"#latest","packSize":0} - activities://bpmn-mnemo/personal/MyDrafts/test-config/#latest - - Flow_1ggxc8j - Flow_0lq6jod - - - - {"actionType":"Expression","action":"ExternalConfig cfg = ((JSON)#Previous).Cast<ExternalConfig>();\nParameters.config = cfg;\nLogger.LogInformation($\"connection str - '{Parameters.config.db_connection_str}'\");\nLogger.LogInformation($\"root connection str - '{Root?.Parameters?.config?.db_connection_str}'\");\nreturn cfg;"} - - Flow_0lq6jod - Flow_1jfn2kx - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/flow-patterns/04-pagination/sync-folder-paged.bpmn b/flow-patterns/04-pagination/sync-folder-paged.bpmn deleted file mode 100644 index de6bdaa..0000000 --- a/flow-patterns/04-pagination/sync-folder-paged.bpmn +++ /dev/null @@ -1,720 +0,0 @@ - - - - ["Action","Function"] - [{"name":"HttpConfig","definition":"{\r\n \"$schema\":\"http://natec.tech/simpleschema\",\r\n \"$ref\":\"#/definitions/HttpConfig\",\r\n \"definitions\":{\r\n \"HttpConfig\":{\r\n \"type\":\"object\",\r\n \"properties\":{\r\n \"host\":{\r\n \"type\":\"string\"\r\n },\r\n \"port\":{\r\n \"type\":\"string\"\r\n },\r\n \"login\":{\r\n \"type\":\"string\"\r\n },\r\n \"password\":{\r\n \"type\":\"string\"\r\n },\r\n \"encoding\":{\r\n \"type\":\"string\"\r\n },\r\n \"headers\":{\r\n \"type\":\"StringDictionary<string, string>\"\r\n }\r\n },\r\n \"required\": [\"host\", \"encoding\", \"headers\"],\r\n \"title\":\"HttpConfig\"\r\n }\r\n }\r\n}"},{"name":"OracleConfig","definition":"{\r\n \"$schema\":\"http://natec.tech/simpleschema\",\r\n \"$ref\":\"#/definitions/OracleConfig\",\r\n \"definitions\":{\r\n \"OracleConfig\":{\r\n \"type\":\"object\",\r\n \"properties\":{\r\n \"userId\":{\r\n \"type\":\"string\"\r\n },\r\n \"password\":{\r\n \"type\":\"string\"\r\n },\r\n \"dataSource\":{\r\n \"type\":\"string\"\r\n }\r\n },\r\n \"required\": [\"userId\", \"password\", \"dataSource\"],\r\n \"title\":\"OracleConfig\"\r\n }\r\n }\r\n}","dataObjectRefName":""},{"name":"ErrorResponse","definition":"{\r\n \"$schema\": \"http://json-schema.org/draft-06/schema#\",\r\n \"$ref\": \"#/definitions/ErrorResponse\",\r\n \"definitions\": {\r\n \"ErrorResponse\": {\r\n \"type\": \"object\",\r\n \"additionalProperties\": true,\r\n \"properties\": {\r\n \"LevelMessage\": {\r\n \"title\": \"The Error level\",\r\n \"type\": \"string\"\r\n },\r\n \"statusCode\": {\r\n \"title\": \"The Error Status Code\",\r\n \"type\": \"integer\"\r\n },\r\n \"ErrNumber\": {\r\n \"title\": \"The Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Message\": {\r\n \"title\": \"The Error Message\",\r\n \"type\": \"string\"\r\n },\r\n \"State\": {\r\n \"title\": \"The Error State\",\r\n \"type\": \"string\"\r\n },\r\n \"HelpLink\": {\r\n \"title\": \"The Help Link\",\r\n \"type\": \"string\"\r\n },\r\n \"errNumberReason\": {\r\n \"title\": \"The initial Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Data\": {\r\n \"title\": \"The Error Data\",\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"LevelMessage\": {\r\n \"title\": \"The Error level\",\r\n \"type\": \"string\"\r\n },\r\n \"statusCode\": {\r\n \"title\": \"The Error Status Code\",\r\n \"type\": \"integer\"\r\n },\r\n \"ErrNumber\": {\r\n \"title\": \"The Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Message\": {\r\n \"title\": \"The Error Message\",\r\n \"type\": \"string\"\r\n },\r\n \"State\": {\r\n \"title\": \"The Error State\",\r\n \"type\": \"string\"\r\n },\r\n \"HelpLink\": {\r\n \"title\": \"The Help Link\",\r\n \"type\": \"string\"\r\n },\r\n \"errNumberReason\": {\r\n \"title\": \"The initial Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Data\": {\r\n \"title\": \"The Data Schema\",\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"LevelMessage\": {\r\n \"title\": \"The Error level\",\r\n \"type\": \"string\"\r\n },\r\n \"statusCode\": {\r\n \"title\": \"The Error Status Code\",\r\n \"type\": \"integer\"\r\n },\r\n \"ErrNumber\": {\r\n \"title\": \"The Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Message\": {\r\n \"title\": \"The Error Message\",\r\n \"type\": \"string\"\r\n },\r\n \"State\": {\r\n \"title\": \"The Error State\",\r\n \"type\": \"string\"\r\n },\r\n \"HelpLink\": {\r\n \"title\": \"The Help Link\",\r\n \"type\": \"string\"\r\n },\r\n \"errNumberReason\": {\r\n \"title\": \"The initial Error Number\",\r\n \"type\": \"string\"\r\n }\r\n }\r\n },\r\n \"ResolveUrl\": {\r\n \"title\": \"The Resolve Url Link\",\r\n \"type\": \"string\"\r\n }\r\n }\r\n },\r\n \"ResolveUrl\": {\r\n \"title\": \"The Resolve Url Link\",\r\n \"type\": \"string\"\r\n },\r\n \"extraData\": {\r\n \"title\": \"The Error Extra Data \",\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"operationDuration\": {\r\n \"title\": \"The Operation Duration\",\r\n \"type\": \"integer\"\r\n }\r\n }\r\n }\r\n },\r\n \"title\": \"ErrorResponse\"\r\n }\r\n }\r\n}"},{"name":"SystemException","definition":"{\r\n \"$schema\":\"http://natec.tech/simpleschema\",\r\n \"$ref\":\"#/definitions/SystemException\",\r\n \"definitions\":{\r\n \"SystemException\":{\r\n \"type\":\"object\",\r\n \"properties\":{\r\n \"Exception\":{\r\n \"type\":\"types://core/System.Exception\"\r\n },\r\n \"info\":{\r\n \"type\":\"string\"\r\n }\r\n },\r\n \"title\":\"SystemException\"\r\n }\r\n }\r\n}"},{"name":"SharePointSource","definition":"{\r\n \"$schema\":\"http://json-schema.org/draft-06/schema#\",\r\n \"$ref\":\"#/definitions/SharePointSource\",\r\n \"definitions\":{\r\n \"SharePointSource\":{\r\n \"type\":\"object\",\r\n \"additionalProperties\":false,\r\n \"properties\":{\r\n \"username\":{\r\n \"type\":\"string\"\r\n },\r\n \"password\":{\r\n \"type\":\"string\"\r\n },\r\n \"accountname\":{\r\n \"type\":\"string\"\r\n },\r\n \"sql\":{\r\n \"type\":\"string\"\r\n },\r\n \"folders\":{\r\n \"type\":\"array\",\r\n \"items\":{\r\n \"type\":\"string\"\r\n }\r\n }\r\n },\r\n \"title\":\"SharePointSource\"\r\n }\r\n }\r\n}","dataObjectRefName":"SharePointSource"},{"name":"SharePointTarget","definition":"{\r\n \"$schema\":\"http://json-schema.org/draft-06/schema#\",\r\n \"$ref\":\"#/definitions/SharePointTarget\",\r\n \"definitions\":{\r\n \"SharePointTarget\":{\r\n \"type\":\"object\",\r\n \"additionalProperties\":false,\r\n \"properties\":{\r\n \"username\":{\r\n \"type\":\"string\"\r\n },\r\n \"password\":{\r\n \"type\":\"string\"\r\n },\r\n \"accountname\":{\r\n \"type\":\"string\"\r\n },\r\n \"sql\":{\r\n \"type\":\"string\"\r\n },\r\n \"folders\":{\r\n \"type\":\"array\",\r\n \"items\":{\r\n \"type\":\"string\"\r\n }\r\n }\r\n },\r\n \"title\":\"SharePointTarget\"\r\n }\r\n }\r\n}","dataObjectRefName":"SharePointTarget"}] - [] - [{"name":"InspectOracleResult","initCode":"string[] InspectOracleResult (\n\t\tCollection oracleData\n\t) \n {\n //get single value\n //Logger.LogInformation($\"get single value of FIELD_NAME1 by index: syntax oracleData[index].FIELD_NAME1\");\n var field_first = oracleData[0].FIELD_NAME1;\n\n //enumeration of FIELD_NAME1 (with LINQ)\n var field_rows = from row in oracleData\n select row.FIELD_NAME1;\n //passing by enumeration\n Logger.LogInformation($\"passing by enumeration field_rows of var1: syntax FIELD_NAME1:var1\");\n foreach (var field1 in field_rows)\n Logger.LogInformation($\"FIELD_NAME1:{field1}\");\n\n //get array of msisdn from enumeration\n Logger.LogInformation($\"get array from enumeration: syntax field_rows.ToArray()\");\n var myArray = field_rows.ToArray();\n //get first value from array\n var field_from_Array = myArray[0];\n\n //passing by enumeration of whole dataset\n Logger.LogInformation($\"passing by enumeration of whole dataset: syntax FIELD_NAME1:row.FIELD_NAME1, FIELD_NAME2:row.FIELD_NAME2 etc...\");\n foreach (var row in oracleData)\n Logger.LogInformation($\"FIELD_NAME1:{row.FIELD_NAME1}\");\n\n //convert whole dataset to string \n var field_list = from row in oracleData\n select row.FIELD_NAME1 as string;\n //convert string to string array \n return field_list.ToList();\n\n }","initParameters":[{"name":"Result","type":"string[]"},{"name":"oracleData","type":"Collection","required":true}]},{"name":"HandleException","initCode":"ErrorResponse HandleException (\n\t\tPassingResult prevData\n\t) \n {\n try\n {\n //investigate the Exception \n Logger.LogInformation($\"Exception name : {prevData.Exception.GetType().Name}\");\n \n //casting to exception example\n OracleException exception = null;\n if (prevData.Exception is OracleException)\n {\n exception = prevData.Exception as OracleException;\n }\n \n //forming the HTTP error result\n if (WorkflowEnvironment.RuntimeName == \"UCP\")\n WorkflowEnvironment.Variables[\"StatusCode\"] = 500;\n return new ErrorResponse()\n {\n Message = exception.Message,\n LevelMessage = \"11\",\n statusCode = 500,\n State = \"1\",\n ErrNumber = exception.Number.ToString()\n }; \n }\n catch (Exception e) {\n Logger.LogError($\"HandleException:: error {e}\");\n throw new Exception($\"HandleException:: error {e}\");\n }\n }","initParameters":[{"name":"Result","type":"ErrorResponse"},{"name":"prevData","type":"PassingResult","required":true}]},{"name":"returnErrorAsString","initCode":"string returnErrorAsString (\n\t) \n {\n string response = \"ERROR\";\n //if (Global.Response.IsSuccess == false)\n // return Global.checkConnectionResponse.ErrorMessage.ToString();\n\n //else\n return response;\n }","initParameters":[{"name":"Result","type":"string"}]},{"name":"setSourceParam","initCode":"SharePointSource setSourceParam (\n\t) \n {\n // TODO Insert your code here\n return Parameters.Source;\n }","initParameters":[{"name":"Result","type":"SharePointSource"}]},{"name":"setTargetParam","initCode":"SharePointTarget setTargetParam (\n\t) \n {\n // TODO Insert your code here\n return Parameters.Target;\n }","initParameters":[{"name":"Result","type":"SharePointTarget"}]},{"name":"findDelta","initCode":"string[] findDelta (\n\t\tSharePointSource source,\n\t\tSharePointTarget target\n\t) \n {\n var result = source.folders?.Except(target?.folders)?.ToList();\n Global.delta = result;\n return result;\n }","initParameters":[{"name":"Result","type":"string[]"},{"name":"source","type":"SharePointSource","required":true,"defaultValue":""},{"name":"target","type":"SharePointTarget","required":true}]},{"name":"returnInputString","initCode":"string returnInputString (\n\t\tstring inputString\n\t) \n {\n // TODO Insert your code here\n return inputString;\n }","initParameters":[{"name":"Result","type":"string"},{"name":"inputString","type":"string","required":true}]},{"name":"saveSqlAndSourceFolders","initCode":"SharePointSource saveSqlAndSourceFolders (\n\t\tJson src\n\t) \n {\n var result = src.Cast<SharePointSource>();\n Global.source = result;\n return result;\n }","initParameters":[{"name":"Result","type":"SharePointSource"},{"name":"src","type":"Json","required":false}]},{"name":"saveSqlAndTargetFolders","initCode":"SharePointTarget saveSqlAndTargetFolders (\n\t\tJson target\n\t) \n {\n var result = target.Cast<SharePointTarget>();\n Global.target = result;\n return result;\n }","initParameters":[{"name":"Result","type":"SharePointTarget"},{"name":"target","type":"Json","required":false}]},{"name":"returnEmptyAsString","initCode":"string returnEmptyAsString (\n\t) \n {\n // TODO Insert your code here\n string response = \"EMPTY\";\n //if (Global.Response.IsSuccess == false)\n // return Global.checkConnectionResponse.ErrorMessage.ToString();\n\n //else\n return response;\n }","initParameters":[{"name":"Result","type":"string"}]}] - [] - [{"name":"RestApi","initCode":"functions://default/RestApi","initParameters":[{"name":"Uri","type":"Uri","required":true,"oldName":"Uri","defaultValue":"http://servername:port/resource"},{"name":"Method","type":"String","required":true,"oldName":"Method","defaultValue":"GET"},{"name":"Login","type":"String","required":false,"oldName":"Login","defaultValue":null},{"name":"Password","type":"String","required":false,"oldName":"Password","defaultValue":null},{"name":"Headers","type":"StringDictionary","required":false,"oldName":"Headers","defaultValue":"{\r\n \"Content-Type\":\"application/json;charset=utf-16\",\r\n \"system\":\"204\",\r\n \"global_unique_id\":\"6a297fcb-956e-4228-8c11-017e9bacd629\"\r\n }"},{"name":"Body","type":"String","required":false,"oldName":"Body","defaultValue":"{}"},{"name":"Encoding","type":"String","required":false,"oldName":"Encoding","defaultValue":"utf-8"},{"name":"Timeout","type":"int","required":false,"nullable":false},{"name":"Result","type":"HttpResponse","required":false,"oldName":"Result","defaultValue":null}],"oldName":"RestApi"},{"name":"RestApi/GET","initCode":"functions://default/RestApi/Get","initParameters":[{"name":"Uri","type":"Uri","required":true,"oldName":"Uri","defaultValue":"http://servername:port/resource"},{"name":"Login","type":"String","required":false,"oldName":"Login","defaultValue":null},{"name":"Password","type":"String","required":false,"oldName":"Password","defaultValue":null},{"name":"Headers","type":"StringDictionary","required":false,"oldName":"Headers","defaultValue":"{\r\n \"Content-Type\":\"application/json;charset=utf-16\",\r\n \"system\":\"204\",\r\n \"global_unique_id\":\"6a297fcb-956e-4228-8c11-017e9bacd629\"\r\n }"},{"name":"Encoding","type":"String","required":false,"oldName":"Encoding","defaultValue":"utf-8"},{"name":"Timeout","type":"int","required":false,"nullable":false},{"name":"Result","type":"HttpResponse","required":false,"oldName":"Result","defaultValue":null}],"oldName":"RestApi/GET"},{"name":"JsonPath","initCode":"functions://default//JsonPath","initParameters":[{"name":"Response","type":"HttpResponse","required":true,"oldName":"Response","defaultValue":null},{"name":"Path","type":"String","required":false,"oldName":"Path","defaultValue":"$"},{"name":"Result","type":"Json","required":false,"oldName":"Result","defaultValue":null}],"oldName":"JsonPath"},{"name":"SaveVariable","initCode":"functions://default//SaveVariable","initParameters":[{"name":"VariableName","type":"string","required":true,"oldName":"VariableName","defaultValue":"varName"},{"name":"Data","type":"object","required":true,"oldName":"Data","defaultValue":"#previous"}],"oldName":"SaveVariable"},{"name":"SQL/Oracle/Query","initCode":"functions://default//SQL/Oracle/Query","initParameters":[{"name":"userID","type":"String","required":true,"oldName":"userID","defaultValue":null},{"name":"password","type":"String","required":false,"oldName":"password","defaultValue":null},{"name":"dataSource","type":"String","required":false,"oldName":"dataSource","defaultValue":null},{"name":"query","type":"String","required":false,"oldName":"query","defaultValue":null},{"name":"Result","type":"Collection","required":false,"oldName":"Result","defaultValue":null}],"oldName":"SQL/Oracle/Query"},{"name":"SQL/Oracle/Command","initCode":"functions://default//SQL/Oracle/Command","initParameters":[{"name":"userID","type":"String","required":true,"oldName":"userID","defaultValue":null},{"name":"password","type":"String","required":false,"oldName":"password","defaultValue":null},{"name":"dataSource","type":"String","required":false,"oldName":"dataSource","defaultValue":null},{"name":"command","type":"String","required":false,"oldName":"command","defaultValue":null},{"name":"Result","type":"int","required":false,"oldName":"Result","defaultValue":null}],"oldName":"SQL/Oracle/Command"}] - [] - [{"name":"oracleConfig","type":"OracleConfig","initialValue":"{\r\n \"userId\":\"dbuser\",\r\n \"password\":\"\",\r\n \"dataSource\":\"dbhost:1521/servicename\"\r\n}\r\n"},{"name":"httpConfig","type":"HttpConfig","initialValue":"{\r\n \"host\":\"http://servername\",\r\n \"port\":\"4433\",\r\n \"login\":null,\r\n \"password\":null,\r\n \"encoding\":\"utf-8\",\r\n \"headers\":{\r\n \"Content-Type\":\"application/json\",\r\n \"Accept\":\"application/json\"\r\n }\r\n}\r\n"},{"name":"Source","type":"SharePointSource","initialValue":"{\r\n\t\"username\":\"login\",\r\n\t\"password\":\"\",\r\n\t\"accountname\":\"SharePoint_Source[serviceaccount]\",\r\n\t\"sql\":\"\",\r\n\t\"folders\":[\r\n \"\"\r\n ]\r\n}"},{"name":"Target","type":"SharePointTarget","initialValue":"{\r\n\t\"username\":\"login\",\r\n\t\"password\":\"\",\r\n\t\"accountname\":\"SharePoint_Target[login]\",\r\n\t\"sql\":\"\",\r\n\t\"folders\":[\r\n \"\"\r\n ]\r\n}"},{"name":"DeltaArray","type":"string[]","initialValue":""}] - {} - - - - Flow_0tngmlw - - - Flow_0mano1i - Flow_1kr770k - Flow_1hc92vf - Flow_11a6qyy - - - DataObjectReference_1a2hfh4 - Property_1rqqtzp - - - - - {"actionType":"Action","action":"HandleException","actionParam":{"prevData":"#PreviousData"}} - - Flow_0zffgnd - Flow_0sonrxh - Flow_1kt39ic - Flow_1p9hqet - Flow_0rkvb0u - Flow_0mano1i - - - - - - Flow_0jpaxi7 - Flow_1aexgsp - Flow_0dgzn36 - - - ("ERROR" == ((SharePointSource)Global.source)?.folders?.FirstOrDefault()) - - - - {"libName":"bpmn-examples","libId":"14","libType":"tenant","flowName":"sharepoint-get-folders","flowId":"669","version":"#latest","packSize":1} - activities://bpmn-mnemo/tenant/bpmn-examples/sharepoint-get-folders/#latest - - Flow_067mt1k - Flow_06qqll6 - - - - - Target https://m365x88261935.sharepoint.com/sites/Retail - - {"libName":"bpmn-examples","libId":"14","libType":"tenant","flowName":"sharepoint-get-folders","flowId":"669","version":"#latest","packSize":1} - activities://bpmn-mnemo/tenant/bpmn-examples/sharepoint-get-folders/#latest - - Flow_0einco7 - Flow_089sxm6 - - - - - Flow_0rgxvnm - Flow_0x9jwe8 - Flow_0sgikpt - - - ("ERROR" == ((SharePointTarget)Global.target)?.folders?.FirstOrDefault()) - - - - {"actionType":"Action","action":"findDelta","actionParam":{"source":"Global.source","target":"Global.target"},"libName":"","libEntity":"","libMethod":""} - - Flow_0sgikpt - Flow_0x3bmou - - - - Flow_0x3bmou - Flow_036312f - Flow_0t93cxu - - - (Global.delta == null) || (Global.delta.Count == 0) - - - - - 2 - - Flow_0t93cxu - Flow_1hc92vf - - - DataObjectReference_1124epn - Property_085onmr - - - - Flow_1yxh46a - - DataObjectReference_1fphxn0 - - - - - {"actionType":"Function","action":"RestApi","actionParam":{"Uri":"{Parameters.httpConfig.host}:{Parameters.httpConfig.port}/WsDriver/rest/IsConnectionAlive?format=json","Method":"POST","Login":"$\"{Parameters.httpConfig.login}\"","Password":"$\"{Parameters.httpConfig.password}\"","Headers":"Parameters.httpConfig.headers","Body":{"connection":{"sql":"{{Global.target.sql}}"}},"Encoding":"utf-8"},"libName":"","libEntity":"","libMethod":""} - - Flow_1yxh46a - Flow_0ru3szg - - - - - Flow_0eefmr7 - Flow_1nk0ilf - Flow_0hwlobd - - - - {"actionType":"Function","action":"RestApi","actionParam":{"Uri":"{Parameters.httpConfig.host}:{Parameters.httpConfig.port}/WsDriver/rest/Execute?format=json","Method":"POST","Login":"$\"{Parameters.httpConfig.login}\"","Password":"$\"{Parameters.httpConfig.password}\"","Headers":"Parameters.httpConfig.headers","Body":"{\n \"connection\": \n {\n \"sql\": \"{{Global.target.sql}}\"\n },\n \"command\":{ \n \"SqlStatement\": \"EXEC [dbo].[SP_ENSURE_FOLDER_PATH] @tableName, @folderPath\",\n \"Parameters\":[\n \"Documents\", \n \"{{Input}}\"\n ]\n }\n}","Encoding":"utf-8"},"libName":"","libEntity":"","libMethod":""} - - Flow_1nk0ilf - Flow_03vkj9z - - - - - {"actionType":"Function","action":"JsonPath","actionParam":{"Response":"#Previous","Path":"\"$.IsSuccess\""},"libName":"","libEntity":"","libMethod":""} - - Flow_03vkj9z - Flow_04u1kfp - - - - Flow_04u1kfp - Flow_0p46bix - Flow_13tmyns - - - - - {"actionType":"Action","action":"returnInputString","actionParam":{"inputString":"$\"{Input}\""},"libName":"","libEntity":"","libMethod":""} - - Flow_0p46bix - Flow_0uswcu6 - - - - Flow_0uswcu6 - Flow_0b2q041 - - - DataObjectReference_1jwkyah - Property_1ei10li - - - - - - {"actionType":"Action","action":"returnErrorAsString","actionParam":{},"libName":"","libEntity":"","libMethod":""} - - Flow_13tmyns - Flow_0hwlobd - Flow_1ga9ugl - Flow_0b2q041 - - - (#Previous != true) - - - - (#Previous != true) - - - Flow_1ga9ugl - - - - - - - - - - {"actionType":"Function","action":"JsonPath","actionParam":{"Response":"#Previous","Path":"\"$.IsSuccess\""},"libName":"","libEntity":"","libMethod":""} - - Flow_0ru3szg - Flow_0eefmr7 - - - - - - - - Flow_0zffgnd - - - - - - {"actionType":"Action","action":"setSourceParam","actionParam":{},"libName":"","libEntity":"","libMethod":""} - - Flow_0tngmlw - Flow_067mt1k - - - DataObjectReference_0iv1rkt - Property_0fjv2xf - - - - - - - {"actionType":"Action","action":"setTargetParam","actionParam":{},"libName":"","libEntity":"","libMethod":""} - - Flow_0dgzn36 - Flow_0einco7 - - - DataObjectReference_04m8j5r - Property_1kchlh6 - - - - - - - {"actionType":"Action","action":"saveSqlAndSourceFolders","actionParam":{"src":"#Previous"},"libName":"","libEntity":"","libMethod":""} - - Flow_06qqll6 - Flow_0jpaxi7 - - - DataObjectReference_0o2t8y3 - Property_0rnnnso - - - - - - Flow_0sonrxh - - - - - - {"actionType":"Action","action":"returnErrorAsString","actionParam":{},"libName":"","libEntity":"","libMethod":""} - - Flow_0x9jwe8 - Flow_1aexgsp - Flow_1kr770k - - - - - - - - Flow_1kt39ic - - - - - Flow_1p9hqet - - - - - - {"actionType":"Action","action":"saveSqlAndTargetFolders","actionParam":{"target":"#Previous"},"libName":"","libEntity":"","libMethod":""} - - Flow_089sxm6 - Flow_0rgxvnm - - - DataObjectReference_022t4ia - Property_0plqlth - - - - - - Flow_0rkvb0u - - - - - - - {"actionType":"Action","action":"returnEmptyAsString","actionParam":{},"libName":"","libEntity":"","libMethod":""} - - Flow_036312f - Flow_11a6qyy - - - - will return sql value and folder list within the input object - - - - will return sql value and folder list within the input object - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/flow-patterns/05-events-and-signals/boundary-event-fanout.bpmn b/flow-patterns/05-events-and-signals/boundary-event-fanout.bpmn deleted file mode 100644 index dd80f08..0000000 --- a/flow-patterns/05-events-and-signals/boundary-event-fanout.bpmn +++ /dev/null @@ -1,266 +0,0 @@ - - - - ["Action","Function"] - [{"name":"ErrorResponse","definition":"{\r\n \"$schema\": \"http://json-schema.org/draft-06/schema#\",\r\n \"$ref\": \"#/definitions/ErrorResponse\",\r\n \"definitions\": {\r\n \"ErrorResponse\": {\r\n \"type\": \"object\",\r\n \"additionalProperties\": true,\r\n \"properties\": {\r\n \"LevelMessage\": {\r\n \"title\": \"The Error level\",\r\n \"type\": \"string\"\r\n },\r\n \"statusCode\": {\r\n \"title\": \"The Error Status Code\",\r\n \"type\": \"integer\"\r\n },\r\n \"ErrNumber\": {\r\n \"title\": \"The Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Message\": {\r\n \"title\": \"The Error Message\",\r\n \"type\": \"string\"\r\n },\r\n \"State\": {\r\n \"title\": \"The Error State\",\r\n \"type\": \"string\"\r\n },\r\n \"HelpLink\": {\r\n \"title\": \"The Help Link\",\r\n \"type\": \"string\"\r\n },\r\n \"errNumberReason\": {\r\n \"title\": \"The initial Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Data\": {\r\n \"title\": \"The Error Data\",\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"LevelMessage\": {\r\n \"title\": \"The Error level\",\r\n \"type\": \"string\"\r\n },\r\n \"statusCode\": {\r\n \"title\": \"The Error Status Code\",\r\n \"type\": \"integer\"\r\n },\r\n \"ErrNumber\": {\r\n \"title\": \"The Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Message\": {\r\n \"title\": \"The Error Message\",\r\n \"type\": \"string\"\r\n },\r\n \"State\": {\r\n \"title\": \"The Error State\",\r\n \"type\": \"string\"\r\n },\r\n \"HelpLink\": {\r\n \"title\": \"The Help Link\",\r\n \"type\": \"string\"\r\n },\r\n \"errNumberReason\": {\r\n \"title\": \"The initial Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Data\": {\r\n \"title\": \"The Data Schema\",\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"LevelMessage\": {\r\n \"title\": \"The Error level\",\r\n \"type\": \"string\"\r\n },\r\n \"statusCode\": {\r\n \"title\": \"The Error Status Code\",\r\n \"type\": \"integer\"\r\n },\r\n \"ErrNumber\": {\r\n \"title\": \"The Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Message\": {\r\n \"title\": \"The Error Message\",\r\n \"type\": \"string\"\r\n },\r\n \"State\": {\r\n \"title\": \"The Error State\",\r\n \"type\": \"string\"\r\n },\r\n \"HelpLink\": {\r\n \"title\": \"The Help Link\",\r\n \"type\": \"string\"\r\n },\r\n \"errNumberReason\": {\r\n \"title\": \"The initial Error Number\",\r\n \"type\": \"string\"\r\n }\r\n }\r\n },\r\n \"ResolveUrl\": {\r\n \"title\": \"The Resolve Url Link\",\r\n \"type\": \"string\"\r\n }\r\n }\r\n },\r\n \"ResolveUrl\": {\r\n \"title\": \"The Resolve Url Link\",\r\n \"type\": \"string\"\r\n },\r\n \"extraData\": {\r\n \"title\": \"The Error Extra Data \",\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"operationDuration\": {\r\n \"title\": \"The Operation Duration\",\r\n \"type\": \"integer\"\r\n }\r\n }\r\n }\r\n },\r\n \"title\": \"ErrorResponse\"\r\n }\r\n }\r\n}","isNativeDefinition":false},{"name":"HttpConfig","definition":"{\r\n \"$schema\":\"http://natec.tech/simpleschema\",\r\n \"$ref\":\"#/definitions/HttpConfig\",\r\n \"definitions\":{\r\n \"HttpConfig\":{\r\n \"type\":\"object\",\r\n \"properties\":{\r\n \"host\":{\r\n \"type\":\"string\"\r\n },\r\n \"port\":{\r\n \"type\":\"string\"\r\n },\r\n \"login\":{\r\n \"type\":\"string\"\r\n },\r\n \"password\":{\r\n \"type\":\"string\"\r\n },\r\n \"encoding\":{\r\n \"type\":\"string\"\r\n },\r\n \"headers\":{\r\n \"type\":\"StringDictionary<string, string>\"\r\n }\r\n },\r\n \"required\": [\"host\", \"encoding\", \"headers\"],\r\n \"title\":\"HttpConfig\"\r\n }\r\n }\r\n}","isNativeDefinition":false},{"name":"SystemException","definition":"{\r\n \"$schema\":\"http://natec.tech/simpleschema\",\r\n \"$ref\":\"#/definitions/SystemException\",\r\n \"definitions\":{\r\n \"SystemException\":{\r\n \"type\":\"object\",\r\n \"properties\":{\r\n \"Exception\":{\r\n \"type\":\"types://core/System.Exception\"\r\n },\r\n \"info\":{\r\n \"type\":\"string\"\r\n }\r\n },\r\n \"title\":\"SystemException\"\r\n }\r\n }\r\n}","isNativeDefinition":false}] - [{"definition":"types://external/Platform/UCP.API.Application.Services.SseMessage","name":"SseMessage"}] - [{"name":"CodeActionExample","initCode":"Json CodeActionExample (\n\t\tJson inputData\n\t) \n {\n try \n { \n \n Logger.LogInformation($\"CodeActionExample:: started\");\n // TODO Insert your code here\n Logger.LogInformation($\"CodeActionExample:: finished\");\n return inputData;\n }\n catch (Exception e) {\n Logger.LogError($\"CodeActionExample:: error {e}\");\n throw new Exception($\"CodeActionExample:: error {e}\");\n }\n \n }","initParameters":[{"name":"Result","type":"Json"},{"name":"inputData","type":"Json","required":false}]},{"name":"HandleException","initCode":"ErrorResponse HandleException (\n\t\tPassingResult prevData\n\t) \n {\n try\n {\n //investigate the Exception \n Logger.LogInformation($\"Exception name : {prevData.Exception.GetType().Name}\");\n //casting to exception example\n OracleException exception = null;\n if (prevData.Exception is OracleException)\n {\n exception = prevData.Exception as OracleException;\n }\n \n //forming the HTTP error result\n if (WorkflowEnvironment.RuntimeName == \"UCP\")\n WorkflowEnvironment.Variables[\"StatusCode\"] = 500;\n return new ErrorResponse()\n {\n Message = string.Concat(prevData.Exception.Message, $\"({prevData.Exception.InnerException?.Message})\"),\n LevelMessage = \"11\",\n statusCode = 500,\n State = \"1\",\n //ErrNumber = exception.Number.ToString()\n }; \n }\n catch (Exception e) {\n Logger.LogError($\"HandleException:: error {e}\");\n throw new Exception($\"HandleException:: error {e}\");\n }\n }","initParameters":[{"name":"Result","type":"ErrorResponse"},{"name":"prevData","type":"PassingResult","required":true}]},{"name":"InspectOracleResult","initCode":"string[] InspectOracleResult (\n\t\tCollection oracleData\n\t) \n {\n //get single value\n //Logger.LogInformation($\"get single value of FIELD_NAME1 by index: syntax oracleData[index].FIELD_NAME1\");\n var field_first = oracleData[0].FIELD_NAME1;\n\n //enumeration of FIELD_NAME1 (with LINQ)\n var field_rows = from row in oracleData\n select row.FIELD_NAME1;\n //passing by enumeration\n Logger.LogInformation($\"passing by enumeration field_rows of var1: syntax FIELD_NAME1:var1\");\n foreach (var field1 in field_rows)\n Logger.LogInformation($\"FIELD_NAME1:{field1}\");\n\n //get array of msisdn from enumeration\n Logger.LogInformation($\"get array from enumeration: syntax field_rows.ToArray()\");\n var myArray = field_rows.ToArray();\n //get first value from array\n var field_from_Array = myArray[0];\n\n //passing by enumeration of whole dataset\n Logger.LogInformation($\"passing by enumeration of whole dataset: syntax FIELD_NAME1:row.FIELD_NAME1, FIELD_NAME2:row.FIELD_NAME2 etc...\");\n foreach (var row in oracleData)\n Logger.LogInformation($\"FIELD_NAME1:{row.FIELD_NAME1}\");\n\n //convert whole dataset to string \n var field_list = from row in oracleData\n select row.FIELD_NAME1 as string;\n //convert string to string array \n return field_list.ToList();\n\n }","initParameters":[{"name":"Result","type":"string[]"},{"name":"oracleData","type":"Collection","required":true}]}] - [{"name":"Platform","link":"libs://common/platform","version":"","entities":[]}] - [{"name":"RestApi","initCode":"functions://default/RestApi","initParameters":[{"name":"Uri","type":"Uri","required":true,"oldName":"Uri","oldType":"Uri","defaultValue":"http://servername:port/resource"},{"name":"Method","type":"string","required":true,"oldName":"Method","oldType":"String","defaultValue":"GET"},{"name":"Login","type":"string","required":false,"oldName":"Login","oldType":"String","defaultValue":null},{"name":"Password","type":"string","required":false,"oldName":"Password","oldType":"String","defaultValue":null},{"name":"Headers","type":"StringDictionary","required":false,"oldName":"Headers","oldType":"StringDictionary","defaultValue":"{\r\n \"Content-Type\":\"application/json;charset=utf-16\",\r\n \"system\":\"204\",\r\n \"global_unique_id\":\"6a297fcb-956e-4228-8c11-017e9bacd629\"\r\n }"},{"name":"Body","type":"string","required":false,"oldName":"Body","oldType":"String","defaultValue":"{}"},{"name":"Encoding","type":"string","required":false,"oldName":"Encoding","oldType":"String","defaultValue":"utf-8"},{"name":"Timeout","type":"int","required":false,"oldName":"Timeout","oldType":"int","defaultValue":"0"},{"name":"Result","type":"HttpResponse","required":false,"oldName":"Result","oldType":"HttpResponse","defaultValue":null}],"oldName":"RestApi"},{"name":"RestApi/GET","initCode":"functions://default/RestApi/Get","initParameters":[{"name":"Uri","type":"Uri","required":true,"oldName":"Uri","oldType":"Uri","defaultValue":"http://servername:port/resource"},{"name":"Login","type":"string","required":false,"oldName":"Login","oldType":"String","defaultValue":null},{"name":"Password","type":"string","required":false,"oldName":"Password","oldType":"String","defaultValue":null},{"name":"Headers","type":"StringDictionary","required":false,"oldName":"Headers","oldType":"StringDictionary","defaultValue":"{\r\n \"Content-Type\":\"application/json;charset=utf-16\",\r\n \"system\":\"204\",\r\n \"global_unique_id\":\"6a297fcb-956e-4228-8c11-017e9bacd629\"\r\n }"},{"name":"Encoding","type":"string","required":false,"oldName":"Encoding","oldType":"String","defaultValue":"utf-8"},{"name":"Timeout","type":"int","required":false,"oldName":"Timeout","oldType":"int","defaultValue":"0"},{"name":"Result","type":"HttpResponse","required":false,"oldName":"Result","oldType":"HttpResponse","defaultValue":null}],"oldName":"RestApi/GET"},{"name":"JsonPath","initCode":"functions://default//JsonPath","initParameters":[{"name":"Response","type":"HttpResponse","required":true,"oldName":"Response","oldType":"HttpResponse","defaultValue":null},{"name":"Path","type":"string","required":false,"oldName":"Path","oldType":"String","defaultValue":"$"},{"name":"Result","type":"Json","required":false,"oldName":"Result","oldType":"Json","defaultValue":null}],"oldName":"JsonPath"},{"name":"SaveVariable","initCode":"functions://default//SaveVariable","initParameters":[{"name":"VariableName","type":"string","required":true,"oldName":"VariableName","oldType":"string","defaultValue":"varName"},{"name":"Data","type":"object","required":true,"oldName":"Data","oldType":"object","defaultValue":"#previous"}],"oldName":"SaveVariable"},{"name":"SQL/Oracle/Query","initCode":"functions://default//SQL/Oracle/Query","initParameters":[{"name":"userID","type":"string","required":true,"oldName":"userID","oldType":"String","defaultValue":null},{"name":"password","type":"string","required":false,"oldName":"password","oldType":"String","defaultValue":null},{"name":"dataSource","type":"string","required":false,"oldName":"dataSource","oldType":"String","defaultValue":null},{"name":"query","type":"string","required":false,"oldName":"query","oldType":"String","defaultValue":null},{"name":"Result","type":"Collection","required":false,"oldName":"Result","oldType":"Collection","defaultValue":null}],"oldName":"SQL/Oracle/Query"},{"name":"SQL/Oracle/Command","initCode":"functions://default//SQL/Oracle/Command","initParameters":[{"name":"userID","type":"string","required":true,"oldName":"userID","oldType":"String","defaultValue":null},{"name":"password","type":"string","required":false,"oldName":"password","oldType":"String","defaultValue":null},{"name":"dataSource","type":"string","required":false,"oldName":"dataSource","oldType":"String","defaultValue":null},{"name":"command","type":"string","required":false,"oldName":"command","oldType":"String","defaultValue":null},{"name":"Result","type":"int","required":false,"oldName":"Result","oldType":"int","defaultValue":null}],"oldName":"SQL/Oracle/Command"}] - [] - [{"name":"alias","type":"string","initialValue":"bss"},{"name":"pluginName","type":"string","initialValue":"BSS.Entities"},{"name":"stopWord","type":"string","initialValue":"stop"},{"name":"stopWordsCount","type":"int","initialValue":"5"}] - ["test1","test2","test3","stop","stop","test5","test6","test7","stop","test8","stop","test9","test10","stop","test11","test12","stop","test13","test14","test15","test16","test17","test18"] - - - - Flow_0xuw6mo - - DataObjectReference_0eqkq7z - - - - Flow_08eqg34 - - - DataObjectReference_1a2hfh4 - Property_1rqqtzp - - - - - - - - - - {"actionType":"Expression","action":"\nforeach(var s in Input)\n{\n\tAction.BoundaryEvents[\"Event_Start_Sending\"].Raise(s);\n}\nreturn null;"} - - Flow_1k2gom5 - Flow_2 - - - - {"actionType":"Function","action":"RestApi/GET","actionParam":{"Uri":"http://servername:port/api/v0/message/sse/connect?alias={Parameters.alias}&pluginName={Parameters.pluginName}","Login":"","Password":"","Headers":"{\"Content-Type\":\"application/json\",\n\"Authorization\":\"Basic {Root.Parameters.config.basic_auth}\",\n\"Accept\":\"text/event-stream\"}","Encoding":"utf-8","Timeout":"0"},"libName":"","libEntity":"","libMethod":""} - - Flow_0xuw6mo - Flow_13y22uf - - - Flow_0fsll7q - Flow_0isdzfm - Flow_1k2gom5 - - - - Flow_1 - Flow_2 - Flow_0rt7it1 - - - - {"actionType":"Expression","action":"List<string> result = new List<string>();\nint counter = 0;\nstring data = #Previous.Reader.ReadLine();\nwhile (data != null)\n{\n\tif (!string.IsNullOrEmpty(data))\n\t{\n\t\tresult.Add(data);\n\t\tif(data.EndsWith($\"\\\"{Parameters.stopWord}\\\"\"))\n counter ++;\n\t}\n\tif(counter >= Parameters.stopWordsCount)\n\t{\n\t #Previous.Reader.Dispose();\n\t return result;\n\t}\n\t\n\tdata = #Previous.Reader.ReadLine();\n}\n#Previous.Reader.Dispose();\nresult.Add(\"null\");\nreturn result;"} - - Flow_0isdzfm - Flow_1 - - - - Flow_1drwhel - - - - - {"tsk_ProcessName":"Server-side events","data":{"alias":"bss","pluginname":"BSS.Entities"},"lang":"en"} - - Flow_1drwhel - - - - - - {"actionType":"Expression","action":"return #Previous[\"Activity_Read_Response\"];"} - - Flow_0rt7it1 - Flow_08eqg34 - - - - - Flow_13y22uf - Flow_0fsll7q - Flow_Not_200 - - - - - {"actionType":"Expression","action":"return \"not 200\";"} - - Flow_Not_200 - Flow_13s4qsf - - - - - #Previous.StatusCode != 200 - - - - Flow_13s4qsf - - - DataObjectReference_04ijmd3 - Property_0b2kzc3 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/flow-patterns/05-events-and-signals/zip-chunks.bpmn b/flow-patterns/05-events-and-signals/zip-chunks.bpmn deleted file mode 100644 index 612a310..0000000 --- a/flow-patterns/05-events-and-signals/zip-chunks.bpmn +++ /dev/null @@ -1,537 +0,0 @@ - - - - ["Action","Function"] - [{"name":"DataChunk","definition":"public class DataChunk {\n public string Content { get; set; }\n public int Index { get; set; }\n public byte[] Data { get; set; }\n}","isNativeDefinition":true},{"name":"ErrorResponse","definition":"{\r\n \"$schema\": \"http://json-schema.org/draft-06/schema#\",\r\n \"$ref\": \"#/definitions/ErrorResponse\",\r\n \"definitions\": {\r\n \"ErrorResponse\": {\r\n \"type\": \"object\",\r\n \"additionalProperties\": true,\r\n \"properties\": {\r\n \"LevelMessage\": {\r\n \"title\": \"The Error level\",\r\n \"type\": \"string\"\r\n },\r\n \"statusCode\": {\r\n \"title\": \"The Error Status Code\",\r\n \"type\": \"integer\"\r\n },\r\n \"ErrNumber\": {\r\n \"title\": \"The Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Message\": {\r\n \"title\": \"The Error Message\",\r\n \"type\": \"string\"\r\n },\r\n \"State\": {\r\n \"title\": \"The Error State\",\r\n \"type\": \"string\"\r\n },\r\n \"HelpLink\": {\r\n \"title\": \"The Help Link\",\r\n \"type\": \"string\"\r\n },\r\n \"errNumberReason\": {\r\n \"title\": \"The initial Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Data\": {\r\n \"title\": \"The Error Data\",\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"LevelMessage\": {\r\n \"title\": \"The Error level\",\r\n \"type\": \"string\"\r\n },\r\n \"statusCode\": {\r\n \"title\": \"The Error Status Code\",\r\n \"type\": \"integer\"\r\n },\r\n \"ErrNumber\": {\r\n \"title\": \"The Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Message\": {\r\n \"title\": \"The Error Message\",\r\n \"type\": \"string\"\r\n },\r\n \"State\": {\r\n \"title\": \"The Error State\",\r\n \"type\": \"string\"\r\n },\r\n \"HelpLink\": {\r\n \"title\": \"The Help Link\",\r\n \"type\": \"string\"\r\n },\r\n \"errNumberReason\": {\r\n \"title\": \"The initial Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Data\": {\r\n \"title\": \"The Data Schema\",\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"LevelMessage\": {\r\n \"title\": \"The Error level\",\r\n \"type\": \"string\"\r\n },\r\n \"statusCode\": {\r\n \"title\": \"The Error Status Code\",\r\n \"type\": \"integer\"\r\n },\r\n \"ErrNumber\": {\r\n \"title\": \"The Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Message\": {\r\n \"title\": \"The Error Message\",\r\n \"type\": \"string\"\r\n },\r\n \"State\": {\r\n \"title\": \"The Error State\",\r\n \"type\": \"string\"\r\n },\r\n \"HelpLink\": {\r\n \"title\": \"The Help Link\",\r\n \"type\": \"string\"\r\n },\r\n \"errNumberReason\": {\r\n \"title\": \"The initial Error Number\",\r\n \"type\": \"string\"\r\n }\r\n }\r\n },\r\n \"ResolveUrl\": {\r\n \"title\": \"The Resolve Url Link\",\r\n \"type\": \"string\"\r\n }\r\n }\r\n },\r\n \"ResolveUrl\": {\r\n \"title\": \"The Resolve Url Link\",\r\n \"type\": \"string\"\r\n },\r\n \"extraData\": {\r\n \"title\": \"The Error Extra Data \",\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"operationDuration\": {\r\n \"title\": \"The Operation Duration\",\r\n \"type\": \"integer\"\r\n }\r\n }\r\n }\r\n },\r\n \"title\": \"ErrorResponse\"\r\n }\r\n }\r\n}","isNativeDefinition":false},{"name":"PageInfo","definition":"public class PageInfo {\n public int StartIndex { get; set; }\n public int RowCount { get; set; }\n public int Number { get; set; }\n}","isNativeDefinition":true},{"name":"ServiceData","definition":"public class ServiceData { \n\tpublic long id {get;set;}\n\tpublic int billCycleNo {get;set;}\n\tpublic DateTime usageDate {get;set;}\n\tpublic string usageType {get;set;}\n\tpublic string status {get;set;}\n\tpublic string type {get;set;}\n\tpublic string service {get;set;}\n\tpublic string usageSpecification {get;set;}\n\tpublic string relatedParty {get;set;}\n\tpublic string usageCharacteristic {get;set;}\n\tpublic string periodCoverage {get;set;}\n\tpublic string logicalResource {get;set;}\n\tpublic int Total {get;set;}\n}","isNativeDefinition":true},{"name":"SortStringBuffer","definition":" public class SortStringBuffer\r\n {\r\n int _curChunk = 1;\r\n SortedList<int, string> _sl = new SortedList<int, string>();\r\n\r\n public void AddChunk(int index, string chunk)\r\n {\r\n _sl.Add(index, chunk);\r\n }\r\n\r\n public string ReadNextChunk(out int curChunk)\r\n {\r\n curChunk = _curChunk;\r\n if (_sl.ContainsKey(_curChunk))\r\n {\r\n var result = _sl[_curChunk];\r\n _sl.Remove(_curChunk);\r\n _curChunk++;\r\n return result;\r\n }\r\n else\r\n return default;\r\n }\r\n }","isNativeDefinition":true},{"name":"SystemException","definition":"{\r\n \"$schema\":\"http://natec.tech/simpleschema\",\r\n \"$ref\":\"#/definitions/SystemException\",\r\n \"definitions\":{\r\n \"SystemException\":{\r\n \"type\":\"object\",\r\n \"properties\":{\r\n \"Exception\":{\r\n \"type\":\"types://core/System.Exception\"\r\n },\r\n \"info\":{\r\n \"type\":\"string\"\r\n }\r\n },\r\n \"title\":\"SystemException\"\r\n }\r\n }\r\n}","isNativeDefinition":false}] - [] - [{"name":"GetPage","initCode":"ServiceData[] GetPage(PageInfo pageInfo)\n{\n DataAssociations.p_ucp_get_ServiceUsage.Parameters.PageNumber = pageInfo.StartIndex;\n DataAssociations.p_ucp_get_ServiceUsage.Parameters.PageSize = pageInfo.RowCount;\n DataAssociations.p_ucp_get_ServiceUsage.Parameters.Lang = \"uk\";\n DataAssociations.p_ucp_get_ServiceUsage.Parameters.ErrFormat = \"json\";\n DataAssociations.p_ucp_get_ServiceUsage.Parameters.SortColumn = \"id\";\n DataAssociations.p_ucp_get_ServiceUsage.Parameters.SortDirection = \"ASC\";\n DataAssociations.p_ucp_get_ServiceUsage.Parameters.x_ms_client_request_id = Guid.NewGuid().ToString();\n DataAssociations.p_ucp_get_ServiceUsage.Parameters.periodCoverage = @\"{\n \"\"startDateTime\"\": \"\"2025-05-26T00:00:00.999\"\",\n \"\"endDateTime\"\": \"\"2025-06-25T23:59:59.999\"\"\n}\";\n DataAssociations.p_ucp_get_ServiceUsage.Parameters.externalId = @\"[\n{\n \"\"@type\"\": \"\"externalId\"\",\n \"\"externalIdentifierType\"\": \"\"Extentions\"\",\n \"\"id\"\": \"\"301710143\"\"\n}\n]\";\n var qryResult = DataAssociations.p_ucp_get_ServiceUsage.Query(); \n return new List<ServiceData>();\n}","initParameters":[{"name":"pageInfo","type":"PageInfo"},{"name":"Result","type":"ServiceData[]"}]},{"name":"GetPageInfos","initCode":"PageInfo[] GetPageInfos(int pageSize)\n{\n DataAssociations.p_ucp_get_ServiceUsage.Parameters.PageNumber = 0;\n DataAssociations.p_ucp_get_ServiceUsage.Parameters.PageSize = 1;\n DataAssociations.p_ucp_get_ServiceUsage.Parameters.Lang = \"uk\";\n DataAssociations.p_ucp_get_ServiceUsage.Parameters.ErrFormat = \"json\";\n DataAssociations.p_ucp_get_ServiceUsage.Parameters.SortColumn = \"id\";\n DataAssociations.p_ucp_get_ServiceUsage.Parameters.SortDirection = \"ASC\";\n DataAssociations.p_ucp_get_ServiceUsage.Parameters.x_ms_client_request_id = Guid.NewGuid().ToString();\n DataAssociations.p_ucp_get_ServiceUsage.Parameters.periodCoverage = @\"{\n \"\"startDateTime\"\": \"\"2025-05-26T00:00:00.999\"\",\n \"\"endDateTime\"\": \"\"2025-06-25T23:59:59.999\"\"\n}\";\n DataAssociations.p_ucp_get_ServiceUsage.Parameters.externalId = @\"[\n{\n \"\"@type\"\": \"\"externalId\"\",\n \"\"externalIdentifierType\"\": \"\"Extentions\"\",\n \"\"id\"\": \"\"301710143\"\"\n}\n]\";\n var qryResult = DataAssociations.p_ucp_get_ServiceUsage.Query();\n var records = qryResult.FirstOrDefault().Total;\n records = 12;\n\n int remainder = records % pageSize;\n int fullpages = records / pageSize;\n List<PageInfo> resInfo = new List<PageInfo>();\n\n for (int i = 0; i < fullpages; i++)\n {\n resInfo.Add(new PageInfo()\n {\n Number = i+1,\n RowCount = pageSize,\n StartIndex = i*pageSize\n });\n }\n if (remainder > 0)\n {\n resInfo.Add(new PageInfo()\n {\n Number = fullpages+1,\n RowCount = remainder,\n StartIndex = fullpages * pageSize\n });\n } \n \n return resInfo;\n}","initParameters":[{"type":"int","name":"pageSize","nullable":false,"default":null},{"name":"Result","type":"PageInfo[]"}]},{"name":"HandleException","initCode":"ErrorResponse HandleException (\n\t\tPassingResult prevData\n\t) \n {\n try\n {\n //investigate the Exception \n Logger.LogInformation($\"Exception name : {prevData.Exception.GetType().Name}\");\n //casting to exception example\n OracleException exception = null;\n if (prevData.Exception is OracleException)\n {\n exception = prevData.Exception as OracleException;\n }\n \n //forming the HTTP error result\n if (WorkflowEnvironment.RuntimeName == \"UCP\")\n WorkflowEnvironment.Variables[\"StatusCode\"] = 500;\n return new ErrorResponse()\n {\n Message = string.Concat(prevData.Exception.Message, $\"({prevData.Exception.InnerException?.Message})\"),\n LevelMessage = \"11\",\n statusCode = 500,\n State = \"1\",\n //ErrNumber = exception.Number.ToString()\n }; \n }\n catch (Exception e) {\n Logger.LogError($\"HandleException:: error {e}\");\n throw new Exception($\"HandleException:: error {e}\");\n }\n }","initParameters":[{"name":"Result","type":"ErrorResponse"},{"name":"prevData","type":"PassingResult","required":true}]}] - [{"name":"bll","link":"libs://common/bll","version":"","entities":[]},{"name":"ai","link":"libs://common/ai","version":"","entities":[]},{"name":"Platform","link":"libs://common/platform","version":"","entities":[]}] - [{"name":"RestApi","initCode":"functions://default/RestApi","initParameters":[{"name":"Uri","type":"Uri","required":true,"oldName":"Uri","defaultValue":"http://servername:port/resource"},{"name":"Method","type":"String","required":true,"oldName":"Method","defaultValue":"GET"},{"name":"Login","type":"String","required":false,"oldName":"Login","defaultValue":null},{"name":"Password","type":"String","required":false,"oldName":"Password","defaultValue":null},{"name":"Headers","type":"StringDictionary","required":false,"oldName":"Headers","defaultValue":"{\r\n \"Content-Type\":\"application/json;charset=utf-16\",\r\n \"system\":\"204\",\r\n \"global_unique_id\":\"6a297fcb-956e-4228-8c11-017e9bacd629\"\r\n }"},{"name":"Body","type":"String","required":false,"oldName":"Body","defaultValue":"{}"},{"name":"Encoding","type":"String","required":false,"oldName":"Encoding","defaultValue":"utf-8"},{"name":"Timeout","type":"int","required":false,"oldName":"Timeout","defaultValue":"0"},{"name":"Result","type":"HttpResponse","required":false,"oldName":"Result","defaultValue":null}],"oldName":"RestApi"},{"name":"RestApi/GET","initCode":"functions://default/RestApi/Get","initParameters":[{"name":"Uri","type":"Uri","required":true,"oldName":"Uri","defaultValue":"http://servername:port/resource"},{"name":"Login","type":"String","required":false,"oldName":"Login","defaultValue":null},{"name":"Password","type":"String","required":false,"oldName":"Password","defaultValue":null},{"name":"Headers","type":"StringDictionary","required":false,"oldName":"Headers","defaultValue":"{\r\n \"Content-Type\":\"application/json;charset=utf-16\",\r\n \"system\":\"204\",\r\n \"global_unique_id\":\"6a297fcb-956e-4228-8c11-017e9bacd629\"\r\n }"},{"name":"Encoding","type":"String","required":false,"oldName":"Encoding","defaultValue":"utf-8"},{"name":"Timeout","type":"int","required":false,"oldName":"Timeout","defaultValue":"0"},{"name":"Result","type":"HttpResponse","required":false,"oldName":"Result","defaultValue":null}],"oldName":"RestApi/GET"},{"name":"JsonPath","initCode":"functions://default//JsonPath","initParameters":[{"name":"Response","type":"HttpResponse","required":true,"oldName":"Response","defaultValue":null},{"name":"Path","type":"String","required":false,"oldName":"Path","defaultValue":"$"},{"name":"Result","type":"Json","required":false,"oldName":"Result","defaultValue":null}],"oldName":"JsonPath"},{"name":"SaveVariable","initCode":"functions://default//SaveVariable","initParameters":[{"name":"VariableName","type":"string","required":true,"oldName":"VariableName","defaultValue":"varName"},{"name":"Data","type":"object","required":true,"oldName":"Data","defaultValue":"#previous"}],"oldName":"SaveVariable"},{"name":"SQL/Oracle/Query","initCode":"functions://default//SQL/Oracle/Query","initParameters":[{"name":"userID","type":"String","required":true,"oldName":"userID","defaultValue":null},{"name":"password","type":"String","required":false,"oldName":"password","defaultValue":null},{"name":"dataSource","type":"String","required":false,"oldName":"dataSource","defaultValue":null},{"name":"query","type":"String","required":false,"oldName":"query","defaultValue":null},{"name":"Result","type":"Collection","required":false,"oldName":"Result","defaultValue":null}],"oldName":"SQL/Oracle/Query"},{"name":"SQL/Oracle/Command","initCode":"functions://default//SQL/Oracle/Command","initParameters":[{"name":"userID","type":"String","required":true,"oldName":"userID","defaultValue":null},{"name":"password","type":"String","required":false,"oldName":"password","defaultValue":null},{"name":"dataSource","type":"String","required":false,"oldName":"dataSource","defaultValue":null},{"name":"command","type":"String","required":false,"oldName":"command","defaultValue":null},{"name":"Result","type":"int","required":false,"oldName":"Result","defaultValue":null}],"oldName":"SQL/Oracle/Command"}] - [] - [{"name":"dataFile","type":"File","initialValue":"file://documents/tenant/page.dat"},{"name":"dataFileName","type":"string","initialValue":"page.dat"},{"name":"PageSize","type":"int","initialValue":"5"},{"name":"SBuffer","type":"SortStringBuffer","initialValue":""}] - {"Name":"Hello world!","id":100} - - - - Flow_0xuw6mo - - DataObjectReference_0eqkq7z - - - - - - - - - - 10 - - Flow_1m73j3r - Flow_0y201wn - - - Flow_1kv5sri - - DataObjectReference_1y3l3pb - - - - - {"actionType":"Action","action":"GetPage","actionParam":{"pageInfo":"Input"},"libName":"","libEntity":"","libMethod":""} - - Flow_1kv5sri - Flow_1pefznh - - - p_ucp_get_ServiceUsage - Property_1chwioa - - - - - - - {"actionType":"Expression","action":"var sd = #Previous as List<ServiceData>;\n\nbyte[] buf = Encoding.Default.GetBytes(JsonString(sd));\n\nreturn new DataChunk()\n{\n Index = Input.Number,\n Data = buf\n};"} - - Flow_1pefznh - Flow_0ki5xm6 - - - - Flow_03nm8f9 - - - DataObjectReference_1y5e7v6 - Property_1s0cobe - - - - - - {"tsk_ProcessName":"BPMN","data":{"content":"#Previous"},"lang":"en"} - - Flow_0ki5xm6 - Flow_03nm8f9 - - - - - - - - - Flow_0fymw2o - Flow_1ywmvqa - - - {"actionType":"Expression","action":"var dataChunk = #event.Data as DataChunk;\n\nParameters.SBuffer.AddChunk(dataChunk.Index, dataChunk.Content);\nusing (Stream aFile = DataAssociations.DataStoreReference_TmpFile.OpenStream(FileMode.Append))\nusing (StreamWriter sw = new StreamWriter(aFile))\n{\n var chunkNum = 0;\n string nchunk = Parameters.SBuffer.ReadNextChunk(out chunkNum);\n while (nchunk != null)\n {\n sw.Write( nchunk );\n nchunk = Parameters.SBuffer.ReadNextChunk(out chunkNum);\n }\n} \n\nreturn dataChunk.Index;"} - - Flow_04v8zkw - Flow_1vkak7q - - - DataStoreReference_TmpFile - Property_113usl0 - - - - - Flow_1922y7x - - - DataObjectReference_16r8b2r - Property_04jeeis - - - - - Flow_1vkak7q - Flow_16xynca - Flow_0naujgu - Flow_1w1oo01 - - - - {"tsk_ProcessName":"SMTP.Notifications","data":{"Message.Alert":"PaymentError","body":{}},"lang":"en"} - - Flow_0naujgu - Flow_1922y7x - - - - - {"tsk_ProcessName":"SMTP.Notifications","data":{"Message.Alert":"PaymentError","body":{}},"lang":"en"} - - Flow_1w1oo01 - Flow_04v8zkw - - - - - - - Flow_09h72qw - - DataObjectReference_1d79ccv - - - - - - - - - - {"actionType":"Expression","action":"Parameters = Root.Parameters.Clone();\nvar file = DataAssociations.DataStoreReference_TmpFile.GetFile();\nfile.Delete();\nreturn #Previous;"} - - Flow_1ua89ds - Flow_16xynca - - - DataStoreReference_TmpFile - Property_04x4ysm - - - - - - {"actionType":"Function","action":"SaveVariable","actionParam":{"VariableName":"testVar","Data":"#previous"},"libName":"","libEntity":"","libMethod":""} - - Flow_09h72qw - Flow_1ua89ds - - - - - - {"actionType":"Action","action":"GetPageInfos","actionParam":{"pageSize":"Parameters.PageSize"},"libName":"","libEntity":"","libMethod":""} - - Flow_09wjjpf - Flow_1m73j3r - - - p_ucp_get_ServiceUsage - Property_0k7e9kx - - - - - Flow_0xuw6mo - Flow_09wjjpf - Flow_0fymw2o - - - - - Flow_1ywmvqa - Flow_0bdcue1 - Flow_16oj51m - - - - - - - - {"actionType":"Expression","action":" var file = DataAssociations.DataStoreReference_TmpFile.GetFile();\r\n file.AddToZip(\"tst.zip\");\r\n var lnk = file.CreateLink();\r\n\treturn lnk;"} - - Flow_16oj51m - Flow_083g3kv - - - DataStoreReference_TmpFile - Property_0zx5pds - - - - - - {"tsk_ProcessName":"SMTP.Notifications","data":{"Message.Alert":"PaymentError","body":{}},"lang":"en"} - - Flow_0y201wn - Flow_0bdcue1 - - - - - {"type":"MSSQL.Procedure","connection":"Server=servername;Database=database;User ID=login;Password=;TrustServerCertificate=true;MultipleActiveResultSets=true","object":"[dbo].[p_ucp_get_ServiceUsage]","parameters":[{"name":"ErrFormat","dbType":"String","direction":"Input","size":25},{"name":"Lang","dbType":"String","direction":"InputOutput","size":3},{"name":"id","dbType":"Int64","direction":"Input","size":null},{"name":"x_ms_client_request_id","dbType":"String","direction":"InputOutput","size":32},{"name":"relatedParty","dbType":"String","direction":"Input","size":null},{"name":"periodCoverage","dbType":"String","direction":"Input","size":null},{"name":"logicalResource","dbType":"String","direction":"Input","size":null},{"name":"billCycleNo","dbType":"String","direction":"Input","size":50},{"name":"externalId","dbType":"String","direction":"Input","size":null},{"name":"IsExternalID","dbType":"Int32","direction":"InputOutput","size":null},{"name":"PageNumber","dbType":"Int32","direction":"InputOutput","size":null},{"name":"PageSize","dbType":"Int32","direction":"InputOutput","size":null},{"name":"SortColumn","dbType":"String","direction":"InputOutput","size":null},{"name":"SortDirection","dbType":"String","direction":"InputOutput","size":20},{"name":"DebugLevel","dbType":"Int32","direction":"Input","size":null}]} - - - - - - {"tsk_ProcessName":"SMTP","data":{"to":"user@example.com","from":"","message":"File for download {#Previous}"},"lang":"en"} - - Flow_083g3kv - Flow_0bv1llb - - - - - {"tsk_ProcessName":"SMTP","data":{"to":"user@example.com","from":"noreply@example.com","message":"File for download #Previous"},"lang":"en"} - - Flow_0bv1llb - - - DataObjectReference_1a2hfh4 - Property_1lkfb20 - - - - - {"type":"File","connection":"file://documents/tenant","object":"service_usage.dat","parameters":[]} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/flow-patterns/06-streaming-sse/llm-stream.bpmn b/flow-patterns/06-streaming-sse/llm-stream.bpmn deleted file mode 100644 index 3079e83..0000000 --- a/flow-patterns/06-streaming-sse/llm-stream.bpmn +++ /dev/null @@ -1,195 +0,0 @@ - - - - ["Action","Function"] - [{"name":"ErrorResponse","definition":"{\r\n \"$schema\": \"http://json-schema.org/draft-06/schema#\",\r\n \"$ref\": \"#/definitions/ErrorResponse\",\r\n \"definitions\": {\r\n \"ErrorResponse\": {\r\n \"type\": \"object\",\r\n \"additionalProperties\": true,\r\n \"properties\": {\r\n \"LevelMessage\": {\r\n \"title\": \"The Error level\",\r\n \"type\": \"string\"\r\n },\r\n \"statusCode\": {\r\n \"title\": \"The Error Status Code\",\r\n \"type\": \"integer\"\r\n },\r\n \"ErrNumber\": {\r\n \"title\": \"The Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Message\": {\r\n \"title\": \"The Error Message\",\r\n \"type\": \"string\"\r\n },\r\n \"State\": {\r\n \"title\": \"The Error State\",\r\n \"type\": \"string\"\r\n },\r\n \"HelpLink\": {\r\n \"title\": \"The Help Link\",\r\n \"type\": \"string\"\r\n },\r\n \"errNumberReason\": {\r\n \"title\": \"The initial Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Data\": {\r\n \"title\": \"The Error Data\",\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"LevelMessage\": {\r\n \"title\": \"The Error level\",\r\n \"type\": \"string\"\r\n },\r\n \"statusCode\": {\r\n \"title\": \"The Error Status Code\",\r\n \"type\": \"integer\"\r\n },\r\n \"ErrNumber\": {\r\n \"title\": \"The Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Message\": {\r\n \"title\": \"The Error Message\",\r\n \"type\": \"string\"\r\n },\r\n \"State\": {\r\n \"title\": \"The Error State\",\r\n \"type\": \"string\"\r\n },\r\n \"HelpLink\": {\r\n \"title\": \"The Help Link\",\r\n \"type\": \"string\"\r\n },\r\n \"errNumberReason\": {\r\n \"title\": \"The initial Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Data\": {\r\n \"title\": \"The Data Schema\",\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"LevelMessage\": {\r\n \"title\": \"The Error level\",\r\n \"type\": \"string\"\r\n },\r\n \"statusCode\": {\r\n \"title\": \"The Error Status Code\",\r\n \"type\": \"integer\"\r\n },\r\n \"ErrNumber\": {\r\n \"title\": \"The Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Message\": {\r\n \"title\": \"The Error Message\",\r\n \"type\": \"string\"\r\n },\r\n \"State\": {\r\n \"title\": \"The Error State\",\r\n \"type\": \"string\"\r\n },\r\n \"HelpLink\": {\r\n \"title\": \"The Help Link\",\r\n \"type\": \"string\"\r\n },\r\n \"errNumberReason\": {\r\n \"title\": \"The initial Error Number\",\r\n \"type\": \"string\"\r\n }\r\n }\r\n },\r\n \"ResolveUrl\": {\r\n \"title\": \"The Resolve Url Link\",\r\n \"type\": \"string\"\r\n }\r\n }\r\n },\r\n \"ResolveUrl\": {\r\n \"title\": \"The Resolve Url Link\",\r\n \"type\": \"string\"\r\n },\r\n \"extraData\": {\r\n \"title\": \"The Error Extra Data \",\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"operationDuration\": {\r\n \"title\": \"The Operation Duration\",\r\n \"type\": \"integer\"\r\n }\r\n }\r\n }\r\n },\r\n \"title\": \"ErrorResponse\"\r\n }\r\n }\r\n}","isNativeDefinition":false},{"name":"ResponseModel","definition":"{\n\t\"$schema\": \"http://json-schema.org/draft-06/schema#\",\n\t\"$ref\": \"#/definitions/ResponseModel\",\n\t\"definitions\": {\n\t\t\"ResponseModel\": {\n\t\t\t\"type\": \"object\",\n\t\t\t\"additionalProperties\": false,\n\t\t\t\"properties\": {\n\t\t\t\t\"success\": {\n\t\t\t\t\t\"type\": \"boolean\"\n\t\t\t\t},\n\t\t\t\t\"details\": {\n\t\t\t\t\t\"type\": \"string\"\n\t\t\t\t},\n\t\t\t\t\"statuscode\": {\n\t\t\t\t\t\"type\": \"integer\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"title\": \"ResponseModel\"\n\t\t}\n\t}\n}","isNativeDefinition":false},{"name":"SomeNativeClass","definition":"public class SomeNativeClass { \n\t// Fields, properties, methods and events go here...\n}","isNativeDefinition":true},{"name":"SystemException","definition":"{\r\n \"$schema\":\"http://natec.tech/simpleschema\",\r\n \"$ref\":\"#/definitions/SystemException\",\r\n \"definitions\":{\r\n \"SystemException\":{\r\n \"type\":\"object\",\r\n \"properties\":{\r\n \"Exception\":{\r\n \"type\":\"types://core/System.Exception\"\r\n },\r\n \"info\":{\r\n \"type\":\"string\"\r\n }\r\n },\r\n \"title\":\"SystemException\"\r\n }\r\n }\r\n}","isNativeDefinition":false},{"name":"TestClass","definition":"\r\n/// A &product @to be @created defined by value or existing defined by reference. The polymorphic attributes type, schemaLocation referredType are related to the product entity and not the RelatedProductRefOrValue class itself\r\n\r\npublic class TestClass { \r\n\tpublic int Id {get;set;}\r\n}","isNativeDefinition":true}] - [{"name":"SseMessage","definition":"types://external/Platform/UCP.API.Application.Services.SseMessage"}] - [{"name":"CodeActionExample","initCode":"Json CodeActionExample (\n\t\tJson inputData\n\t) \n {\n try \n { \n \n Logger.LogInformation($\"CodeActionExample:: started\");\n // TODO Insert your code here\n Logger.LogInformation($\"CodeActionExample:: finished\");\n return inputData;\n }\n catch (Exception e) {\n Logger.LogError($\"CodeActionExample:: error {e}\");\n throw new Exception($\"CodeActionExample:: error {e}\");\n }\n \n }","initParameters":[{"name":"Result","type":"Json"},{"name":"inputData","type":"Json","required":false}]},{"name":"HandleException","initCode":"ErrorResponse HandleException (\n\t\tPassingResult prevData\n\t) \n {\n try\n {\n //investigate the Exception \n Logger.LogInformation($\"Exception name : {prevData.Exception.GetType().Name}\");\n //casting to exception example\n OracleException exception = null;\n if (prevData.Exception is OracleException)\n {\n exception = prevData.Exception as OracleException;\n }\n \n //forming the HTTP error result\n if (WorkflowEnvironment.RuntimeName == \"UCP\")\n WorkflowEnvironment.Variables[\"StatusCode\"] = 500;\n return new ErrorResponse()\n {\n Message = string.Concat(prevData.Exception.Message, $\"({prevData.Exception.InnerException?.Message})\"),\n LevelMessage = \"11\",\n statusCode = 500,\n State = \"1\",\n //ErrNumber = exception.Number.ToString()\n }; \n }\n catch (Exception e) {\n Logger.LogError($\"HandleException:: error {e}\");\n throw new Exception($\"HandleException:: error {e}\");\n }\n }","initParameters":[{"name":"Result","type":"ErrorResponse"},{"name":"prevData","type":"PassingResult","required":true}]},{"name":"InspectOracleResult","initCode":"string[] InspectOracleResult (\n\t\tCollection oracleData\n\t) \n {\n //get single value\n //Logger.LogInformation($\"get single value of FIELD_NAME1 by index: syntax oracleData[index].FIELD_NAME1\");\n var field_first = oracleData[0].FIELD_NAME1;\n\n //enumeration of FIELD_NAME1 (with LINQ)\n var field_rows = from row in oracleData\n select row.FIELD_NAME1;\n //passing by enumeration\n Logger.LogInformation($\"passing by enumeration field_rows of var1: syntax FIELD_NAME1:var1\");\n foreach (var field1 in field_rows)\n Logger.LogInformation($\"FIELD_NAME1:{field1}\");\n\n //get array of msisdn from enumeration\n Logger.LogInformation($\"get array from enumeration: syntax field_rows.ToArray()\");\n var myArray = field_rows.ToArray();\n //get first value from array\n var field_from_Array = myArray[0];\n\n //passing by enumeration of whole dataset\n Logger.LogInformation($\"passing by enumeration of whole dataset: syntax FIELD_NAME1:row.FIELD_NAME1, FIELD_NAME2:row.FIELD_NAME2 etc...\");\n foreach (var row in oracleData)\n Logger.LogInformation($\"FIELD_NAME1:{row.FIELD_NAME1}\");\n\n //convert whole dataset to string \n var field_list = from row in oracleData\n select row.FIELD_NAME1 as string;\n //convert string to string array \n return field_list.ToList();\n\n }","initParameters":[{"name":"Result","type":"string[]"},{"name":"oracleData","type":"Collection","required":true}]}] - [{"name":"Platform","link":"libs://common/platform","version":"","entities":[]}] - [{"name":"RestApi","initCode":"functions://default/RestApi","initParameters":[{"name":"Uri","type":"Uri","required":true,"oldName":"Uri","oldType":"Uri","defaultValue":"http://servername:port/resource"},{"name":"Method","type":"string","required":true,"oldName":"Method","oldType":"String","defaultValue":"GET"},{"name":"Login","type":"string","required":false,"oldName":"Login","oldType":"String","defaultValue":null},{"name":"Password","type":"string","required":false,"oldName":"Password","oldType":"String","defaultValue":null},{"name":"Headers","type":"StringDictionary","required":false,"oldName":"Headers","oldType":"StringDictionary","defaultValue":"{\r\n \"Content-Type\":\"application/json;charset=utf-16\",\r\n \"system\":\"204\",\r\n \"global_unique_id\":\"6a297fcb-956e-4228-8c11-017e9bacd629\"\r\n }"},{"name":"Body","type":"string","required":false,"oldName":"Body","oldType":"String","defaultValue":"{}"},{"name":"Encoding","type":"string","required":false,"oldName":"Encoding","oldType":"String","defaultValue":"utf-8"},{"name":"Timeout","type":"int","required":false,"oldName":"Timeout","oldType":"int","defaultValue":"0"},{"name":"Result","type":"HttpResponse","required":false,"oldName":"Result","oldType":"HttpResponse","defaultValue":null}],"oldName":"RestApi"},{"name":"RestApi/GET","initCode":"functions://default/RestApi/Get","initParameters":[{"name":"Uri","type":"Uri","required":true,"oldName":"Uri","oldType":"Uri","defaultValue":"http://servername:port/resource"},{"name":"Login","type":"string","required":false,"oldName":"Login","oldType":"String","defaultValue":null},{"name":"Password","type":"string","required":false,"oldName":"Password","oldType":"String","defaultValue":null},{"name":"Headers","type":"StringDictionary","required":false,"oldName":"Headers","oldType":"StringDictionary","defaultValue":"{\r\n \"Content-Type\":\"application/json;charset=utf-16\",\r\n \"system\":\"204\",\r\n \"global_unique_id\":\"6a297fcb-956e-4228-8c11-017e9bacd629\"\r\n }"},{"name":"Encoding","type":"string","required":false,"oldName":"Encoding","oldType":"String","defaultValue":"utf-8"},{"name":"Timeout","type":"int","required":false,"oldName":"Timeout","oldType":"int","defaultValue":"0"},{"name":"Result","type":"HttpResponse","required":false,"oldName":"Result","oldType":"HttpResponse","defaultValue":null}],"oldName":"RestApi/GET"},{"name":"JsonPath","initCode":"functions://default//JsonPath","initParameters":[{"name":"Response","type":"HttpResponse","required":true,"oldName":"Response","oldType":"HttpResponse","defaultValue":null},{"name":"Path","type":"string","required":false,"oldName":"Path","oldType":"String","defaultValue":"$"},{"name":"Result","type":"Json","required":false,"oldName":"Result","oldType":"Json","defaultValue":null}],"oldName":"JsonPath"},{"name":"SaveVariable","initCode":"functions://default//SaveVariable","initParameters":[{"name":"VariableName","type":"string","required":true,"oldName":"VariableName","oldType":"string","defaultValue":"varName"},{"name":"Data","type":"object","required":true,"oldName":"Data","oldType":"object","defaultValue":"#previous"}],"oldName":"SaveVariable"},{"name":"SQL/Oracle/Query","initCode":"functions://default//SQL/Oracle/Query","initParameters":[{"name":"userID","type":"string","required":true,"oldName":"userID","oldType":"String","defaultValue":null},{"name":"password","type":"string","required":false,"oldName":"password","oldType":"String","defaultValue":null},{"name":"dataSource","type":"string","required":false,"oldName":"dataSource","oldType":"String","defaultValue":null},{"name":"query","type":"string","required":false,"oldName":"query","oldType":"String","defaultValue":null},{"name":"Result","type":"Collection","required":false,"oldName":"Result","oldType":"Collection","defaultValue":null}],"oldName":"SQL/Oracle/Query"},{"name":"SQL/Oracle/Command","initCode":"functions://default//SQL/Oracle/Command","initParameters":[{"name":"userID","type":"string","required":true,"oldName":"userID","oldType":"String","defaultValue":null},{"name":"password","type":"string","required":false,"oldName":"password","oldType":"String","defaultValue":null},{"name":"dataSource","type":"string","required":false,"oldName":"dataSource","oldType":"String","defaultValue":null},{"name":"command","type":"string","required":false,"oldName":"command","oldType":"String","defaultValue":null},{"name":"Result","type":"int","required":false,"oldName":"Result","oldType":"int","defaultValue":null}],"oldName":"SQL/Oracle/Command"}] - [] - [{"name":"Stop","type":"bool","initialValue":""}] - {"Name":"Serhiy the Great","id":100} - - - - Flow_0xuw6mo - - DataObjectReference_0eqkq7z - - - - Flow_0dc2tim - Flow_08egojp - - - DataObjectReference_1a2hfh4 - Property_1rqqtzp - - - - - {"actionType":"Function","action":"RestApi","actionParam":{"Uri":"http://servername:port/api/v0/ai/chat/completions","Method":"POST","Login":"","Password":"","Headers":"{\"Content-Type\":\"application/json\",\n\"Authorization\":\"Basic {Root.Parameters.config.basic_auth}\",\n\"Accept\":\"text/event-stream\"}","Body":"{\n \"stream\": true,\n \"streamId\": \"700\",\n \"streamInterval\": 1,\n \"model\": \"mistralai/Mistral-Nemo-Instruct-2407\",\n \"messages\": [\n {\n \"role\": \"user\",\n \"content\": \"Використавши увесь доступний тобі об'єм генерації максимально детально, опиши цей тарифний пакет включаючи послугу абонплати і усі наступні послуги українською мовою не дублюючи і не змінюючи вхідну інформацію, використовуючи такі інструкції: 1.Назва послуг: Вкажи назву послуги на основі даних з колонки NameCode. 2. Якщо FullCode = 9000 то це абонплата і її потрібно описувати як абонплату. Візьми назву послуги із колонки NameCode. Вкажи причину активації із колонки ActivationReason (значення ByDefault або ByRequest) та опиши її. Укажи період активації послуги на основі значення в колонці StartEndCode. Якщо значення StartEnd, то активація послуги здійснюється на увесь період. 3. Вартість абонплати вказана у колонці яка може містити назву, код періоду, початок та кінець періоду TariffPeriodName 'НАЗВА'$КОД ПЕРІОДУ#ПОЧАТОК ПЕРІОДУ@КІНЕЦЬ ПЕРІОДУ@' . Ціна абонплати вказана як рядкове значення 'x,yziqwa'. Якщо такої колонки із значенням неіснує чи рівне 0 або значення відсутні, то вкажи що дана послуга безкоштовна. Укажи, коли нараховується абонплата, виходячи з даних з колонки ChargeCode. Якщо там значиться LastDayOfCycle, то абонплата нараховується в останній день біллінгового циклу. Вкажи формулу розрахунку абонплати з колонки CostCode і що метод нарахування за формулою з назвою Cost є методом за замовчуванням. Та вкажи, коли тарифний пакет стає активним. Дату можна отримати із колонки PrefixesStartDate. Також детально пиши кожну наступну послугу. Абонплата може бути лише 1 у тарифному пакеті. Якщо у назві NameCode послуги міститься рядок Penalty Fee, то це послуга переліміту. У ній вказаний об'єм який включений у абонплату. Об'єм вказаний у колонці TariffVolumeValue у рядку відповідної послуги. Також, вказаний штрафний тариф, який застосовується коли користувач уже використав наданий об'єм у абонплаті. Якщо у назві NameCode міститься рядок Data Transmition - це передача даних, вона вказана у байтах, якщо міститься рядок SMS то це смс і вони вказані у штуках, якщо міститься рядок Voice то це голосові виклики і їхні об'єми вказані у хвилинах. Якщо у назві NameCode міститься рядок Access, то це послуга керування. Якщо значення у колонці у якій міститься рядок TariffPeriodName дорівнює нулю, або пусте, то вкажи що ця послуга безкоштовна. Якщо певні значення спільні то виведи загальні параметри на початку, не дублюй їх. Для жодної із послуг тобі не потрібно заокруглювати ціну. Не змінюй англійські слова. Пиши текст українською мовою. Відформатуй відповідь використовуючи табуляцію та булет листи. Також у кінці опису роби повний висновок по наданому тобі тарифному пакеті. \\n Тарифний пакет: dError,Remark,ZoneName,ZoneNameEn,NameCode,TemplateParentID,TemplatePriority,Labels,PolicyCode,StartEndCode,CostCode,ChargeCode,CountCode,TresholdWarning,TresholdBreak,TresholdActivate,PreCheckAmount,ActivationReason,DirectionType,ATS_ID,CodeDynamicType,PrefixesStartDate,FullCode,DataType,RoamingZoneCode,ServiceCodeByConsumption,PolicyCounterStrategy,TariffVolumeValue,TariffVolumeCost,VolumeCostType,CounterPeriodCode,AggregationPolicy,RoundPolicy,RoundMunName,Prefixes,FullFormatPrefix,Currency,\\\"TariffPeriodName \\\"\\\"Day-and-Night\\\"\\\"$255#00:00:00@23:59:59@\\\",\\\"ConnectionFeeTariffPeriodName \\\"\\\"Day-and-Night\\\"\\\"\\\",\\\"CountTariffPeriodName \\\"\\\"Day-and-Night\\\"\\\"\\\",\\\"DynamicType \\\"\\\"АП за ТП без ПДВ та ПФ\\\"\\\"\\\",TariffBegin,NoneTariffPeriod,TariffInterval,NumberOfUnits,dtp_TimeDelay\\n1,M2M Monthly Fee,Monthly Fee Services,M2M-FEE,M2M Monthly Fee,,2,\\\"PUBLIC, SINGLE\\\",,StartEnd,Cost,LastDayOfCycle,,0,0,0,0,ByDefault,2,1,,10/24/24,9000,,,,,,,,,,,,9000,9000,UAH,\\\"1824,412412\\\",0,0,,2,0,1,1,0\\n2,M2M Data Transmition Roaming Access,Access Mngt Services by Service-Context ,M2M-MNGT,M2M Data Transmition Roaming Access,,2,\\\"PUBLIC, SINGLE\\\",,StartEnd,Cost,LastDayOfCycle,,0,0,0,0,ByRequest,2,1,,10/24/24,9205,,,,,,,,,,,,9205,9205,UAH,0,0,0,,2,0,1,1,0\\n3,M2M SMS Roaming Access,Access Mngt Services by Service-Context ,M2M-MNGT,M2M SMS Roaming Access,,2,\\\"PUBLIC, SINGLE\\\",,StartEnd,Cost,LastDayOfCycle,,0,0,0,0,ByRequest,2,1,,10/24/24,9211,,,,,,,,,,,,9211,9211,UAH,0,0,0,,2,0,1,1,0\\n4,M2M Voice Roaming Access,Access Mngt Services by Service-Context ,M2M-MNGT,M2M Voice Roaming Access,,2,\\\"PUBLIC, SINGLE\\\",,StartEnd,Cost,LastDayOfCycle,,0,0,0,0,ByRequest,2,1,,10/24/24,9214,,,,,,,,,,,,9214,9214,UAH,0,0,0,,2,0,1,1,0\"\n }\n ] \n}","Encoding":"utf-8","Timeout":"0"},"libName":"","libEntity":"","libMethod":""} - - Flow_0xuw6mo - Flow_0ss9m19 - - - - - - - - - - {"actionType":"Expression","action":"Logger.LogInformation($\"{#Previous.IsStreamResponse}\");\nint result = 0;\nstring data = #Previous.Reader.ReadLine();\nwhile ((data != null) && Parameters.Stop != true)\n{\n\tLogger.LogInformation($\"-->{data}\");\n\tif (!string.IsNullOrEmpty(data))\n\t{\n\t\tvar eventData = data.StartsWith(\"data:\")?data.Substring(5).Trim():data;\n\t\tif (!string.IsNullOrEmpty(eventData))\n\t\t{\n\t\t\tAction.BoundaryEvents[\"Event_Start_Send_Message\"].Raise(eventData);\n\t\t\tresult++;\n\t\t}\n\t}\n\tdata = #Previous.Reader.ReadLine();\n}\n\nreturn new ResponseModel()\n{\n statuscode = #Previous.StatusCode,\n success = true,\n details = $\"{result} peaces readed\"\n};"} - - Flow_1nv7iqf - Flow_0dc2tim - - - - - {"actionType":"Expression","action":"string rawStr = (string)#Previous;\n if(rawStr.Contains(\"\\\"finish_reason\\\": \\\"stop\\\"\"))\n Parameters.Stop = true;\nstring result = rawStr;\nreturn result;"} - - Flow_13i8flm - Flow_0p5t37u - - - - Flow_13i8flm - - - - - - {"tsk_ProcessName":"Server-side events","data":{"serviceId":"265","body":{},"alias":"test","pluginname":"BSS.Entities"},"lang":"en"} - - Flow_0p5t37u - - - - Flow_0ss9m19 - Flow_1nv7iqf - Flow_To_Handle_Not_Stream - - - - - {"actionType":"Expression","action":"var result = new ResponseModel()\n{\n statuscode = #Previous.StatusCode,\n success = false,\n details = $\"Accept header not equals with stream response\"\n};\nreturn result;"} - - Flow_To_Handle_Not_Stream - Flow_08egojp - - - #Previous.Headers["Content-Type"] != "text/event-stream" - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/flow-patterns/06-streaming-sse/sse-roundtrip.bpmn b/flow-patterns/06-streaming-sse/sse-roundtrip.bpmn deleted file mode 100644 index d2417d0..0000000 --- a/flow-patterns/06-streaming-sse/sse-roundtrip.bpmn +++ /dev/null @@ -1,347 +0,0 @@ - - - - ["Action","Function"] - [{"name":"ErrorResponse","definition":"{\r\n \"$schema\": \"http://json-schema.org/draft-06/schema#\",\r\n \"$ref\": \"#/definitions/ErrorResponse\",\r\n \"definitions\": {\r\n \"ErrorResponse\": {\r\n \"type\": \"object\",\r\n \"additionalProperties\": true,\r\n \"properties\": {\r\n \"LevelMessage\": {\r\n \"title\": \"The Error level\",\r\n \"type\": \"string\"\r\n },\r\n \"statusCode\": {\r\n \"title\": \"The Error Status Code\",\r\n \"type\": \"integer\"\r\n },\r\n \"ErrNumber\": {\r\n \"title\": \"The Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Message\": {\r\n \"title\": \"The Error Message\",\r\n \"type\": \"string\"\r\n },\r\n \"State\": {\r\n \"title\": \"The Error State\",\r\n \"type\": \"string\"\r\n },\r\n \"HelpLink\": {\r\n \"title\": \"The Help Link\",\r\n \"type\": \"string\"\r\n },\r\n \"errNumberReason\": {\r\n \"title\": \"The initial Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Data\": {\r\n \"title\": \"The Error Data\",\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"LevelMessage\": {\r\n \"title\": \"The Error level\",\r\n \"type\": \"string\"\r\n },\r\n \"statusCode\": {\r\n \"title\": \"The Error Status Code\",\r\n \"type\": \"integer\"\r\n },\r\n \"ErrNumber\": {\r\n \"title\": \"The Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Message\": {\r\n \"title\": \"The Error Message\",\r\n \"type\": \"string\"\r\n },\r\n \"State\": {\r\n \"title\": \"The Error State\",\r\n \"type\": \"string\"\r\n },\r\n \"HelpLink\": {\r\n \"title\": \"The Help Link\",\r\n \"type\": \"string\"\r\n },\r\n \"errNumberReason\": {\r\n \"title\": \"The initial Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Data\": {\r\n \"title\": \"The Data Schema\",\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"LevelMessage\": {\r\n \"title\": \"The Error level\",\r\n \"type\": \"string\"\r\n },\r\n \"statusCode\": {\r\n \"title\": \"The Error Status Code\",\r\n \"type\": \"integer\"\r\n },\r\n \"ErrNumber\": {\r\n \"title\": \"The Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Message\": {\r\n \"title\": \"The Error Message\",\r\n \"type\": \"string\"\r\n },\r\n \"State\": {\r\n \"title\": \"The Error State\",\r\n \"type\": \"string\"\r\n },\r\n \"HelpLink\": {\r\n \"title\": \"The Help Link\",\r\n \"type\": \"string\"\r\n },\r\n \"errNumberReason\": {\r\n \"title\": \"The initial Error Number\",\r\n \"type\": \"string\"\r\n }\r\n }\r\n },\r\n \"ResolveUrl\": {\r\n \"title\": \"The Resolve Url Link\",\r\n \"type\": \"string\"\r\n }\r\n }\r\n },\r\n \"ResolveUrl\": {\r\n \"title\": \"The Resolve Url Link\",\r\n \"type\": \"string\"\r\n },\r\n \"extraData\": {\r\n \"title\": \"The Error Extra Data \",\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"operationDuration\": {\r\n \"title\": \"The Operation Duration\",\r\n \"type\": \"integer\"\r\n }\r\n }\r\n }\r\n },\r\n \"title\": \"ErrorResponse\"\r\n }\r\n }\r\n}","isNativeDefinition":false},{"name":"HttpConfig","definition":"{\r\n \"$schema\":\"http://natec.tech/simpleschema\",\r\n \"$ref\":\"#/definitions/HttpConfig\",\r\n \"definitions\":{\r\n \"HttpConfig\":{\r\n \"type\":\"object\",\r\n \"properties\":{\r\n \"host\":{\r\n \"type\":\"string\"\r\n },\r\n \"port\":{\r\n \"type\":\"string\"\r\n },\r\n \"login\":{\r\n \"type\":\"string\"\r\n },\r\n \"password\":{\r\n \"type\":\"string\"\r\n },\r\n \"encoding\":{\r\n \"type\":\"string\"\r\n },\r\n \"headers\":{\r\n \"type\":\"StringDictionary<string, string>\"\r\n }\r\n },\r\n \"required\": [\"host\", \"encoding\", \"headers\"],\r\n \"title\":\"HttpConfig\"\r\n }\r\n }\r\n}","isNativeDefinition":false},{"name":"Input","definition":"{\n\t\"$schema\": \"http://json-schema.org/draft-06/schema#\",\n\t\"$ref\": \"#/definitions/Input\",\n\t\"definitions\": {\n\t\t\"Input\": {\n\t\t\t\"type\": \"object\",\n\t\t\t\"additionalProperties\": false,\n\t\t\t\"properties\": {\n\t\t\t\t\"login\": {\n\t\t\t\t\t\"type\": \"string\"\n\t\t\t\t},\n\t\t\t\t\"password\": {\n\t\t\t\t\t\"type\": \"string\"\n\t\t\t\t},\n\t\t\t\t\"inputMessage\": {\n\t\t\t\t\t\"type\": \"array\",\n\t\t\t\t\t\"items\": {\n\t\t\t\t\t\t\"type\": \"string\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"URL\": {\n\t\t\t\t\t\"type\": \"string\"\n\t\t\t\t},\n\t\t\t\t\"message\": {\n\t\t\t\t\t\"type\": \"string\"\n\t\t\t\t},\n\t\t\t\t\"alias\": {\n\t\t\t\t\t\"type\": \"string\"\n\t\t\t\t},\n\t\t\t\t\"pluginname\": {\n\t\t\t\t\t\"type\": \"string\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"title\": \"Input\"\n\t\t}\n\t}\n}","dataObjectRefName":"Input","isNativeDefinition":false},{"name":"Response","definition":"{\n\t\"$schema\": \"http://json-schema.org/draft-06/schema#\",\n\t\"$ref\": \"#/definitions/Response\",\n\t\"definitions\": {\n\t\t\"Response\": {\n\t\t\t\"type\": \"object\",\n\t\t\t\"additionalProperties\": false,\n\t\t\t\"properties\": {\n\t\t\t\t\"result\": {\n\t\t\t\t\t\"type\": \"boolean\"\n\t\t\t\t},\n\t\t\t\t\"subscribers\": {\n\t\t\t\t\t\"type\": \"array\",\n\t\t\t\t\t\"items\": {\n\t\t\t\t\t\t\"type\": \"object\",\n\t\t\t\t\t\t\"properties\": {\n\t\t\t\t\t\t\t\"username\": {\n\t\t\t\t\t\t\t\t\"type\": \"string\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"userId\": {\n\t\t\t\t\t\t\t\t\"type\": \"string\"\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"required\": [\n\t\t\t\t\t\t\t\"username\",\n\t\t\t\t\t\t\t\"userId\"\n\t\t\t\t\t\t]\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"title\": \"Response\"\n\t\t}\n\t}\n}","isNativeDefinition":false},{"name":"SystemException","definition":"{\r\n \"$schema\":\"http://natec.tech/simpleschema\",\r\n \"$ref\":\"#/definitions/SystemException\",\r\n \"definitions\":{\r\n \"SystemException\":{\r\n \"type\":\"object\",\r\n \"properties\":{\r\n \"Exception\":{\r\n \"type\":\"types://core/System.Exception\"\r\n },\r\n \"info\":{\r\n \"type\":\"string\"\r\n }\r\n },\r\n \"title\":\"SystemException\"\r\n }\r\n }\r\n}","isNativeDefinition":false}] - [{"definition":"types://external/Platform/UCP.API.Application.Services.SseMessage","name":"SseMessage"}] - [{"name":"DataResult","initCode":"object DataResult (\n\t\tHttpResponse Response\n\t) \n {\nvar contentFirstRequestPost = Response.Content;\nvar\t contentFirst = new JSON(contentFirstRequestPost);\n\nParameters.content = JsonConvert.DeserializeObject<Response>(contentFirst); \n\nreturn Parameters.content;\n\n}","initParameters":[{"name":"Result","type":"object"},{"name":"Response","type":"HttpResponse","required":false}]},{"name":"HandleException","initCode":"ErrorResponse HandleException (\n\t\tPassingResult prevData\n\t) \n {\n try\n {\n //investigate the Exception \n Logger.LogInformation($\"Exception name : {prevData.Exception.GetType().Name}\");\n //casting to exception example\n OracleException exception = null;\n if (prevData.Exception is OracleException)\n {\n exception = prevData.Exception as OracleException;\n }\n \n //forming the HTTP error result\n if (WorkflowEnvironment.RuntimeName == \"UCP\")\n WorkflowEnvironment.Variables[\"StatusCode\"] = 500;\n return new ErrorResponse()\n {\n Message = string.Concat(prevData.Exception.Message, $\"({prevData.Exception.InnerException?.Message})\"),\n LevelMessage = \"11\",\n statusCode = 500,\n State = \"1\",\n //ErrNumber = exception.Number.ToString()\n }; \n }\n catch (Exception e) {\n Logger.LogError($\"HandleException:: error {e}\");\n throw new Exception($\"HandleException:: error {e}\");\n }\n }","initParameters":[{"name":"Result","type":"ErrorResponse"},{"name":"prevData","type":"PassingResult","required":true}]}] - [{"name":"Platform","link":"libs://common/platform","version":"","entities":[]}] - [{"name":"RestApiNonAuth","initCode":"functions://default/RestApi/NonAuth","initParameters":[{"name":"Uri","type":"Uri","required":true,"oldName":"Uri","oldType":"Uri","defaultValue":"http://servername:port/resource"},{"name":"Method","type":"string","required":true,"oldName":"Method","oldType":"String","defaultValue":"POST"},{"name":"Headers","type":"StringDictionary","required":false,"oldName":"Headers","oldType":"StringDictionary","defaultValue":"{\r\n \"Content-Type\":\"application/json;charset=utf-16\",\r\n \"system\":\"204\",\r\n \"global_unique_id\":\"6a297fcb-956e-4228-8c11-017e9bacd629\"\r\n }"},{"name":"Body","type":"string","required":false,"oldName":"Body","oldType":"String","defaultValue":"{}"},{"name":"Encoding","type":"string","required":false,"oldName":"Encoding","oldType":"String","defaultValue":"utf-8"},{"name":"Timeout","type":"int","required":false,"oldName":"Timeout","oldType":"int","defaultValue":"0"},{"name":"Result","type":"HttpResponse","required":false,"oldName":"Result","oldType":"HttpResponse","defaultValue":null}],"oldName":"RestApiNonAuth"},{"name":"RestApi","initCode":"functions://default/RestApi","initParameters":[{"name":"Uri","type":"Uri","required":true,"oldName":"Uri","oldType":"Uri","defaultValue":"http://servername:port/resource"},{"name":"Method","type":"string","required":true,"oldName":"Method","oldType":"String","defaultValue":"POST"},{"name":"Login","type":"string","required":false,"oldName":"Login","oldType":"String","defaultValue":""},{"name":"Password","type":"string","required":false,"oldName":"Password","oldType":"String","defaultValue":""},{"name":"Headers","type":"StringDictionary","required":false,"oldName":"Headers","oldType":"StringDictionary","defaultValue":"{ \"Content-Type\": \"application/json\" }"},{"name":"Body","type":"string","required":false,"oldName":"Body","oldType":"String","defaultValue":"{}"},{"name":"Encoding","type":"string","required":false,"oldName":"Encoding","oldType":"String","defaultValue":"utf-8"},{"name":"Timeout","type":"int","required":false,"oldName":"Timeout","oldType":"int","defaultValue":"100000"},{"name":"Result","type":"HttpResponse","required":false,"oldName":"Result","oldType":"HttpResponse","defaultValue":null}],"oldName":"RestApi"},{"name":"RestApi/GET","initCode":"functions://default/RestApi/Get","initParameters":[{"name":"Uri","type":"Uri","required":true,"oldName":"Uri","oldType":"Uri","defaultValue":"http://servername:port/resource"},{"name":"Login","type":"string","required":false,"oldName":"Login","oldType":"String","defaultValue":""},{"name":"Password","type":"string","required":false,"oldName":"Password","oldType":"String","defaultValue":""},{"name":"Headers","type":"StringDictionary","required":false,"oldName":"Headers","oldType":"StringDictionary","defaultValue":"{ \"Content-Type\": \"application/json\" }"},{"name":"Encoding","type":"string","required":false,"oldName":"Encoding","oldType":"String","defaultValue":"utf-8"},{"name":"Timeout","type":"int","required":false,"oldName":"Timeout","oldType":"int","defaultValue":"100000"},{"name":"Result","type":"HttpResponse","required":false,"oldName":"Result","oldType":"HttpResponse","defaultValue":null}],"oldName":"RestApi/GET"},{"name":"JsonPath","initCode":"functions://default//JsonPath","initParameters":[{"name":"Response","type":"HttpResponse","required":true,"oldName":"Response","oldType":"HttpResponse","defaultValue":null},{"name":"Path","type":"string","required":false,"oldName":"Path","oldType":"String","defaultValue":"$"},{"name":"Result","type":"Json","required":false,"oldName":"Result","oldType":"Json","defaultValue":null}],"oldName":"JsonPath"},{"name":"SaveVariable","initCode":"functions://default//SaveVariable","initParameters":[{"name":"VariableName","type":"string","required":true,"oldName":"VariableName","oldType":"string","defaultValue":"varName"},{"name":"Data","type":"object","required":true,"oldName":"Data","oldType":"object","defaultValue":"#previous"}],"oldName":"SaveVariable"},{"name":"SQL/Oracle/Query","initCode":"functions://default//SQL/Oracle/Query","initParameters":[{"name":"userID","type":"string","required":true,"oldName":"userID","oldType":"String","defaultValue":null},{"name":"password","type":"string","required":false,"oldName":"password","oldType":"String","defaultValue":null},{"name":"dataSource","type":"string","required":false,"oldName":"dataSource","oldType":"String","defaultValue":null},{"name":"query","type":"string","required":false,"oldName":"query","oldType":"String","defaultValue":null},{"name":"Result","type":"Collection","required":false,"oldName":"Result","oldType":"Collection","defaultValue":null}],"oldName":"SQL/Oracle/Query"},{"name":"SQL/Oracle/Command","initCode":"functions://default//SQL/Oracle/Command","initParameters":[{"name":"userID","type":"string","required":true,"oldName":"userID","oldType":"String","defaultValue":null},{"name":"password","type":"string","required":false,"oldName":"password","oldType":"String","defaultValue":null},{"name":"dataSource","type":"string","required":false,"oldName":"dataSource","oldType":"String","defaultValue":null},{"name":"command","type":"string","required":false,"oldName":"command","oldType":"String","defaultValue":null},{"name":"Result","type":"int","required":false,"oldName":"Result","oldType":"int","defaultValue":null}],"oldName":"SQL/Oracle/Command"},{"name":"AI/Completions","initCode":"functions://default//AI/Completions","initParameters":[{"name":"Model","type":"string","required":true,"oldName":"Model","oldType":"String","defaultValue":"meta-llama/Llama-3.1-8B-Instruct"},{"name":"Messages","type":"ChatCompletionsRequestMessageViewModel[]","required":true,"oldName":"Messages","oldType":"ChatCompletionsRequestMessageViewModel[]","defaultValue":null},{"name":"Config","type":"ConfigViewModel","required":true,"oldName":"Config","oldType":"ConfigViewModel","defaultValue":null},{"name":"Result","type":"string[]","required":false,"oldName":"Result","oldType":"string[]","defaultValue":null}],"oldName":"AI/Completions"},{"name":"AI/ExecuteReader","initCode":"functions://default//AI/ExecuteReader","initParameters":[{"name":"vectorExecuteRequest","type":"string","required":true,"oldName":"vectorExecuteRequest","oldType":"String","defaultValue":null},{"name":"Result","type":"string","required":false,"oldName":"Result","oldType":"string","defaultValue":null}],"oldName":"AI/ExecuteReader"},{"name":"AI/ExecuteNonQuery","initCode":"functions://default//AI/ExecuteNonQuery","initParameters":[{"name":"vectorExecuteRequest","type":"string","required":true,"oldName":"vectorExecuteRequest","oldType":"String","defaultValue":null},{"name":"Result","type":"string","required":false,"oldName":"Result","oldType":"string","defaultValue":null}],"oldName":"AI/ExecuteNonQuery"}] - [] - [{"name":"alias","type":"string","initialValue":"bss"},{"name":"content","type":"Response","initialValue":""},{"name":"pluginName","type":"string","initialValue":"BSS.Entities"},{"name":"stopWord","type":"string","initialValue":"stop"},{"name":"stopWordsCount","type":"int","initialValue":"1"}] - {"ModelName":"WorkflowInputData","Events":[{"Id":null,"NodeId":"__start_signal_event_node__","Data":{"eventId":1095,"eventTime":"2025-11-12 16:40:58","params":{"accountStatus":"active","lastName":"Прізвище","firstName":"Імʼя","taxProfile":"27.50","contractNumber":"100000001","accountClass":"30","accountType":"Commercial","creationDate":"2025-11-12 16:40:58","accountNumber":"200000000000","modifiedBy":"00000000000000000000000000000000_0","action":"1"},"subscriberId":"2000000000","subscriberType":1},"DateTime":"2025-11-12T16:46:10.2546364"}],"Input":{"URL":"http://servername:port","login":"","password":"","alias":"bss","pluginname":"BSS.Entities","message":"OK","inputMessage":["stop"]}} - - - - Flow_08eqg34 - - - DataObjectReference_1a2hfh4 - Property_1rqqtzp - - - - - - - - - - {"actionType":"Expression","action":"\nforeach(var s in Input.inputMessage)\n{\n\tAction.BoundaryEvents[\"Event_Start_Sending\"].Raise(s);\n}\nreturn null;"} - - Flow_1axhwop - Flow_2 - - - - {"actionType":"Function","action":"RestApi/GET","actionParam":{"Uri":"{Input.URL}/api/v0/message/sse/connect?alias={Parameters.alias}&pluginName={Parameters.pluginName}","Login":"{Input.login}","Password":"{Input.password}","Headers":"{\"Content-Type\":\"application/json\",\n\n\"Accept\":\"text/event-stream\"}","Encoding":"utf-8","Timeout":"0"},"libName":"","libEntity":"","libMethod":""} - - Flow_0xuw6mo - Flow_13y22uf - - - Flow_0fsll7q - Flow_0isdzfm - Flow_1k2gom5 - - - - Flow_1 - Flow_2 - Flow_0rt7it1 - - - - {"actionType":"Expression","action":"List<string> result = new List<string>();\nint counter = 0;\nstring data = #Previous.Reader.ReadLine();\nwhile (data != null)\n{\n\tif (!string.IsNullOrEmpty(data))\n\t{\n\t\tresult.Add(data);\n\t\tif(data.EndsWith($\"\\\"{Parameters.stopWord}\\\"\"))\n counter ++;\n\t}\n\tif(counter >= Parameters.stopWordsCount)\n\t{\n\t #Previous.Reader.Dispose();\n\t return result;\n\t}\n\t\n\tdata = #Previous.Reader.ReadLine();\n}\n#Previous.Reader.Dispose();\nresult.Add(\"null\");\nreturn result;"} - - Flow_0isdzfm - Flow_1 - - - - Flow_1drwhel - - - - - {"tsk_ProcessName":"Server-side events","data":{"alias":"bss","pluginname":"BSS.Entities"},"lang":"en"} - - Flow_1drwhel - - - - - - {"actionType":"Expression","action":"List<string> d = (List<string>)#Previous[\"Activity_Read_Response\"]; \n\nstring answer=\"\";\nstring messageAnswer = \"data: \\\"\"+Input.message+\"\\\"\";\nforeach(var s in d)\n{\nLogger.LogInformation(s);\n if (s == messageAnswer){\nanswer=messageAnswer; \n//break;\n}\n\n\n}\nif (Parameters.content.subscribers == null)\n{\n return null ; \n}\nreturn new{ answer,\n Parameters.content.subscribers\n};"} - - Flow_0rt7it1 - Flow_08eqg34 - - - - - Flow_13y22uf - Flow_0fsll7q - Flow_Not_200 - - - - - {"actionType":"Expression","action":"return \"not 200\";"} - - Flow_Not_200 - Flow_00ytzcy - Flow_13s4qsf - - - - - #Previous.StatusCode != 200 - - - - Flow_13s4qsf - - - DataObjectReference_04ijmd3 - Property_0b2kzc3 - - - - - - - - {"actionType":"Function","action":"RestApi","actionParam":{"Uri":"{Input.URL}/api/v0/message/sse/send","Method":"POST","Login":"{Input.login}","Password":"{Input.password}","Headers":"{\"Content-Type\":\"application/json\",\n\n\"Accept\":\"text/event-stream\"}","Body":"{\n \"alias\":\"{{Input.alias}}\",\n \"pluginname\":\"{{Input.pluginname}}\",\n\n \"message\": \"{{Input.message}}\"\n}","Encoding":"utf-8","Timeout":"0"},"libName":"","libEntity":"","libMethod":""} - - Flow_1k2gom5 - Flow_0zzfwd8 - - - - Flow_0zzfwd8 - Flow_084xf6w - Flow_00ytzcy - - - - #Previous.StatusCode != 200 - - - - {"actionType":"Action","action":"DataResult","actionParam":{"Response":"#Previous"},"libName":"","libEntity":"","libMethod":""} - - Flow_084xf6w - Flow_1axhwop - - - - - {"name":"eventHub-operator","type":"kafka","data":[{"value":"eventId","type":"array","default":null,"inputedValue":["1096"]}],"startArgs":{"run":"auto","debug":false,"async":false},"description":"eventHub-operator"} - - Flow_0xuw6mo - - DataObjectReference_0eqkq7z - - - - - This Task is receiving SSE from external plugin bss/BSS.Entities - - - - This Task is sending SSE to external plugin bss/BSS.Entities - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/flow-patterns/07-triggers/http-route-start.bpmn b/flow-patterns/07-triggers/http-route-start.bpmn deleted file mode 100644 index 1f942c8..0000000 --- a/flow-patterns/07-triggers/http-route-start.bpmn +++ /dev/null @@ -1,128 +0,0 @@ - - - - ["Action","Function"] - [{"name":"ErrorResponse","definition":"{\r\n \"$schema\": \"http://json-schema.org/draft-06/schema#\",\r\n \"$ref\": \"#/definitions/ErrorResponse\",\r\n \"definitions\": {\r\n \"ErrorResponse\": {\r\n \"type\": \"object\",\r\n \"additionalProperties\": true,\r\n \"properties\": {\r\n \"LevelMessage\": {\r\n \"title\": \"The Error level\",\r\n \"type\": \"string\"\r\n },\r\n \"statusCode\": {\r\n \"title\": \"The Error Status Code\",\r\n \"type\": \"integer\"\r\n },\r\n \"ErrNumber\": {\r\n \"title\": \"The Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Message\": {\r\n \"title\": \"The Error Message\",\r\n \"type\": \"string\"\r\n },\r\n \"State\": {\r\n \"title\": \"The Error State\",\r\n \"type\": \"string\"\r\n },\r\n \"HelpLink\": {\r\n \"title\": \"The Help Link\",\r\n \"type\": \"string\"\r\n },\r\n \"errNumberReason\": {\r\n \"title\": \"The initial Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Data\": {\r\n \"title\": \"The Error Data\",\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"LevelMessage\": {\r\n \"title\": \"The Error level\",\r\n \"type\": \"string\"\r\n },\r\n \"statusCode\": {\r\n \"title\": \"The Error Status Code\",\r\n \"type\": \"integer\"\r\n },\r\n \"ErrNumber\": {\r\n \"title\": \"The Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Message\": {\r\n \"title\": \"The Error Message\",\r\n \"type\": \"string\"\r\n },\r\n \"State\": {\r\n \"title\": \"The Error State\",\r\n \"type\": \"string\"\r\n },\r\n \"HelpLink\": {\r\n \"title\": \"The Help Link\",\r\n \"type\": \"string\"\r\n },\r\n \"errNumberReason\": {\r\n \"title\": \"The initial Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Data\": {\r\n \"title\": \"The Data Schema\",\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"LevelMessage\": {\r\n \"title\": \"The Error level\",\r\n \"type\": \"string\"\r\n },\r\n \"statusCode\": {\r\n \"title\": \"The Error Status Code\",\r\n \"type\": \"integer\"\r\n },\r\n \"ErrNumber\": {\r\n \"title\": \"The Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Message\": {\r\n \"title\": \"The Error Message\",\r\n \"type\": \"string\"\r\n },\r\n \"State\": {\r\n \"title\": \"The Error State\",\r\n \"type\": \"string\"\r\n },\r\n \"HelpLink\": {\r\n \"title\": \"The Help Link\",\r\n \"type\": \"string\"\r\n },\r\n \"errNumberReason\": {\r\n \"title\": \"The initial Error Number\",\r\n \"type\": \"string\"\r\n }\r\n }\r\n },\r\n \"ResolveUrl\": {\r\n \"title\": \"The Resolve Url Link\",\r\n \"type\": \"string\"\r\n }\r\n }\r\n },\r\n \"ResolveUrl\": {\r\n \"title\": \"The Resolve Url Link\",\r\n \"type\": \"string\"\r\n },\r\n \"extraData\": {\r\n \"title\": \"The Error Extra Data \",\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"operationDuration\": {\r\n \"title\": \"The Operation Duration\",\r\n \"type\": \"integer\"\r\n }\r\n }\r\n }\r\n },\r\n \"title\": \"ErrorResponse\"\r\n }\r\n }\r\n}","isNativeDefinition":false},{"name":"HttpConfig","definition":"{\r\n \"$schema\":\"http://natec.tech/simpleschema\",\r\n \"$ref\":\"#/definitions/HttpConfig\",\r\n \"definitions\":{\r\n \"HttpConfig\":{\r\n \"type\":\"object\",\r\n \"properties\":{\r\n \"host\":{\r\n \"type\":\"string\"\r\n },\r\n \"port\":{\r\n \"type\":\"string\"\r\n },\r\n \"login\":{\r\n \"type\":\"string\"\r\n },\r\n \"password\":{\r\n \"type\":\"string\"\r\n },\r\n \"encoding\":{\r\n \"type\":\"string\"\r\n },\r\n \"headers\":{\r\n \"type\":\"StringDictionary<string, string>\"\r\n }\r\n },\r\n \"required\": [\"host\", \"encoding\", \"headers\"],\r\n \"title\":\"HttpConfig\"\r\n }\r\n }\r\n}","isNativeDefinition":false},{"name":"OracleConfig","definition":"{\r\n \"$schema\":\"http://natec.tech/simpleschema\",\r\n \"$ref\":\"#/definitions/OracleConfig\",\r\n \"definitions\":{\r\n \"OracleConfig\":{\r\n \"type\":\"object\",\r\n \"properties\":{\r\n \"userId\":{\r\n \"type\":\"string\"\r\n },\r\n \"password\":{\r\n \"type\":\"string\"\r\n },\r\n \"dataSource\":{\r\n \"type\":\"string\"\r\n }\r\n },\r\n \"required\": [\"userId\", \"password\", \"dataSource\"],\r\n \"title\":\"OracleConfig\"\r\n }\r\n }\r\n}","isNativeDefinition":false},{"name":"SystemException","definition":"{\r\n \"$schema\":\"http://natec.tech/simpleschema\",\r\n \"$ref\":\"#/definitions/SystemException\",\r\n \"definitions\":{\r\n \"SystemException\":{\r\n \"type\":\"object\",\r\n \"properties\":{\r\n \"Exception\":{\r\n \"type\":\"types://core/System.Exception\"\r\n },\r\n \"info\":{\r\n \"type\":\"string\"\r\n }\r\n },\r\n \"title\":\"SystemException\"\r\n }\r\n }\r\n}","isNativeDefinition":false},{"name":"TestClass","definition":"\r\n/// A product to be created defined by value or existing defined by reference. The polymorphic attributes type, schemaLocation referredType are related to the product entity and not the RelatedProductRefOrValue class itself\r\n\r\npublic class TestClass { \r\n\tpublic int Id {get;set;}\r\n}","isNativeDefinition":true}] - [{"name":"AmaAgentModel","definition":"types://external/ama_base_agent/AmaAgentModel"},{"name":"AmaChatBodyRequest","definition":"types://external/ama_base_agent/AmaChatBodyRequest"},{"name":"AmaMessageDelivery","definition":"types://external/ama_base_agent/AmaMessageDelivery"},{"name":"AmaMessageModel","definition":"types://external/ama_base_agent/AmaMessageModel"},{"name":"ChatCompletionsRequestMessageViewModel","definition":"types://external/ai/UCP.Common.AI.ChatCompletionsRequestMessageViewModel"},{"name":"SseMessage","definition":"types://external/ai/UCP.Common.Dto.Sse.SseMessage"}] - [] - [{"name":"bll","link":"libs://common/bll","version":"","entities":[]},{"name":"ai","link":"libs://common/ai","version":"","entities":[]},{"name":"Platform","link":"libs://common/platform","version":"","entities":[]},{"name":"ama_base_agent","link":"activities://bpmn-mnemo/tenant/AI_Agents_Shared/ama_base_agent/#latest"}] - [{"name":"RestApiNonAuth","initCode":"functions://default/RestApi/NonAuth","initParameters":[{"name":"Uri","type":"Uri","required":true,"oldName":"Uri","oldType":"Uri","defaultValue":"http://servername:port/resource"},{"name":"Method","type":"string","required":true,"oldName":"Method","oldType":"String","defaultValue":"POST"},{"name":"Headers","type":"StringDictionary","required":false,"oldName":"Headers","oldType":"StringDictionary","defaultValue":"{\r\n \"Content-Type\":\"application/json;charset=utf-16\",\r\n \"system\":\"204\",\r\n \"global_unique_id\":\"6a297fcb-956e-4228-8c11-017e9bacd629\"\r\n }"},{"name":"Body","type":"string","required":false,"oldName":"Body","oldType":"String","defaultValue":"{}"},{"name":"Encoding","type":"string","required":false,"oldName":"Encoding","oldType":"String","defaultValue":"utf-8"},{"name":"Timeout","type":"int","required":false,"oldName":"Timeout","oldType":"int","defaultValue":"0"},{"name":"Result","type":"HttpResponse","required":false,"oldName":"Result","oldType":"HttpResponse","defaultValue":null}],"oldName":"RestApiNonAuth"},{"name":"RestApi","initCode":"functions://default/RestApi","initParameters":[{"name":"Uri","type":"Uri","required":true,"oldName":"Uri","oldType":"Uri","defaultValue":"http://servername:port/resource"},{"name":"Method","type":"string","required":true,"oldName":"Method","oldType":"String","defaultValue":"POST"},{"name":"Login","type":"string","required":false,"oldName":"Login","oldType":"String","defaultValue":""},{"name":"Password","type":"string","required":false,"oldName":"Password","oldType":"String","defaultValue":""},{"name":"Headers","type":"StringDictionary","required":false,"oldName":"Headers","oldType":"StringDictionary","defaultValue":"{ \"Content-Type\": \"application/json\" }"},{"name":"Body","type":"string","required":false,"oldName":"Body","oldType":"String","defaultValue":"{}"},{"name":"Encoding","type":"string","required":false,"oldName":"Encoding","oldType":"String","defaultValue":"utf-8"},{"name":"Timeout","type":"int","required":false,"oldName":"Timeout","oldType":"int","defaultValue":"100000"},{"name":"Result","type":"HttpResponse","required":false,"oldName":"Result","oldType":"HttpResponse","defaultValue":null}],"oldName":"RestApi"},{"name":"RestApi/GET","initCode":"functions://default/RestApi/Get","initParameters":[{"name":"Uri","type":"Uri","required":true,"oldName":"Uri","oldType":"Uri","defaultValue":"http://servername:port/resource"},{"name":"Login","type":"string","required":false,"oldName":"Login","oldType":"String","defaultValue":""},{"name":"Password","type":"string","required":false,"oldName":"Password","oldType":"String","defaultValue":""},{"name":"Headers","type":"StringDictionary","required":false,"oldName":"Headers","oldType":"StringDictionary","defaultValue":"{ \"Content-Type\": \"application/json\" }"},{"name":"Encoding","type":"string","required":false,"oldName":"Encoding","oldType":"String","defaultValue":"utf-8"},{"name":"Timeout","type":"int","required":false,"oldName":"Timeout","oldType":"int","defaultValue":"100000"},{"name":"Result","type":"HttpResponse","required":false,"oldName":"Result","oldType":"HttpResponse","defaultValue":null}],"oldName":"RestApi/GET"},{"name":"JsonPath","initCode":"functions://default//JsonPath","initParameters":[{"name":"Response","type":"HttpResponse","required":true,"oldName":"Response","oldType":"HttpResponse","defaultValue":null},{"name":"Path","type":"string","required":false,"oldName":"Path","oldType":"String","defaultValue":"$"},{"name":"Result","type":"Json","required":false,"oldName":"Result","oldType":"Json","defaultValue":null}],"oldName":"JsonPath"},{"name":"SaveVariable","initCode":"functions://default//SaveVariable","initParameters":[{"name":"VariableName","type":"string","required":true,"oldName":"VariableName","oldType":"string","defaultValue":"varName"},{"name":"Data","type":"object","required":true,"oldName":"Data","oldType":"object","defaultValue":"#previous"}],"oldName":"SaveVariable"},{"name":"SQL/Oracle/Query","initCode":"functions://default//SQL/Oracle/Query","initParameters":[{"name":"userID","type":"string","required":true,"oldName":"userID","oldType":"String","defaultValue":null},{"name":"password","type":"string","required":false,"oldName":"password","oldType":"String","defaultValue":null},{"name":"dataSource","type":"string","required":false,"oldName":"dataSource","oldType":"String","defaultValue":null},{"name":"query","type":"string","required":false,"oldName":"query","oldType":"String","defaultValue":null},{"name":"Result","type":"Collection","required":false,"oldName":"Result","oldType":"Collection","defaultValue":null}],"oldName":"SQL/Oracle/Query"},{"name":"SQL/Oracle/Command","initCode":"functions://default//SQL/Oracle/Command","initParameters":[{"name":"userID","type":"string","required":true,"oldName":"userID","oldType":"String","defaultValue":null},{"name":"password","type":"string","required":false,"oldName":"password","oldType":"String","defaultValue":null},{"name":"dataSource","type":"string","required":false,"oldName":"dataSource","oldType":"String","defaultValue":null},{"name":"command","type":"string","required":false,"oldName":"command","oldType":"String","defaultValue":null},{"name":"Result","type":"int","required":false,"oldName":"Result","oldType":"int","defaultValue":null}],"oldName":"SQL/Oracle/Command"},{"name":"AI/Completions","initCode":"functions://default//AI/Completions","initParameters":[{"name":"Model","type":"string","required":true,"oldName":"Model","oldType":"String","defaultValue":"meta-llama/Llama-3.1-8B-Instruct"},{"name":"Messages","type":"ChatCompletionsRequestMessageViewModel[]","required":true,"oldName":"Messages","oldType":"ChatCompletionsRequestMessageViewModel[]","defaultValue":null},{"name":"Result","type":"string[]","required":false,"oldName":"Result","oldType":"string[]","defaultValue":null}],"oldName":"AI/Completions"},{"name":"AI/ExecuteReader","initCode":"functions://default//AI/ExecuteReader","initParameters":[{"name":"vectorExecuteRequest","type":"string","required":true,"oldName":"vectorExecuteRequest","oldType":"String","defaultValue":null},{"name":"Result","type":"string","required":false,"oldName":"Result","oldType":"string","defaultValue":null}],"oldName":"AI/ExecuteReader"},{"name":"AI/ExecuteNonQuery","initCode":"functions://default//AI/ExecuteNonQuery","initParameters":[{"name":"vectorExecuteRequest","type":"string","required":true,"oldName":"vectorExecuteRequest","oldType":"String","defaultValue":null},{"name":"Result","type":"string","required":false,"oldName":"Result","oldType":"string","defaultValue":null}],"oldName":"AI/ExecuteNonQuery"},{"name":"IO/Local/File","initCode":"functions://default//IO/Local/File","initParameters":[{"name":"storeType","type":"string","required":true,"oldName":"storeType","oldType":"String","defaultValue":null},{"name":"fileName","type":"string","required":true,"oldName":"fileName","oldType":"String","defaultValue":null},{"name":"fileContent","type":"string","required":true,"oldName":"fileContent","oldType":"String","defaultValue":null}],"oldName":"IO/Local/File"},{"name":"SQL/MSSQL/Command","initCode":"functions://default//SQL/MSSQL/Command","initParameters":[{"name":"connectionString","type":"string","required":true,"oldName":"connectionString","oldType":"String","defaultValue":null},{"name":"command","type":"string","required":false,"oldName":"command","oldType":"String","defaultValue":null},{"name":"Result","type":"Collection","required":false,"oldName":"Result","oldType":"Collection","defaultValue":null}],"oldName":"SQL/MSSQL/Command"}] - [] - [{"name":"oracleConfig","type":"OracleConfig","initialValue":"{\r\n \"userId\":\"dbuser\",\r\n \"password\":\"\",\r\n \"dataSource\":\"dbhost:1521/servicename\"\r\n}\r\n"},{"name":"httpConfig","type":"HttpConfig","initialValue":"{\r\n \"host\":\"http://servername\",\r\n \"port\":\"6992\",\r\n \"login\":\"\",\r\n \"password\":\"\",\r\n \"encoding\":\"utf-8\",\r\n \"headers\":{\r\n \"Content-Type\":\"application/vnd.api+json\",\r\n \"Accept\":\"application/vnd.api+json\"\r\n }\r\n}\r\n"}] - {"message_delivery":{"conversation_id":"3765918b-0b5f-463f-bd44-ac8f90e17386","receiver_id":"5563b34a-e640-48f4-ade3-950eddb50ef0"},"messages":[{"role":"user","content":"Які можливі значення міток пакетів та на що вони впливають?\n"},{"role":"system","content":"Мітки пакетів — це ідентифікатори, які додаються до тарифних пакетів для їх класифікації та визначення правил застосування. Вони допомагають в організації тарифних пропозицій та впливають на їх застосування та доступність для абонентів.\\n\\n**Можливі значення міток пакетів:**\\n\\nМітки пакетів можуть варіюватися залежно від конкретного контексту та потреб. В таблиці, яку ви надали, є кільк\n"}]} - - - - - {"status":"HttpRequestAttributes","method":"POST","route":"chat"} - - Flow_0xuw6mo - - DataObjectReference_0eqkq7z - - - - Flow_1ee5aep - - - DataObjectReference_1a2hfh4 - Property_1rqqtzp - - - - - {"actionType":"Expression","action":"var resp = new JSON(#Previous).Cast<AmaChatBodyRequest>();\n \n// resp.messages.Add(new AmaMessageModel {\n// role = resp.messages[0]?.role ?? \"system\",\n// content = \"echo \" + resp.messages[0]?.content ?? \"no content\"\n// });\n\nreturn Input;","actionParam":null,"libName":"","libEntity":"","libMethod":""} - - Flow_0xuw6mo - Flow_0ss9m19 - - - - - - - - - - - {"libName":"AI_Agents_Shared","libId":"2","libType":"tenant","flowName":"chat-compleation-call","flowId":"10","version":"#latest","packSize":1} - activities://bpmn-mnemo/tenant/AI_Agents_Shared/chat-compleation-call/#latest - - Flow_0ss9m19 - Flow_1keoquu - - - - {"actionType":"Expression","action":"return #Previous;"} - - Flow_1keoquu - Flow_1ee5aep - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/flow-patterns/08-ai-agents/ai-completions.bpmn b/flow-patterns/08-ai-agents/ai-completions.bpmn deleted file mode 100644 index 8cffbce..0000000 --- a/flow-patterns/08-ai-agents/ai-completions.bpmn +++ /dev/null @@ -1,142 +0,0 @@ - - - - ["Action","Function"] - [{"name":"ErrorResponse","definition":"{\r\n \"$schema\": \"http://json-schema.org/draft-06/schema#\",\r\n \"$ref\": \"#/definitions/ErrorResponse\",\r\n \"definitions\": {\r\n \"ErrorResponse\": {\r\n \"type\": \"object\",\r\n \"additionalProperties\": true,\r\n \"properties\": {\r\n \"LevelMessage\": {\r\n \"title\": \"The Error level\",\r\n \"type\": \"string\"\r\n },\r\n \"statusCode\": {\r\n \"title\": \"The Error Status Code\",\r\n \"type\": \"integer\"\r\n },\r\n \"ErrNumber\": {\r\n \"title\": \"The Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Message\": {\r\n \"title\": \"The Error Message\",\r\n \"type\": \"string\"\r\n },\r\n \"State\": {\r\n \"title\": \"The Error State\",\r\n \"type\": \"string\"\r\n },\r\n \"HelpLink\": {\r\n \"title\": \"The Help Link\",\r\n \"type\": \"string\"\r\n },\r\n \"errNumberReason\": {\r\n \"title\": \"The initial Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Data\": {\r\n \"title\": \"The Error Data\",\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"LevelMessage\": {\r\n \"title\": \"The Error level\",\r\n \"type\": \"string\"\r\n },\r\n \"statusCode\": {\r\n \"title\": \"The Error Status Code\",\r\n \"type\": \"integer\"\r\n },\r\n \"ErrNumber\": {\r\n \"title\": \"The Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Message\": {\r\n \"title\": \"The Error Message\",\r\n \"type\": \"string\"\r\n },\r\n \"State\": {\r\n \"title\": \"The Error State\",\r\n \"type\": \"string\"\r\n },\r\n \"HelpLink\": {\r\n \"title\": \"The Help Link\",\r\n \"type\": \"string\"\r\n },\r\n \"errNumberReason\": {\r\n \"title\": \"The initial Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Data\": {\r\n \"title\": \"The Data Schema\",\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"LevelMessage\": {\r\n \"title\": \"The Error level\",\r\n \"type\": \"string\"\r\n },\r\n \"statusCode\": {\r\n \"title\": \"The Error Status Code\",\r\n \"type\": \"integer\"\r\n },\r\n \"ErrNumber\": {\r\n \"title\": \"The Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Message\": {\r\n \"title\": \"The Error Message\",\r\n \"type\": \"string\"\r\n },\r\n \"State\": {\r\n \"title\": \"The Error State\",\r\n \"type\": \"string\"\r\n },\r\n \"HelpLink\": {\r\n \"title\": \"The Help Link\",\r\n \"type\": \"string\"\r\n },\r\n \"errNumberReason\": {\r\n \"title\": \"The initial Error Number\",\r\n \"type\": \"string\"\r\n }\r\n }\r\n },\r\n \"ResolveUrl\": {\r\n \"title\": \"The Resolve Url Link\",\r\n \"type\": \"string\"\r\n }\r\n }\r\n },\r\n \"ResolveUrl\": {\r\n \"title\": \"The Resolve Url Link\",\r\n \"type\": \"string\"\r\n },\r\n \"extraData\": {\r\n \"title\": \"The Error Extra Data \",\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"operationDuration\": {\r\n \"title\": \"The Operation Duration\",\r\n \"type\": \"integer\"\r\n }\r\n }\r\n }\r\n },\r\n \"title\": \"ErrorResponse\"\r\n }\r\n }\r\n}","isNativeDefinition":false},{"name":"HttpConfig","definition":"{\r\n \"$schema\":\"http://natec.tech/simpleschema\",\r\n \"$ref\":\"#/definitions/HttpConfig\",\r\n \"definitions\":{\r\n \"HttpConfig\":{\r\n \"type\":\"object\",\r\n \"properties\":{\r\n \"host\":{\r\n \"type\":\"string\"\r\n },\r\n \"port\":{\r\n \"type\":\"string\"\r\n },\r\n \"login\":{\r\n \"type\":\"string\"\r\n },\r\n \"password\":{\r\n \"type\":\"string\"\r\n },\r\n \"encoding\":{\r\n \"type\":\"string\"\r\n },\r\n \"headers\":{\r\n \"type\":\"StringDictionary<string, string>\"\r\n }\r\n },\r\n \"required\": [\"host\", \"encoding\", \"headers\"],\r\n \"title\":\"HttpConfig\"\r\n }\r\n }\r\n}","isNativeDefinition":false},{"name":"OracleConfig","definition":"{\r\n \"$schema\":\"http://natec.tech/simpleschema\",\r\n \"$ref\":\"#/definitions/OracleConfig\",\r\n \"definitions\":{\r\n \"OracleConfig\":{\r\n \"type\":\"object\",\r\n \"properties\":{\r\n \"userId\":{\r\n \"type\":\"string\"\r\n },\r\n \"password\":{\r\n \"type\":\"string\"\r\n },\r\n \"dataSource\":{\r\n \"type\":\"string\"\r\n }\r\n },\r\n \"required\": [\"userId\", \"password\", \"dataSource\"],\r\n \"title\":\"OracleConfig\"\r\n }\r\n }\r\n}","isNativeDefinition":false},{"name":"SystemException","definition":"{\r\n \"$schema\":\"http://natec.tech/simpleschema\",\r\n \"$ref\":\"#/definitions/SystemException\",\r\n \"definitions\":{\r\n \"SystemException\":{\r\n \"type\":\"object\",\r\n \"properties\":{\r\n \"Exception\":{\r\n \"type\":\"types://core/System.Exception\"\r\n },\r\n \"info\":{\r\n \"type\":\"string\"\r\n }\r\n },\r\n \"title\":\"SystemException\"\r\n }\r\n }\r\n}","isNativeDefinition":false},{"name":"TestClass","definition":"\r\n/// A &product @to be @created defined by value or existing defined by reference. The polymorphic attributes type, schemaLocation referredType are related to the product entity and not the RelatedProductRefOrValue class itself\r\n\r\npublic class TestClass { \r\n\tpublic int Id {get;set;}\r\n}","isNativeDefinition":true}] - [{"name":"ChatCompletionsRequestMessageViewModel","definition":"types://external/ai/UCP.Common.AI.ChatCompletionsRequestMessageViewModel"},{"name":"ConfigViewModel","definition":"types://external/ai/UCP.Common.AI.ConfigViewModel"},{"name":"Config","definition":"types://external/Create_Config_Yiz_Http/Config"}] - [{"name":"InspectOracleResult","initCode":"string[] InspectOracleResult (\n\t\tCollection oracleData\n\t) \n {\n //get single value\n //Logger.LogInformation($\"get single value of FIELD_NAME1 by index: syntax oracleData[index].FIELD_NAME1\");\n var field_first = oracleData[0].FIELD_NAME1;\n\n //enumeration of FIELD_NAME1 (with LINQ)\n var field_rows = from row in oracleData\n select row.FIELD_NAME1;\n //passing by enumeration\n Logger.LogInformation($\"passing by enumeration field_rows of var1: syntax FIELD_NAME1:var1\");\n foreach (var field1 in field_rows)\n Logger.LogInformation($\"FIELD_NAME1:{field1}\");\n\n //get array of msisdn from enumeration\n Logger.LogInformation($\"get array from enumeration: syntax field_rows.ToArray()\");\n var myArray = field_rows.ToArray();\n //get first value from array\n var field_from_Array = myArray[0];\n\n //passing by enumeration of whole dataset\n Logger.LogInformation($\"passing by enumeration of whole dataset: syntax FIELD_NAME1:row.FIELD_NAME1, FIELD_NAME2:row.FIELD_NAME2 etc...\");\n foreach (var row in oracleData)\n Logger.LogInformation($\"FIELD_NAME1:{row.FIELD_NAME1}\");\n\n //convert whole dataset to string \n var field_list = from row in oracleData\n select row.FIELD_NAME1 as string;\n //convert string to string array \n return field_list.ToList();\n\n }","initParameters":[{"name":"Result","type":"string[]"},{"name":"oracleData","type":"Collection","required":true}]},{"name":"HandleException","initCode":"ErrorResponse HandleException (\n\t\tPassingResult prevData\n\t) \n {\n try\n {\n //investigate the Exception \n Logger.LogInformation($\"Exception name : {prevData.Exception.GetType().Name}\");\n //casting to exception example\n OracleException exception = null;\n if (prevData.Exception is OracleException)\n {\n exception = prevData.Exception as OracleException;\n }\n \n //forming the HTTP error result\n if (WorkflowEnvironment.RuntimeName == \"UCP\")\n WorkflowEnvironment.Variables[\"StatusCode\"] = 500;\n return new ErrorResponse()\n {\n Message = string.Concat(prevData.Exception.Message, $\"({prevData.Exception.InnerException?.Message})\"),\n LevelMessage = \"11\",\n statusCode = 500,\n State = \"1\",\n //ErrNumber = exception.Number.ToString()\n }; \n }\n catch (Exception e) {\n Logger.LogError($\"HandleException:: error {e}\");\n throw new Exception($\"HandleException:: error {e}\");\n }\n }","initParameters":[{"name":"Result","type":"ErrorResponse"},{"name":"prevData","type":"PassingResult","required":true}]},{"name":"CodeActionExample","initCode":"Json CodeActionExample (\n\t\tJson inputData\n\t) \n {\n try \n { \n \n Logger.LogInformation($\"CodeActionExample:: started\");\n // TODO Insert your code here\n Logger.LogInformation($\"CodeActionExample:: finished\");\n return inputData;\n }\n catch (Exception e) {\n Logger.LogError($\"CodeActionExample:: error {e}\");\n throw new Exception($\"CodeActionExample:: error {e}\");\n }\n \n }","initParameters":[{"name":"Result","type":"Json"},{"name":"inputData","type":"Json","required":false}]}] - [{"name":"ai","link":"libs://common/ai","version":"","entities":[]},{"name":"bll","link":"libs://common/bll","version":"","entities":[]},{"name":"Create_Config_Yiz_Http","link":"activities://bpmn-mnemo/personal/MyDrafts/Create_Config_Yiz_Http/#latest","version":"","entities":[]}] - [{"name":"RestApi","initCode":"functions://default/RestApi","initParameters":[{"name":"Uri","type":"Uri","required":true,"oldName":"Uri","oldType":"Uri","defaultValue":"http://servername:port/resource"},{"name":"Method","type":"string","required":true,"oldName":"Method","oldType":"String","defaultValue":"GET"},{"name":"Login","type":"string","required":false,"oldName":"Login","oldType":"String","defaultValue":null},{"name":"Password","type":"string","required":false,"oldName":"Password","oldType":"String","defaultValue":null},{"name":"Headers","type":"StringDictionary","required":false,"oldName":"Headers","oldType":"StringDictionary","defaultValue":"{\r\n \"Content-Type\":\"application/json;charset=utf-16\",\r\n \"system\":\"204\",\r\n \"global_unique_id\":\"6a297fcb-956e-4228-8c11-017e9bacd629\"\r\n }"},{"name":"Body","type":"string","required":false,"oldName":"Body","oldType":"String","defaultValue":"{}"},{"name":"Encoding","type":"string","required":false,"oldName":"Encoding","oldType":"String","defaultValue":"utf-8"},{"name":"Timeout","type":"int","required":false,"oldName":"Timeout","oldType":"int","defaultValue":"0"},{"name":"Result","type":"HttpResponse","required":false,"oldName":"Result","oldType":"HttpResponse","defaultValue":null}],"oldName":"RestApi"},{"name":"RestApi/GET","initCode":"functions://default/RestApi/Get","initParameters":[{"name":"Uri","type":"Uri","required":true,"oldName":"Uri","oldType":"Uri","defaultValue":"http://servername:port/resource"},{"name":"Login","type":"string","required":false,"oldName":"Login","oldType":"String","defaultValue":null},{"name":"Password","type":"string","required":false,"oldName":"Password","oldType":"String","defaultValue":null},{"name":"Headers","type":"StringDictionary","required":false,"oldName":"Headers","oldType":"StringDictionary","defaultValue":"{\r\n \"Content-Type\":\"application/json;charset=utf-16\",\r\n \"system\":\"204\",\r\n \"global_unique_id\":\"6a297fcb-956e-4228-8c11-017e9bacd629\"\r\n }"},{"name":"Encoding","type":"string","required":false,"oldName":"Encoding","oldType":"String","defaultValue":"utf-8"},{"name":"Timeout","type":"int","required":false,"oldName":"Timeout","oldType":"int","defaultValue":"0"},{"name":"Result","type":"HttpResponse","required":false,"oldName":"Result","oldType":"HttpResponse","defaultValue":null}],"oldName":"RestApi/GET"},{"name":"JsonPath","initCode":"functions://default//JsonPath","initParameters":[{"name":"Response","type":"HttpResponse","required":true,"oldName":"Response","oldType":"HttpResponse","defaultValue":null},{"name":"Path","type":"string","required":false,"oldName":"Path","oldType":"String","defaultValue":"$"},{"name":"Result","type":"Json","required":false,"oldName":"Result","oldType":"Json","defaultValue":null}],"oldName":"JsonPath"},{"name":"SaveVariable","initCode":"functions://default//SaveVariable","initParameters":[{"name":"VariableName","type":"string","required":true,"oldName":"VariableName","oldType":"string","defaultValue":"varName"},{"name":"Data","type":"object","required":true,"oldName":"Data","oldType":"object","defaultValue":"#previous"}],"oldName":"SaveVariable"},{"name":"SQL/Oracle/Query","initCode":"functions://default//SQL/Oracle/Query","initParameters":[{"name":"userID","type":"string","required":true,"oldName":"userID","oldType":"String","defaultValue":null},{"name":"password","type":"string","required":false,"oldName":"password","oldType":"String","defaultValue":null},{"name":"dataSource","type":"string","required":false,"oldName":"dataSource","oldType":"String","defaultValue":null},{"name":"query","type":"string","required":false,"oldName":"query","oldType":"String","defaultValue":null},{"name":"Result","type":"Collection","required":false,"oldName":"Result","oldType":"Collection","defaultValue":null}],"oldName":"SQL/Oracle/Query"},{"name":"SQL/Oracle/Command","initCode":"functions://default//SQL/Oracle/Command","initParameters":[{"name":"userID","type":"string","required":true,"oldName":"userID","oldType":"String","defaultValue":null},{"name":"password","type":"string","required":false,"oldName":"password","oldType":"String","defaultValue":null},{"name":"dataSource","type":"string","required":false,"oldName":"dataSource","oldType":"String","defaultValue":null},{"name":"command","type":"string","required":false,"oldName":"command","oldType":"String","defaultValue":null},{"name":"Result","type":"int","required":false,"oldName":"Result","oldType":"int","defaultValue":null}],"oldName":"SQL/Oracle/Command"},{"name":"AI/Completions","initCode":"functions://default//AI/Completions","initParameters":[{"name":"Model","type":"string","required":true,"oldName":"Model","oldType":"String","defaultValue":"meta-llama/Llama-3.1-8B-Instruct"},{"name":"Messages","type":"ChatCompletionsRequestMessageViewModel[]","required":true,"oldName":"Messages","oldType":"ChatCompletionsRequestMessageViewModel[]","defaultValue":null},{"name":"Config","type":"ConfigViewModel","required":true,"oldName":"Config","oldType":"ConfigViewModel","defaultValue":null},{"name":"Result","type":"string[]","required":false,"oldName":"Result","oldType":"string[]","defaultValue":null}],"oldName":"AI/Completions"},{"name":"AI/ExecuteReader","initCode":"functions://default//AI/ExecuteReader","initParameters":[{"name":"vectorExecuteRequest","type":"string","required":true,"oldName":"vectorExecuteRequest","oldType":"String","defaultValue":null},{"name":"Result","type":"string","required":false,"oldName":"Result","oldType":"string","defaultValue":null}],"oldName":"AI/ExecuteReader"}] - [] - [{"name":"oracleConfig","type":"OracleConfig","initialValue":"{\r\n \"userId\":\"dbuser\",\r\n \"password\":\"\",\r\n \"dataSource\":\"dbhost:1521/servicename\"\r\n}\r\n"},{"name":"httpConfig","type":"HttpConfig","initialValue":"{\r\n \"host\":\"http://servername\",\r\n \"port\":\"6992\",\r\n \"login\":\"\",\r\n \"password\":\"\",\r\n \"encoding\":\"utf-8\",\r\n \"headers\":{\r\n \"Content-Type\":\"application/vnd.api+json\",\r\n \"Accept\":\"application/vnd.api+json\"\r\n }\r\n}\r\n"}] - {"Name":"Serhiy the Great","id":100} - - - - Flow_0xuw6mo - - DataObjectReference_0eqkq7z - - - - Flow_15zcu2o - - - DataObjectReference_1a2hfh4 - Property_1rqqtzp - - - - - - - - - - - {"actionType":"Function","action":"AI/Completions","actionParam":{"Model":"meta-llama/Llama-3.1-8B-Instruct","Messages":null,"Config":null},"libName":"","libEntity":"","libMethod":""} - - Flow_1mw1gat - Flow_15zcu2o - - - - - {"libName":"MyDrafts","libId":"12","libType":"personal","flowName":"test-config","flowId":"1726","version":"13","packSize":1} - activities://bpmn/personal/12/1726/13 - - Flow_03fsefn - Flow_1bgk32e - - - - {"libName":"MyDrafts","libId":"12","libType":"personal","flowName":"Create_Config_Yiz_Http","flowId":"431","version":"#latest","packSize":1} - activities://bpmn-mnemo/personal/MyDrafts/Create_Config_Yiz_Http/#latest - - Flow_0xuw6mo - Flow_03fsefn - - - - - {"actionType":"Expression","action":"var cfg = new Config();\nreturn cfg;"} - - Flow_1bgk32e - Flow_1mw1gat - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/flow-patterns/08-ai-agents/compile-structured-prompt.bpmn b/flow-patterns/08-ai-agents/compile-structured-prompt.bpmn deleted file mode 100644 index 7ab9a02..0000000 --- a/flow-patterns/08-ai-agents/compile-structured-prompt.bpmn +++ /dev/null @@ -1,181 +0,0 @@ - - - - ["Action","Function"] - [{"name":"Alarm","definition":"public class Alarm {\r\n public string id { get; set; }\r\n public string probableCause { get; set; }\r\n public string severity { get; set; }\r\n public string affectedResource { get; set; }\r\n public string alarmType { get; set; }\r\n public string timestamp { get; set; }\r\n}","isNativeDefinition":true},{"name":"CompilationResult","definition":"public class CompilationResult {\r\n public StructuredPrompt structuredPrompt { get; set; }\r\n public string tokenId { get; set; }\r\n public string expiresAt { get; set; }\r\n public string agentFrom { get; set; }\r\n public string agentTo { get; set; }\r\n public string gatewayId { get; set; }\r\n public string branch { get; set; }\r\n}","isNativeDefinition":true},{"name":"ContextEnrichment","definition":"public class ContextEnrichment {\r\n public double confidence { get; set; }\r\n public System.Collections.Generic.List<NameValue> characteristic { get; set; }\r\n}","isNativeDefinition":true},{"name":"ErrorResponse","definition":"{\r\n \"$schema\": \"http://json-schema.org/draft-06/schema#\",\r\n \"$ref\": \"#/definitions/ErrorResponse\",\r\n \"definitions\": {\r\n \"ErrorResponse\": {\r\n \"type\": \"object\",\r\n \"additionalProperties\": true,\r\n \"properties\": {\r\n \"LevelMessage\": { \"type\": \"string\" },\r\n \"statusCode\": { \"type\": \"integer\" },\r\n \"ErrNumber\": { \"type\": \"string\" },\r\n \"Message\": { \"type\": \"string\" },\r\n \"State\": { \"type\": \"string\" }\r\n },\r\n \"title\": \"ErrorResponse\"\r\n }\r\n }\r\n}","isNativeDefinition":false},{"name":"Incident","definition":"public class Incident {\r\n public string id { get; set; }\r\n public string priority { get; set; }\r\n public string status { get; set; }\r\n public string description { get; set; }\r\n}","isNativeDefinition":true},{"name":"Instruction","definition":"public class Instruction {\r\n public string id { get; set; }\r\n public string text { get; set; }\r\n public System.Collections.Generic.List<Variable> variables { get; set; }\r\n}","isNativeDefinition":true},{"name":"NameValue","definition":"public class NameValue {\r\n public string name { get; set; }\r\n public string value { get; set; }\r\n}","isNativeDefinition":true},{"name":"StructuredPrompt","definition":"public class StructuredPrompt {\r\n public string name { get; set; }\r\n public string version { get; set; }\r\n public string profile { get; set; }\r\n public string interaction_mode { get; set; }\r\n public string intent3gpp { get; set; }\r\n public System.Collections.Generic.List<Instruction> instructions { get; set; }\r\n}","isNativeDefinition":true},{"name":"Variable","definition":"public class Variable {\r\n public string name { get; set; }\r\n public string value { get; set; }\r\n public string description { get; set; }\r\n}","isNativeDefinition":true},{"name":"FeasibilityEvaluation","definition":" public class FeasibilityEvaluation {\n public string decision { get; set; }\n public double confidence { get; set; }\n public System.Collections.Generic.List<string> constraints { get; set; }\n}\n","isNativeDefinition":true},{"name":"ExecutionOrder","definition":"public class ExecutionOrder {\n public string id { get; set; }\n public string rollbackPlan { get; set; }\n public string maintenanceWindow { get; set; }\n}\n","isNativeDefinition":true},{"name":"InputData","definition":"public class InputData {\n public Alarm alarm { get; set; }\n public Incident incident { get; set; }\n public ContextEnrichment contextEnrichment { get; set; }\n public FeasibilityEvaluation feasibilityEvaluation { get; set; }\n public ExecutionOrder executionOrder { get; set; }\n}\n","isNativeDefinition":true},{"name":"CompilationRequest","definition":"public class CompilationRequest {\n public string templateName { get; set; }\n public string agentFrom { get; set; }\n public string agentTo { get; set; }\n public string gatewayId { get; set; }\n public string branch { get; set; }\n public InputData inputData { get; set; }\n}\n","isNativeDefinition":true},{"name":"PromptDeclaration","definition":"public class PromptDeclaration {\n public string id { get; set; }\n public string name { get; set; }\n public string description { get; set; }\n}\n","isNativeDefinition":true},{"name":"AgentSkill","definition":"public class AgentSkill {\n public string id { get; set; }\n public string name { get; set; }\n public string description { get; set; }\n}\n","isNativeDefinition":true},{"name":"AgentCard","definition":"public class AgentCard {\n public string name { get; set; }\n public string description { get; set; }\n public string url { get; set; }\n public string version { get; set; }\n public System.Collections.Generic.List<PromptDeclaration> structuredPrompts { get; set; }\n public System.Collections.Generic.List<AgentSkill> skills { get; set; }\n}\n","isNativeDefinition":true}] - [] - [{"name":"HandleException","initCode":"ErrorResponse HandleException (\n\t\tPassingResult prevData\n\t) \n {\n if (WorkflowEnvironment.RuntimeName == \"UCP\")\n WorkflowEnvironment.Variables[\"StatusCode\"] = 500;\n return new ErrorResponse()\n {\n Message = prevData.Exception.Message,\n LevelMessage = \"11\",\n statusCode = 500,\n State = \"1\"\n }; \n }","initParameters":[{"name":"Result","type":"ErrorResponse"},{"name":"prevData","type":"PassingResult","required":true}]}] - [{"name":"bll","link":"libs://common/bll","version":"","entities":[]},{"name":"Platform","link":"libs://common/platform","version":"","entities":[]}] - [] - [] - [{"name":"result","type":"CompilationResult","initialValue":""},{"name":"agentCard","type":"AgentCard","initialValue":""},{"name":"tokenPrefix","type":"string","initialValue":"TKN-"},{"name":"tokenTtlMinutes","type":"int","initialValue":"30"},{"name":"registryBaseUrl","type":"string","initialValue":"https://md-platform.internal/fabric"},{"name":"agentRegistry","type":"string","initialValue":"{\"fiber-agent\":{\"name\":\"fiber-agent\",\"description\":\"Fiber domain execution agent for feasibility and repair operations.\",\"url\":\"https://fiber-agent.internal/a2a\",\"version\":\"1.0.0\",\"structuredPrompts\":[{\"id\":\"fiber-feasibility-eval\",\"name\":\"Fiber feasibility evaluation\",\"description\":\"Assess feasibility of fiber reconnect under constraints.\"},{\"id\":\"fiber-reconnect-execute\",\"name\":\"Fiber reconnect execute\",\"description\":\"Execute passive fiber reconnect per repair plan.\"},{\"id\":\"fiber-reconnect-execute-3gpp\",\"name\":\"Fiber reconnect execute (HYBRID / 3GPP TS 28.312)\",\"description\":\"HYBRID-mode reconnect carrying a 3GPP intent payload alongside NL context.\"}],\"skills\":[{\"id\":\"feasibility-evaluate\",\"name\":\"Evaluate feasibility\",\"description\":\"Negotiation-T feasibility assessment\"},{\"id\":\"fault-repair\",\"name\":\"Fault repair\",\"description\":\"Task-T fault repair execution\"}]},\"negotiation-agent\":{\"name\":\"negotiation-agent\",\"description\":\"Negotiation agent for information/target/feasibility negotiations.\",\"url\":\"https://negotiation-agent.internal/a2a\",\"version\":\"1.0.0\",\"structuredPrompts\":[{\"id\":\"disambiguation-request\",\"name\":\"Disambiguation request\",\"description\":\"Request supplementary information to resolve ambiguity.\"}],\"skills\":[{\"id\":\"information-negotiation\",\"name\":\"Information negotiation\",\"description\":\"Negotiation-T information exchange\"}]}}"},{"name":"promptRegistry","type":"string","initialValue":"{\"fiber-feasibility-eval\":{\"name\":\"fiber-feasibility-eval\",\"version\":\"1.0\",\"profile\":\"negotiation-t\",\"interaction_mode\":\"NL\",\"instructions\":[{\"id\":\"I1\",\"text\":\"This is a FEASIBILITY negotiation for capability assessment. The requester wants to verify whether the executor can perform the requested task under given constraints.\",\"variables\":[]},{\"id\":\"I2\",\"text\":\"Task to assess: {{Task Information}}.\",\"variables\":[{\"name\":\"Task Information\",\"value\":\"{{Task Information}}\",\"description\":\"Description of the task requirements to assess feasibility for\"}]},{\"id\":\"I3\",\"text\":\"Desired constraints: {{Constraints}}.\",\"variables\":[{\"name\":\"Constraints\",\"value\":\"{{Constraints}}\",\"description\":\"Desired execution constraints (timing, resources, domain scope)\"}]},{\"id\":\"I4\",\"text\":\"{{Feasibility Confirmation}}\",\"variables\":[{\"name\":\"Feasibility Confirmation\",\"value\":\"{{Feasibility Confirmation}}\",\"description\":\"Request for feasibility assessment\"}]},{\"id\":\"I5\",\"text\":\"Expected response format: {{Output Format}}.\",\"variables\":[{\"name\":\"Output Format\",\"value\":\"{{Output Format}}\",\"description\":\"Expected format for the feasibility response\"}]}]},\"fiber-reconnect-execute\":{\"name\":\"fiber-reconnect-execute\",\"version\":\"1.0\",\"profile\":\"task-t\",\"interaction_mode\":\"NL\",\"instructions\":[{\"id\":\"I1\",\"text\":\"You are a fault repair execution agent specializing in telecom network recovery operations. Execute repair procedures following safety protocols and change management processes.\",\"variables\":[]},{\"id\":\"I2\",\"text\":\"Repair fault {{Identifier}} affecting {{Affected Objects}}. Apply the recommended repair actions and verify service restoration.\",\"variables\":[{\"name\":\"Identifier\",\"value\":\"{{Identifier}}\",\"description\":\"Fault or incident identifier\"},{\"name\":\"Affected Objects\",\"value\":\"{{Affected Objects}}\",\"description\":\"Affected network elements, services, or customers\"}]},{\"id\":\"I3\",\"text\":\"Fault occurrence time: {{Fault Occurrence Time}}. Related information: {{Related Information}}. Fault context objects: {{Fault Context Objects}}. Diagnosis result: {{Diagnosis Result}}.\",\"variables\":[{\"name\":\"Fault Occurrence Time\",\"value\":\"{{Fault Occurrence Time}}\",\"description\":\"Timestamp when the fault was first detected\"},{\"name\":\"Related Information\",\"value\":\"{{Related Information}}\",\"description\":\"Related alarms, logs, and diagnosis output\"},{\"name\":\"Fault Context Objects\",\"value\":\"{{Fault Context Objects}}\",\"description\":\"Surrounding network elements and topology context\"},{\"name\":\"Diagnosis Result\",\"value\":\"{{Diagnosis Result}}\",\"description\":\"Root cause identified by diagnosis agent\"}]},{\"id\":\"I4\",\"text\":\"Available repair procedures: {{Repair Actions}}. Rollback plan: {{Rollback Plan}}. Approval required: {{Approval Required}}.\",\"variables\":[{\"name\":\"Repair Actions\",\"value\":\"{{Repair Actions}}\",\"description\":\"List of available repair procedures to attempt\"},{\"name\":\"Rollback Plan\",\"value\":\"{{Rollback Plan}}\",\"description\":\"Fallback procedure if repair fails\"},{\"name\":\"Approval Required\",\"value\":\"{{Approval Required}}\",\"description\":\"Whether human approval is needed before execution\"}]},{\"id\":\"I5\",\"text\":\"Priority: {{Priority}}. Maintenance window: {{Maintenance Window}}. Service impact tolerance: {{Service Impact Tolerance}}.\",\"variables\":[{\"name\":\"Priority\",\"value\":\"{{Priority}}\",\"description\":\"Task priority level (HIGH, MEDIUM, LOW)\"},{\"name\":\"Maintenance Window\",\"value\":\"{{Maintenance Window}}\",\"description\":\"Allowed time window for repair execution\"},{\"name\":\"Service Impact Tolerance\",\"value\":\"{{Service Impact Tolerance}}\",\"description\":\"Maximum acceptable service disruption during repair\"}]},{\"id\":\"I6\",\"text\":\"Provide a repair execution report including: 1. Actions taken and their results. 2. Service restoration status. 3. Verification test results. 4. Residual risks or follow-up actions needed.\",\"variables\":[]}]},\"fiber-reconnect-execute-3gpp\":{\"name\":\"fiber-reconnect-execute-3gpp\",\"version\":\"1.0\",\"profile\":\"task-t\",\"interaction_mode\":\"HYBRID\",\"intent3gpp\":\"{\\\"intentId\\\":\\\"FIBER-RECONNECT-{{Incident ID}}\\\",\\\"intentExpectations\\\":[{\\\"expectationId\\\":\\\"EXP-RESTORE-{{Fiber Span ID}}\\\",\\\"expectationVerb\\\":\\\"DELIVER\\\",\\\"expectationObject\\\":{\\\"objectType\\\":\\\"FiberSpan\\\",\\\"objectInstance\\\":\\\"{{Fiber Span ID}}\\\",\\\"objectContexts\\\":{\\\"affectedSite\\\":\\\"{{Affected Objects}}\\\",\\\"faultType\\\":\\\"{{Fault Type}}\\\"}},\\\"expectationTargets\\\":[{\\\"targetName\\\":\\\"ServiceAvailability\\\",\\\"targetCondition\\\":\\\"GREATER_THAN\\\",\\\"targetValueRange\\\":\\\"0.999\\\"},{\\\"targetName\\\":\\\"RestorationTime\\\",\\\"targetCondition\\\":\\\"LESS_THAN\\\",\\\"targetValueRange\\\":\\\"{{Maintenance Window}}\\\"}],\\\"expectationContext\\\":{\\\"priority\\\":\\\"{{Priority}}\\\",\\\"rollbackPlan\\\":\\\"{{Rollback Plan}}\\\"}}]}\",\"instructions\":[{\"id\":\"I1\",\"text\":\"You are a fiber domain repair execution agent. Fulfil the 3GPP TS 28.312 intent carried in intent3gpp field. Natural-language context below clarifies operational intent; the structured payload is authoritative.\",\"variables\":[]},{\"id\":\"I2\",\"text\":\"Restore fiber span {{Fiber Span ID}} for incident {{Incident ID}} on site {{Affected Objects}}. Fault classification: {{Fault Type}}. Honour the ServiceAvailability and RestorationTime targets declared in intent3gpp.\",\"variables\":[{\"name\":\"Fiber Span ID\",\"value\":\"{{Fiber Span ID}}\",\"description\":\"Identifier of the fiber span to reconnect\"},{\"name\":\"Incident ID\",\"value\":\"{{Incident ID}}\",\"description\":\"TMF724 Incident identifier\"},{\"name\":\"Affected Objects\",\"value\":\"{{Affected Objects}}\",\"description\":\"Affected BTS/site\"},{\"name\":\"Fault Type\",\"value\":\"{{Fault Type}}\",\"description\":\"Probable cause\"}]},{\"id\":\"I3\",\"text\":\"Priority: {{Priority}}. Maintenance window: {{Maintenance Window}}. Rollback plan: {{Rollback Plan}}.\",\"variables\":[{\"name\":\"Priority\",\"value\":\"{{Priority}}\",\"description\":\"Execution priority\"},{\"name\":\"Maintenance Window\",\"value\":\"{{Maintenance Window}}\",\"description\":\"Allowed restoration time window\"},{\"name\":\"Rollback Plan\",\"value\":\"{{Rollback Plan}}\",\"description\":\"Fallback procedure\"}]},{\"id\":\"I4\",\"text\":\"Return a 3GPP IntentReport as JSON matching the intent3gpp schema: { intentId: <same as request>, intentFulfilmentResult: FULFILLED|NOT_FULFILLED, fulfilmentDetails: [...] }. NL-side report is optional supplement.\",\"variables\":[]}]},\"disambiguation-request\":{\"name\":\"disambiguation-request\",\"version\":\"1.0\",\"profile\":\"negotiation-t\",\"interaction_mode\":\"NL\",\"instructions\":[{\"id\":\"I1\",\"text\":\"This is an INFORMATION negotiation for supplementary data exchange. The executor needs additional data from the requester to proceed with task execution.\",\"variables\":[]},{\"id\":\"I2\",\"text\":\"{{Information Supplement Request}}\",\"variables\":[{\"name\":\"Information Supplement Request\",\"value\":\"{{Information Supplement Request}}\",\"description\":\"The executor request for additional data\"}]},{\"id\":\"I3\",\"text\":\"Specific information items needed: {{Required Information Items}}. Format specification: {{Output Format Specification}}.\",\"variables\":[{\"name\":\"Required Information Items\",\"value\":\"{{Required Information Items}}\",\"description\":\"List of specific information items needed\"},{\"name\":\"Output Format Specification\",\"value\":\"{{Output Format Specification}}\",\"description\":\"Expected format for the requested information\"}]},{\"id\":\"I4\",\"text\":\"Data confirmation: {{Data Return Confirmation}}. Data rejection: {{Data Request Rejection}}. Rejection reason: {{Reason For Rejection}}. Alternative proposal: {{Alternative Solution Proposal}}.\",\"variables\":[{\"name\":\"Data Return Confirmation\",\"value\":\"{{Data Return Confirmation}}\",\"description\":\"Requester confirmation that data can be provided\"},{\"name\":\"Data Request Rejection\",\"value\":\"{{Data Request Rejection}}\",\"description\":\"Requester indication that data cannot be provided\"},{\"name\":\"Reason For Rejection\",\"value\":\"{{Reason For Rejection}}\",\"description\":\"Explanation for why data cannot be provided\"},{\"name\":\"Alternative Solution Proposal\",\"value\":\"{{Alternative Solution Proposal}}\",\"description\":\"Alternative approach when requested data is unavailable\"}]}]}}"},{"name":"variableMappings","type":"string","initialValue":"{\"fiber-feasibility-eval\":{\"Task Information\":\"$.alarm.probableCause\",\"Constraints\":\"Standard maintenance window; minimize service impact.\",\"Feasibility Confirmation\":\"Confirm whether reconnect of the affected fiber span is feasible within the stated constraints.\",\"Output Format\":\"JSON object with fields: decision (yes|no), confidence (0..1), constraints (list of strings).\"},\"fiber-reconnect-execute\":{\"Identifier\":\"$.incident.id\",\"Affected Objects\":\"$.alarm.affectedResource\",\"Fault Occurrence Time\":\"$.alarm.timestamp\",\"Related Information\":\"$.alarm.probableCause\",\"Fault Context Objects\":\"$.contextEnrichment.characteristic[?(@.name=='fiberSpanId')].value\",\"Diagnosis Result\":\"$.feasibilityEvaluation.decision\",\"Repair Actions\":\"Execute passive fiber reconnect on the affected span.\",\"Rollback Plan\":\"$.executionOrder.rollbackPlan\",\"Approval Required\":\"yes\",\"Priority\":\"$.incident.priority\",\"Maintenance Window\":\"$.executionOrder.maintenanceWindow\",\"Service Impact Tolerance\":\"minimal\"},\"fiber-reconnect-execute-3gpp\":{\"Fiber Span ID\":\"$.contextEnrichment.characteristic[?(@.name=='fiberSpanId')].value\",\"Incident ID\":\"$.incident.id\",\"Affected Objects\":\"$.alarm.affectedResource\",\"Fault Type\":\"$.alarm.probableCause\",\"Priority\":\"$.incident.priority\",\"Maintenance Window\":\"$.executionOrder.maintenanceWindow\",\"Rollback Plan\":\"$.executionOrder.rollbackPlan\"},\"disambiguation-request\":{\"Information Supplement Request\":\"$.alarm.probableCause\",\"Required Information Items\":\"$.contextEnrichment.characteristic[?(@.name=='missingField')].value\",\"Output Format Specification\":\"JSON key-value pairs matching each requested item.\"}}"}] - {"templateName":"fiber-feasibility-eval","agentFrom":"orchestrator","agentTo":"fiber-agent","gatewayId":"GW_DomainClear","branch":"A","inputData":{"alarm":{"id":"ALM-2026-0406-0042","probableCause":"Base Station Signal Loss","severity":"critical","affectedResource":"BTS-KV-0447","alarmType":"equipment","timestamp":"2026-04-06T08:42:00Z"},"incident":{"id":"INC-2026-0406-0447","priority":"critical","status":"open","description":"Base station offline"},"contextEnrichment":{"confidence":0.85,"characteristic":[{"name":"fiberSpanId","value":"FBR-SPAN-0447-KV-CORE"},{"name":"siteCode","value":"KV-0447"}]}}} - - - - Flow_01 - - DataObjectReference_0i71cd6 - - - - - {"actionType":"Expression","action":"Parameters.result = new CompilationResult() {\r\n agentFrom = Input.agentFrom,\r\n agentTo = Input.agentTo,\r\n gatewayId = Input.gatewayId,\r\n branch = Input.branch\r\n};\r\nLogger.LogInformation($\"InitResult:: {Input.templateName} for {Input.agentTo}\");\r\nreturn Parameters.result;"} - - Flow_01 - Flow_02 - - - Flow_0i959l3 - - - DataObjectReference_19isabv - Property_1oexlb1 - - - - - - - - - - - {"actionType":"Expression","action":"Logger.LogInformation($\"ResolveAgentCard:: GET {Parameters.registryBaseUrl}/agents/{Input.agentTo}\");\r\n\r\n// FUTURE: real REST call to Fabric Agent Registry\r\n// Matches /registry/agents/{agentId} contract (see AgentRegistration.json)\r\n// var response = RestApi.SendGet($\"{Parameters.registryBaseUrl}/agents/{Input.agentTo}\");\r\n// Parameters.agentCard = Newtonsoft.Json.JsonConvert.DeserializeObject<AgentCard>(response);\r\n\r\n// MVP: lookup in mock registry (will be replaced by real REST call)\r\nvar registry = Newtonsoft.Json.Linq.JObject.Parse(Parameters.agentRegistry.ToString());\r\nvar cardToken = registry[Input.agentTo] as Newtonsoft.Json.Linq.JObject;\r\nif (cardToken == null) {\r\n throw new System.Exception($\"agent_not_found: '{Input.agentTo}' is not registered in Fabric\");\r\n}\r\nParameters.agentCard = cardToken.ToObject<AgentCard>();\r\nLogger.LogInformation($\"ResolveAgentCard:: found '{Parameters.agentCard.name}' with {Parameters.agentCard.structuredPrompts.Count} declared prompts\");\r\nreturn Parameters.agentCard;"} - - Flow_02 - Flow_02b - - - - - {"actionType":"Expression","action":"Logger.LogInformation($\"ValidatePromptDeclared:: check '{Input.templateName}' in AgentCard of '{Input.agentTo}'\");\r\n\r\n// Phase 1 check from token_flow.puml line 56:\r\n// structuredPrompt exists in AgentCard.structuredPrompts[]?\r\n// On failure DTG returns: 403 structured_prompt_not_declared\r\nvar declared = false;\r\nforeach (var sp in Parameters.agentCard.structuredPrompts) {\r\n if (sp.id == Input.templateName) {\r\n declared = true;\r\n break;\r\n }\r\n}\r\nif (!declared) {\r\n throw new System.Exception($\"structured_prompt_not_declared: '{Input.templateName}' is not declared in AgentCard of '{Input.agentTo}'\");\r\n}\r\nreturn declared;"} - - Flow_02b - Flow_02c - - - - - {"actionType":"Expression","action":"Logger.LogInformation($\"ResolveTemplate:: GET {Parameters.registryBaseUrl}/prompt-templates/{Input.templateName}\");\r\n\r\n// FUTURE: real REST call to Prompt Template Registry\r\n// Returns a full StructuredPrompt (see A2A-T/src/python/a2a_telecom/prompt.py: load_template + parse_template)\r\n// var response = RestApi.SendGet($\"{Parameters.registryBaseUrl}/prompt-templates/{Input.templateName}\");\r\n// var template = Newtonsoft.Json.JsonConvert.DeserializeObject<StructuredPrompt>(response);\r\n\r\n// MVP: lookup in mock registry (will be replaced by real REST call)\r\nvar registry = Newtonsoft.Json.Linq.JObject.Parse(Parameters.promptRegistry.ToString());\r\nvar token = registry[Input.templateName] as Newtonsoft.Json.Linq.JObject;\r\nif (token == null) {\r\n throw new System.Exception($\"template_not_found: '{Input.templateName}' not found in prompt registry\");\r\n}\r\nvar template = token.ToObject<StructuredPrompt>();\r\nParameters.result.structuredPrompt = template;\r\nLogger.LogInformation($\"ResolveTemplate:: loaded '{template.name}' v{template.version} with {template.instructions.Count} instructions\");\r\nreturn Parameters.result;"} - - Flow_02c - Flow_1nkca9z - - - - - {"actionType":"Expression","action":"Logger.LogInformation($\"MapDataToVariables:: {Input.templateName}\");\r\n\r\nif (Input.inputData == null) {\r\n Logger.LogWarning(\"Input.inputData is null — skipping variable resolution\");\r\n return Parameters.result;\r\n}\r\n\r\n// Wrap inputData into JSON helper so we can query it via JSONPath\r\nvar inputJson = new JSON(Input.inputData);\r\n\r\n// Load mappings table. Keys contain hyphens/spaces, so use JObject directly (not JsonPath dot-access)\r\nvar allMappings = Newtonsoft.Json.Linq.JObject.Parse(Parameters.variableMappings.ToString());\r\nvar templateMappings = allMappings[Input.templateName] as Newtonsoft.Json.Linq.JObject;\r\nif (templateMappings == null) {\r\n Logger.LogWarning($\"No mappings defined for template {Input.templateName}\");\r\n return Parameters.result;\r\n}\r\n\r\n// Walk structured prompt, resolve each variable.\r\n// Mapping value convention: starts with '$' → JSONPath against inputData; otherwise → literal string.\r\n// Collect resolved values to reuse for intent3gpp (HYBRID/STRUCTURED mode).\r\nvar resolvedMap = new System.Collections.Generic.Dictionary<string, string>();\r\nvar prompt = Parameters.result.structuredPrompt;\r\nforeach (var instruction in prompt.instructions) {\r\n if (instruction.variables == null) continue;\r\n foreach (var variable in instruction.variables) {\r\n var mappingToken = templateMappings[variable.name];\r\n if (mappingToken == null) continue;\r\n var expr = (string)mappingToken;\r\n string resolved = null;\r\n if (!string.IsNullOrEmpty(expr) && expr.StartsWith(\"$\")) {\r\n var found = inputJson.JsonPath(expr);\r\n resolved = (string)found;\r\n } else {\r\n resolved = expr;\r\n }\r\n if (!string.IsNullOrEmpty(resolved)) {\r\n variable.value = resolved;\r\n instruction.text = instruction.text.Replace(\"{{\" + variable.name + \"}}\", resolved);\r\n resolvedMap[variable.name] = resolved;\r\n Logger.LogInformation($\"Resolved {{{variable.name}}} = {resolved}\");\r\n } else {\r\n Logger.LogWarning($\"Could not resolve '{expr}' for variable {variable.name}\");\r\n }\r\n }\r\n}\r\n\r\n// HYBRID / STRUCTURED mode: resolve placeholders inside intent3gpp (TS 28.312 payload).\r\n// NL-mode templates leave intent3gpp null — no-op.\r\nif (!string.IsNullOrEmpty(prompt.intent3gpp)) {\r\n foreach (var kv in resolvedMap) {\r\n prompt.intent3gpp = prompt.intent3gpp.Replace(\"{{\" + kv.Key + \"}}\", kv.Value);\r\n }\r\n Logger.LogInformation($\"intent3gpp resolved ({prompt.interaction_mode}): {prompt.intent3gpp.Length} chars\");\r\n}\r\n\r\nreturn Parameters.result;"} - - Flow_1nkca9z - Flow_0ii4w3u - - - - - {"actionType":"Expression","action":"// Phase 1 token issuance — matches dtg/token_flow.puml lines 62-64:\r\n// LOG TOKEN_ISSUED; return { token_id, structuredPrompt, expires_at }\r\nParameters.result.tokenId = $\"{Parameters.tokenPrefix}{System.DateTime.UtcNow:yyyyMMddHHmmss}\";\r\nParameters.result.expiresAt = System.DateTime.UtcNow.AddMinutes(Parameters.tokenTtlMinutes).ToString(\"o\");\r\nLogger.LogInformation($\"GenerateToken:: TOKEN_ISSUED tokenId={Parameters.result.tokenId} agentFrom={Parameters.result.agentFrom} agentTo={Parameters.result.agentTo} prompt={Parameters.result.structuredPrompt.name}\");\r\nreturn Parameters.result;"} - - Flow_0ii4w3u - Flow_175h9c5 - - - - - {"actionType":"Expression","action":"Logger.LogInformation($\"ReturnResult:: finalizing for {Parameters.result.agentTo}\");\r\nreturn Parameters.result;"} - - Flow_175h9c5 - Flow_0i959l3 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/tmforum-apis/TMF620_Product_Catalog_Management/TMF620_Get_ProductOffering.bpmn b/tmforum-apis/TMF620_Product_Catalog_Management/TMF620_Get_ProductOffering.bpmn index 41d3591..990e8ba 100644 --- a/tmforum-apis/TMF620_Product_Catalog_Management/TMF620_Get_ProductOffering.bpmn +++ b/tmforum-apis/TMF620_Product_Catalog_Management/TMF620_Get_ProductOffering.bpmn @@ -7,7 +7,7 @@ [] [ { "name": "RestApi", "initCode": "functions://default/RestApi", "initParameters": [ { "name": "Uri", "type": "Uri", "required": true, "oldName": "Uri", "oldType": "Uri", "defaultValue": "http://servername:port/resource" }, { "name": "Method", "type": "string", "required": true, "oldName": "Method", "oldType": "string", "defaultValue": "GET" }, { "name": "Login", "type": "string", "required": false, "oldName": "Login", "oldType": "string", "defaultValue": null }, { "name": "Password", "type": "string", "required": false, "oldName": "Password", "oldType": "string", "defaultValue": null }, { "name": "Headers", "type": "StringDictionary", "required": false, "oldName": "Headers", "oldType": "StringDictionary", "defaultValue": "{\r\n \"Content-Type\":\"application/json;charset=utf-16\",\r\n \"system\":\"204\",\r\n \"global_unique_id\":\"6a297fcb-956e-4228-8c11-017e9bacd629\"\r\n }" }, { "name": "Body", "type": "string", "required": false, "oldName": "Body", "oldType": "string", "defaultValue": "{}" }, { "name": "Encoding", "type": "string", "required": false, "oldName": "Encoding", "oldType": "string", "defaultValue": "utf-8" }, { "name": "Result", "type": "HttpResponse", "required": false, "oldName": "Result", "oldType": "HttpResponse", "defaultValue": null } ], "oldName": "RestApi" }, { "name": "RestApi_Get", "initCode": "functions://default/RestApi/Get", "initParameters": [ { "name": "Uri", "type": "Uri", "required": true, "oldName": "Uri", "oldType": "Uri", "defaultValue": "http://servername:port/resource" }, { "name": "Login", "type": "string", "required": false, "oldName": "Login", "oldType": "string", "defaultValue": null }, { "name": "Password", "type": "string", "required": false, "oldName": "Password", "oldType": "string", "defaultValue": null }, { "name": "Headers", "type": "StringDictionary", "required": false, "oldName": "Headers", "oldType": "StringDictionary", "defaultValue": "{\r\n \"Content-Type\":\"application/json;charset=utf-16\",\r\n \"system\":\"204\",\r\n \"global_unique_id\":\"6a297fcb-956e-4228-8c11-017e9bacd629\"\r\n }" }, { "name": "Encoding", "type": "string", "required": false, "oldName": "Encoding", "oldType": "string", "defaultValue": "utf-8" }, { "name": "Result", "type": "HttpResponse", "required": false, "oldName": "Result", "oldType": "HttpResponse", "defaultValue": null } ], "oldName": "RestApi_Get" }, { "name": "JsonPath", "initCode": "functions://default//JsonPath", "initParameters": [ { "name": "Response", "type": "HttpResponse", "required": true, "oldName": "Response", "oldType": "HttpResponse", "defaultValue": null }, { "name": "Path", "type": "string", "required": false, "oldName": "Path", "oldType": "string", "defaultValue": "$" }, { "name": "Result", "type": "Json", "required": false, "oldName": "Result", "oldType": "Json", "defaultValue": null } ], "oldName": "JsonPath" }, { "name": "SaveVariable", "initCode": "functions://default//SaveVariable", "initParameters": [ { "name": "VariableName", "type": "string", "required": true, "oldName": "VariableName", "oldType": "string", "defaultValue": "varName" }, { "name": "Data", "type": "object", "required": true, "oldName": "Data", "oldType": "object", "defaultValue": "#previous" } ], "oldName": "SaveVariable" }, { "name": "Wait", "initCode": "functions://default//Wait", "initParameters": [ { "name": "millisecondsTimeout", "type": "int", "required": true, "oldName": "millisecondsTimeout", "oldType": "int", "defaultValue": "1000" } ], "oldName": "Wait" }, { "name": "SQL_Oracle_Query", "initCode": "functions://default//SQL/Oracle/Query", "initParameters": [ { "name": "userID", "type": "string", "required": true, "oldName": "userID", "oldType": "string", "defaultValue": null }, { "name": "password", "type": "string", "required": false, "oldName": "password", "oldType": "string", "defaultValue": null }, { "name": "dataSource", "type": "string", "required": false, "oldName": "dataSource", "oldType": "string", "defaultValue": null }, { "name": "query", "type": "string", "required": false, "oldName": "query", "oldType": "string", "defaultValue": null }, { "name": "Result", "type": "Collection", "required": false, "oldName": "Result", "oldType": "Collection", "defaultValue": null } ], "oldName": "SQL_Oracle_Query" }, { "name": "SQL_Oracle_Command", "initCode": "functions://default//SQL/Oracle/Command", "initParameters": [ { "name": "userID", "type": "string", "required": true, "oldName": "userID", "oldType": "string", "defaultValue": null }, { "name": "password", "type": "string", "required": false, "oldName": "password", "oldType": "string", "defaultValue": null }, { "name": "dataSource", "type": "string", "required": false, "oldName": "dataSource", "oldType": "string", "defaultValue": null }, { "name": "command", "type": "string", "required": false, "oldName": "command", "oldType": "string", "defaultValue": null }, { "name": "Result", "type": "int", "required": false, "oldName": "Result", "oldType": "int", "defaultValue": null } ], "oldName": "SQL_Oracle_Command" }] [] - [ { "name": "cacheId", "type": "string", "initialValue": null }, { "name": "cacheStatus", "type": "string", "initialValue": null }, { "name": "httpConfig", "type": "HttpConfig", "initialValue": "{\r\n \"host\":\"https://10.29.101.122\",\r\n \"port\":\"6992\",\r\n \"login\":\"login\",\r\n \"password\":\"password\",\r\n \"encoding\":\"utf-8\",\r\n \"headers\":{\r\n \"Content-Type\":\"application/vnd.api+json\",\r\n \"Accept\":\"application/vnd.api+json\"\r\n }\r\n}\r\n" }, { "name": "oracleConfig", "type": "OracleConfig", "initialValue": "{\r\n \"userId\":\"login\",\r\n \"password\":\"password\",\r\n \"dataSource\":\"10.49.1.198:1521/bisdb_prm.kyivstar.ua\"\r\n}\r\n" }, { "name": "sqlConnectionString", "type": "string", "initialValue": "Data Source=sqlserv;Initial Catalog=unibill;User ID=login;Password=password;MultipleActiveResultSets=true;Encrypt=True;TrustServerCertificate=True;Command Timeout=3600" }, { "name": "x_page_count", "type": "int", "initialValue": "" }, { "name": "cachePrefix", "type": "string", "initialValue": "ProductOffering_GET_" }] + [ { "name": "cacheId", "type": "string", "initialValue": null }, { "name": "cacheStatus", "type": "string", "initialValue": null }, { "name": "httpConfig", "type": "HttpConfig", "initialValue": "{\r\n \"host\":\"https://localhost\",\r\n \"port\":\"6992\",\r\n \"login\":\"login\",\r\n \"password\":\"password\",\r\n \"encoding\":\"utf-8\",\r\n \"headers\":{\r\n \"Content-Type\":\"application/vnd.api+json\",\r\n \"Accept\":\"application/vnd.api+json\"\r\n }\r\n}\r\n" }, { "name": "oracleConfig", "type": "OracleConfig", "initialValue": "{\r\n \"userId\":\"login\",\r\n \"password\":\"password\",\r\n \"dataSource\":\"localhost:1521/XEPDB1\"\r\n}\r\n" }, { "name": "sqlConnectionString", "type": "string", "initialValue": "Data Source=localhost;Initial Catalog=examples;User ID=login;Password=;MultipleActiveResultSets=true;Encrypt=True;TrustServerCertificate=True;Command Timeout=3600" }, { "name": "x_page_count", "type": "int", "initialValue": "" }, { "name": "cachePrefix", "type": "string", "initialValue": "ProductOffering_GET_" }] { "ErrFormat": "json", "Accept-Language": "uk", "limit": 5, "category": [ { "name": "override", "@referredType": "LabelRoles" } ], "marketSegment": [ { "name": "gsm", "@referredType": "Standards" } ]} diff --git a/tmforum-apis/TMF622_CancelProductOrder/TMF622_Post_CancelProductOrder.bpmn b/tmforum-apis/TMF622_CancelProductOrder/TMF622_Post_CancelProductOrder.bpmn index b76af69..0f08b97 100644 --- a/tmforum-apis/TMF622_CancelProductOrder/TMF622_Post_CancelProductOrder.bpmn +++ b/tmforum-apis/TMF622_CancelProductOrder/TMF622_Post_CancelProductOrder.bpmn @@ -7,7 +7,7 @@ [] [ { "name": "RestApi", "initCode": "functions://default/RestApi", "initParameters": [ { "name": "Uri", "type": "Uri", "required": true, "oldName": "Uri", "oldType": "Uri", "defaultValue": "http://servername:port/resource" }, { "name": "Method", "type": "string", "required": true, "oldName": "Method", "oldType": "string", "defaultValue": "GET" }, { "name": "Login", "type": "string", "required": false, "oldName": "Login", "oldType": "string", "defaultValue": null }, { "name": "Password", "type": "string", "required": false, "oldName": "Password", "oldType": "string", "defaultValue": null }, { "name": "Headers", "type": "StringDictionary", "required": false, "oldName": "Headers", "oldType": "StringDictionary", "defaultValue": "{\r\n \"Content-Type\":\"application/json;charset=utf-16\",\r\n \"system\":\"204\",\r\n \"global_unique_id\":\"6a297fcb-956e-4228-8c11-017e9bacd629\"\r\n }" }, { "name": "Body", "type": "string", "required": false, "oldName": "Body", "oldType": "string", "defaultValue": "{}" }, { "name": "Encoding", "type": "string", "required": false, "oldName": "Encoding", "oldType": "string", "defaultValue": "utf-8" }, { "name": "Result", "type": "HttpResponse", "required": false, "oldName": "Result", "oldType": "HttpResponse", "defaultValue": null } ], "oldName": "RestApi" }, { "name": "RestApi_Get", "initCode": "functions://default/RestApi/Get", "initParameters": [ { "name": "Uri", "type": "Uri", "required": true, "oldName": "Uri", "oldType": "Uri", "defaultValue": "http://servername:port/resource" }, { "name": "Login", "type": "string", "required": false, "oldName": "Login", "oldType": "string", "defaultValue": null }, { "name": "Password", "type": "string", "required": false, "oldName": "Password", "oldType": "string", "defaultValue": null }, { "name": "Headers", "type": "StringDictionary", "required": false, "oldName": "Headers", "oldType": "StringDictionary", "defaultValue": "{\r\n \"Content-Type\":\"application/json;charset=utf-16\",\r\n \"system\":\"204\",\r\n \"global_unique_id\":\"6a297fcb-956e-4228-8c11-017e9bacd629\"\r\n }" }, { "name": "Encoding", "type": "string", "required": false, "oldName": "Encoding", "oldType": "string", "defaultValue": "utf-8" }, { "name": "Result", "type": "HttpResponse", "required": false, "oldName": "Result", "oldType": "HttpResponse", "defaultValue": null } ], "oldName": "RestApi_Get" }, { "name": "JsonPath", "initCode": "functions://default//JsonPath", "initParameters": [ { "name": "Response", "type": "HttpResponse", "required": true, "oldName": "Response", "oldType": "HttpResponse", "defaultValue": null }, { "name": "Path", "type": "string", "required": false, "oldName": "Path", "oldType": "string", "defaultValue": "$" }, { "name": "Result", "type": "Json", "required": false, "oldName": "Result", "oldType": "Json", "defaultValue": null } ], "oldName": "JsonPath" }, { "name": "SaveVariable", "initCode": "functions://default//SaveVariable", "initParameters": [ { "name": "VariableName", "type": "string", "required": true, "oldName": "VariableName", "oldType": "string", "defaultValue": "varName" }, { "name": "Data", "type": "object", "required": true, "oldName": "Data", "oldType": "object", "defaultValue": "#previous" } ], "oldName": "SaveVariable" }, { "name": "Wait", "initCode": "functions://default//Wait", "initParameters": [ { "name": "millisecondsTimeout", "type": "int", "required": true, "oldName": "millisecondsTimeout", "oldType": "int", "defaultValue": "1000" } ], "oldName": "Wait" }, { "name": "SQL_Oracle_Query", "initCode": "functions://default//SQL/Oracle/Query", "initParameters": [ { "name": "userID", "type": "string", "required": true, "oldName": "userID", "oldType": "string", "defaultValue": null }, { "name": "password", "type": "string", "required": false, "oldName": "password", "oldType": "string", "defaultValue": null }, { "name": "dataSource", "type": "string", "required": false, "oldName": "dataSource", "oldType": "string", "defaultValue": null }, { "name": "query", "type": "string", "required": false, "oldName": "query", "oldType": "string", "defaultValue": null }, { "name": "Result", "type": "Collection", "required": false, "oldName": "Result", "oldType": "Collection", "defaultValue": null } ], "oldName": "SQL_Oracle_Query" }, { "name": "SQL_Oracle_Command", "initCode": "functions://default//SQL/Oracle/Command", "initParameters": [ { "name": "userID", "type": "string", "required": true, "oldName": "userID", "oldType": "string", "defaultValue": null }, { "name": "password", "type": "string", "required": false, "oldName": "password", "oldType": "string", "defaultValue": null }, { "name": "dataSource", "type": "string", "required": false, "oldName": "dataSource", "oldType": "string", "defaultValue": null }, { "name": "command", "type": "string", "required": false, "oldName": "command", "oldType": "string", "defaultValue": null }, { "name": "Result", "type": "int", "required": false, "oldName": "Result", "oldType": "int", "defaultValue": null } ], "oldName": "SQL_Oracle_Command" }] [] - [ { "name": "oracleConfig", "type": "OracleConfig", "initialValue": "{\r\n \"userId\":\"login\",\r\n \"password\":\"password\",\r\n \"dataSource\":\"10.49.1.198:1521/bisdb_prm.kyivstar.ua\"\r\n}\r\n" }, { "name": "httpConfig", "type": "HttpConfig", "initialValue": "{\r\n \"host\":\"https://10.29.101.122\",\r\n \"port\":\"6992\",\r\n \"login\":\"login\",\r\n \"password\":\"password\",\r\n \"encoding\":\"utf-8\",\r\n \"headers\":{\r\n \"Content-Type\":\"application/vnd.api+json\",\r\n \"Accept\":\"application/vnd.api+json\"\r\n }\r\n}\r\n" }, { "name": "sqlConnectionString", "type": "string", "initialValue": "Data Source=sqlserv;Initial Catalog=unibill;User ID=login;Password=password;MultipleActiveResultSets=true;Encrypt=True;TrustServerCertificate=True;Command Timeout=3600" }, { "name": "log", "type": "string", "initialValue": "" }] + [ { "name": "oracleConfig", "type": "OracleConfig", "initialValue": "{\r\n \"userId\":\"login\",\r\n \"password\":\"password\",\r\n \"dataSource\":\"localhost:1521/XEPDB1\"\r\n}\r\n" }, { "name": "httpConfig", "type": "HttpConfig", "initialValue": "{\r\n \"host\":\"https://localhost\",\r\n \"port\":\"6992\",\r\n \"login\":\"login\",\r\n \"password\":\"password\",\r\n \"encoding\":\"utf-8\",\r\n \"headers\":{\r\n \"Content-Type\":\"application/vnd.api+json\",\r\n \"Accept\":\"application/vnd.api+json\"\r\n }\r\n}\r\n" }, { "name": "sqlConnectionString", "type": "string", "initialValue": "Data Source=localhost;Initial Catalog=examples;User ID=login;Password=;MultipleActiveResultSets=true;Encrypt=True;TrustServerCertificate=True;Command Timeout=3600" }, { "name": "log", "type": "string", "initialValue": "" }] { "cancellationReason": "Duplicate order", "requestedCancellationDate": "2024-02-22T23:59:59.993Z", "productOrder": { "id": 2285544 }} diff --git a/tmforum-apis/TMF622_Monitor/TMF622_Get_Monitor.bpmn b/tmforum-apis/TMF622_Monitor/TMF622_Get_Monitor.bpmn index 5e14d2f..8e997d9 100644 --- a/tmforum-apis/TMF622_Monitor/TMF622_Get_Monitor.bpmn +++ b/tmforum-apis/TMF622_Monitor/TMF622_Get_Monitor.bpmn @@ -7,7 +7,7 @@ [] [ { "name": "RestApi", "initCode": "functions://default/RestApi", "initParameters": [ { "name": "Uri", "type": "Uri", "required": true, "oldName": "Uri", "oldType": "Uri", "defaultValue": "http://servername:port/resource" }, { "name": "Method", "type": "string", "required": true, "oldName": "Method", "oldType": "string", "defaultValue": "GET" }, { "name": "Login", "type": "string", "required": false, "oldName": "Login", "oldType": "string", "defaultValue": null }, { "name": "Password", "type": "string", "required": false, "oldName": "Password", "oldType": "string", "defaultValue": null }, { "name": "Headers", "type": "StringDictionary", "required": false, "oldName": "Headers", "oldType": "StringDictionary", "defaultValue": "{\r\n \"Content-Type\":\"application/json;charset=utf-16\",\r\n \"system\":\"204\",\r\n \"global_unique_id\":\"6a297fcb-956e-4228-8c11-017e9bacd629\"\r\n }" }, { "name": "Body", "type": "string", "required": false, "oldName": "Body", "oldType": "string", "defaultValue": "{}" }, { "name": "Encoding", "type": "string", "required": false, "oldName": "Encoding", "oldType": "string", "defaultValue": "utf-8" }, { "name": "Result", "type": "HttpResponse", "required": false, "oldName": "Result", "oldType": "HttpResponse", "defaultValue": null } ], "oldName": "RestApi" }, { "name": "RestApi_Get", "initCode": "functions://default/RestApi/Get", "initParameters": [ { "name": "Uri", "type": "Uri", "required": true, "oldName": "Uri", "oldType": "Uri", "defaultValue": "http://servername:port/resource" }, { "name": "Login", "type": "string", "required": false, "oldName": "Login", "oldType": "string", "defaultValue": null }, { "name": "Password", "type": "string", "required": false, "oldName": "Password", "oldType": "string", "defaultValue": null }, { "name": "Headers", "type": "StringDictionary", "required": false, "oldName": "Headers", "oldType": "StringDictionary", "defaultValue": "{\r\n \"Content-Type\":\"application/json;charset=utf-16\",\r\n \"system\":\"204\",\r\n \"global_unique_id\":\"6a297fcb-956e-4228-8c11-017e9bacd629\"\r\n }" }, { "name": "Encoding", "type": "string", "required": false, "oldName": "Encoding", "oldType": "string", "defaultValue": "utf-8" }, { "name": "Result", "type": "HttpResponse", "required": false, "oldName": "Result", "oldType": "HttpResponse", "defaultValue": null } ], "oldName": "RestApi_Get" }, { "name": "JsonPath", "initCode": "functions://default//JsonPath", "initParameters": [ { "name": "Response", "type": "HttpResponse", "required": true, "oldName": "Response", "oldType": "HttpResponse", "defaultValue": null }, { "name": "Path", "type": "string", "required": false, "oldName": "Path", "oldType": "string", "defaultValue": "$" }, { "name": "Result", "type": "Json", "required": false, "oldName": "Result", "oldType": "Json", "defaultValue": null } ], "oldName": "JsonPath" }, { "name": "SaveVariable", "initCode": "functions://default//SaveVariable", "initParameters": [ { "name": "VariableName", "type": "string", "required": true, "oldName": "VariableName", "oldType": "string", "defaultValue": "varName" }, { "name": "Data", "type": "object", "required": true, "oldName": "Data", "oldType": "object", "defaultValue": "#previous" } ], "oldName": "SaveVariable" }, { "name": "Wait", "initCode": "functions://default//Wait", "initParameters": [ { "name": "millisecondsTimeout", "type": "int", "required": true, "oldName": "millisecondsTimeout", "oldType": "int", "defaultValue": "1000" } ], "oldName": "Wait" }, { "name": "SQL_Oracle_Query", "initCode": "functions://default//SQL/Oracle/Query", "initParameters": [ { "name": "userID", "type": "string", "required": true, "oldName": "userID", "oldType": "string", "defaultValue": null }, { "name": "password", "type": "string", "required": false, "oldName": "password", "oldType": "string", "defaultValue": null }, { "name": "dataSource", "type": "string", "required": false, "oldName": "dataSource", "oldType": "string", "defaultValue": null }, { "name": "query", "type": "string", "required": false, "oldName": "query", "oldType": "string", "defaultValue": null }, { "name": "Result", "type": "Collection", "required": false, "oldName": "Result", "oldType": "Collection", "defaultValue": null } ], "oldName": "SQL_Oracle_Query" }, { "name": "SQL_Oracle_Command", "initCode": "functions://default//SQL/Oracle/Command", "initParameters": [ { "name": "userID", "type": "string", "required": true, "oldName": "userID", "oldType": "string", "defaultValue": null }, { "name": "password", "type": "string", "required": false, "oldName": "password", "oldType": "string", "defaultValue": null }, { "name": "dataSource", "type": "string", "required": false, "oldName": "dataSource", "oldType": "string", "defaultValue": null }, { "name": "command", "type": "string", "required": false, "oldName": "command", "oldType": "string", "defaultValue": null }, { "name": "Result", "type": "int", "required": false, "oldName": "Result", "oldType": "int", "defaultValue": null } ], "oldName": "SQL_Oracle_Command" }] [] - [ { "name": "cacheId", "type": "string", "initialValue": null }, { "name": "cachePrefix", "type": "string", "initialValue": "ProductOffering_GET_" }, { "name": "cacheStatus", "type": "string", "initialValue": null }, { "name": "httpConfig", "type": "HttpConfig", "initialValue": "{\r\n \"host\":\"https://10.29.101.122\",\r\n \"port\":\"6992\",\r\n \"login\":\"login\",\r\n \"password\":\"password\",\r\n \"encoding\":\"utf-8\",\r\n \"headers\":{\r\n \"Content-Type\":\"application/vnd.api+json\",\r\n \"Accept\":\"application/vnd.api+json\"\r\n }\r\n}\r\n" }, { "name": "sqlConnectionString", "type": "string", "initialValue": "Data Source=sqlserv;Initial Catalog=unibill;User ID=login;Password=password;MultipleActiveResultSets=true;Encrypt=True;TrustServerCertificate=True;Command Timeout=3600" }, { "name": "x_page_count", "type": "int", "initialValue": "" }] + [ { "name": "cacheId", "type": "string", "initialValue": null }, { "name": "cachePrefix", "type": "string", "initialValue": "ProductOffering_GET_" }, { "name": "cacheStatus", "type": "string", "initialValue": null }, { "name": "httpConfig", "type": "HttpConfig", "initialValue": "{\r\n \"host\":\"https://localhost\",\r\n \"port\":\"6992\",\r\n \"login\":\"login\",\r\n \"password\":\"password\",\r\n \"encoding\":\"utf-8\",\r\n \"headers\":{\r\n \"Content-Type\":\"application/vnd.api+json\",\r\n \"Accept\":\"application/vnd.api+json\"\r\n }\r\n}\r\n" }, { "name": "sqlConnectionString", "type": "string", "initialValue": "Data Source=localhost;Initial Catalog=examples;User ID=login;Password=;MultipleActiveResultSets=true;Encrypt=True;TrustServerCertificate=True;Command Timeout=3600" }, { "name": "x_page_count", "type": "int", "initialValue": "" }] { "id": null} diff --git a/tmforum-apis/TMF622_Product_Ordering/TMF622_Get_ProductOrder.bpmn b/tmforum-apis/TMF622_Product_Ordering/TMF622_Get_ProductOrder.bpmn index 7d70696..40fe337 100644 --- a/tmforum-apis/TMF622_Product_Ordering/TMF622_Get_ProductOrder.bpmn +++ b/tmforum-apis/TMF622_Product_Ordering/TMF622_Get_ProductOrder.bpmn @@ -7,7 +7,7 @@ [] [ { "name": "RestApi", "initCode": "functions://default/RestApi", "initParameters": [ { "name": "Uri", "type": "Uri", "required": true, "oldName": "Uri", "oldType": "Uri", "defaultValue": "http://servername:port/resource" }, { "name": "Method", "type": "string", "required": true, "oldName": "Method", "oldType": "string", "defaultValue": "GET" }, { "name": "Login", "type": "string", "required": false, "oldName": "Login", "oldType": "string", "defaultValue": null }, { "name": "Password", "type": "string", "required": false, "oldName": "Password", "oldType": "string", "defaultValue": null }, { "name": "Headers", "type": "StringDictionary", "required": false, "oldName": "Headers", "oldType": "StringDictionary", "defaultValue": "{\r\n \"Content-Type\":\"application/json;charset=utf-16\",\r\n \"system\":\"204\",\r\n \"global_unique_id\":\"6a297fcb-956e-4228-8c11-017e9bacd629\"\r\n }" }, { "name": "Body", "type": "string", "required": false, "oldName": "Body", "oldType": "string", "defaultValue": "{}" }, { "name": "Encoding", "type": "string", "required": false, "oldName": "Encoding", "oldType": "string", "defaultValue": "utf-8" }, { "name": "Result", "type": "HttpResponse", "required": false, "oldName": "Result", "oldType": "HttpResponse", "defaultValue": null } ], "oldName": "RestApi" }, { "name": "RestApi_Get", "initCode": "functions://default/RestApi/Get", "initParameters": [ { "name": "Uri", "type": "Uri", "required": true, "oldName": "Uri", "oldType": "Uri", "defaultValue": "http://servername:port/resource" }, { "name": "Login", "type": "string", "required": false, "oldName": "Login", "oldType": "string", "defaultValue": null }, { "name": "Password", "type": "string", "required": false, "oldName": "Password", "oldType": "string", "defaultValue": null }, { "name": "Headers", "type": "StringDictionary", "required": false, "oldName": "Headers", "oldType": "StringDictionary", "defaultValue": "{\r\n \"Content-Type\":\"application/json;charset=utf-16\",\r\n \"system\":\"204\",\r\n \"global_unique_id\":\"6a297fcb-956e-4228-8c11-017e9bacd629\"\r\n }" }, { "name": "Encoding", "type": "string", "required": false, "oldName": "Encoding", "oldType": "string", "defaultValue": "utf-8" }, { "name": "Result", "type": "HttpResponse", "required": false, "oldName": "Result", "oldType": "HttpResponse", "defaultValue": null } ], "oldName": "RestApi_Get" }, { "name": "JsonPath", "initCode": "functions://default//JsonPath", "initParameters": [ { "name": "Response", "type": "HttpResponse", "required": true, "oldName": "Response", "oldType": "HttpResponse", "defaultValue": null }, { "name": "Path", "type": "string", "required": false, "oldName": "Path", "oldType": "string", "defaultValue": "$" }, { "name": "Result", "type": "Json", "required": false, "oldName": "Result", "oldType": "Json", "defaultValue": null } ], "oldName": "JsonPath" }, { "name": "SaveVariable", "initCode": "functions://default//SaveVariable", "initParameters": [ { "name": "VariableName", "type": "string", "required": true, "oldName": "VariableName", "oldType": "string", "defaultValue": "varName" }, { "name": "Data", "type": "object", "required": true, "oldName": "Data", "oldType": "object", "defaultValue": "#previous" } ], "oldName": "SaveVariable" }, { "name": "Wait", "initCode": "functions://default//Wait", "initParameters": [ { "name": "millisecondsTimeout", "type": "int", "required": true, "oldName": "millisecondsTimeout", "oldType": "int", "defaultValue": "1000" } ], "oldName": "Wait" }, { "name": "SQL_Oracle_Query", "initCode": "functions://default//SQL/Oracle/Query", "initParameters": [ { "name": "userID", "type": "string", "required": true, "oldName": "userID", "oldType": "string", "defaultValue": null }, { "name": "password", "type": "string", "required": false, "oldName": "password", "oldType": "string", "defaultValue": null }, { "name": "dataSource", "type": "string", "required": false, "oldName": "dataSource", "oldType": "string", "defaultValue": null }, { "name": "query", "type": "string", "required": false, "oldName": "query", "oldType": "string", "defaultValue": null }, { "name": "Result", "type": "Collection", "required": false, "oldName": "Result", "oldType": "Collection", "defaultValue": null } ], "oldName": "SQL_Oracle_Query" }, { "name": "SQL_Oracle_Command", "initCode": "functions://default//SQL/Oracle/Command", "initParameters": [ { "name": "userID", "type": "string", "required": true, "oldName": "userID", "oldType": "string", "defaultValue": null }, { "name": "password", "type": "string", "required": false, "oldName": "password", "oldType": "string", "defaultValue": null }, { "name": "dataSource", "type": "string", "required": false, "oldName": "dataSource", "oldType": "string", "defaultValue": null }, { "name": "command", "type": "string", "required": false, "oldName": "command", "oldType": "string", "defaultValue": null }, { "name": "Result", "type": "int", "required": false, "oldName": "Result", "oldType": "int", "defaultValue": null } ], "oldName": "SQL_Oracle_Command" }] [] - [ { "name": "cacheId", "type": "string", "initialValue": null }, { "name": "cacheStatus", "type": "string", "initialValue": null }, { "name": "httpConfig", "type": "HttpConfig", "initialValue": "{\r\n \"host\":\"https://10.29.101.122\",\r\n \"port\":\"6992\",\r\n \"login\":\"login\",\r\n \"password\":\"password\",\r\n \"encoding\":\"utf-8\",\r\n \"headers\":{\r\n \"Content-Type\":\"application/vnd.api+json\",\r\n \"Accept\":\"application/vnd.api+json\"\r\n }\r\n}\r\n" }, { "name": "oracleConfig", "type": "OracleConfig", "initialValue": "{\r\n \"userId\":\"login\",\r\n \"password\":\"password\",\r\n \"dataSource\":\"10.49.1.198:1521/bisdb_prm.kyivstar.ua\"\r\n}\r\n" }, { "name": "sqlConnectionString", "type": "string", "initialValue": "Data Source=sqlserv;Initial Catalog=unibill;User ID=login;Password=password;MultipleActiveResultSets=true;Encrypt=True;TrustServerCertificate=True;Command Timeout=3600" }, { "name": "x_page_count", "type": "int", "initialValue": "" }, { "name": "statusCode", "type": "int", "initialValue": "" }] + [ { "name": "cacheId", "type": "string", "initialValue": null }, { "name": "cacheStatus", "type": "string", "initialValue": null }, { "name": "httpConfig", "type": "HttpConfig", "initialValue": "{\r\n \"host\":\"https://localhost\",\r\n \"port\":\"6992\",\r\n \"login\":\"login\",\r\n \"password\":\"password\",\r\n \"encoding\":\"utf-8\",\r\n \"headers\":{\r\n \"Content-Type\":\"application/vnd.api+json\",\r\n \"Accept\":\"application/vnd.api+json\"\r\n }\r\n}\r\n" }, { "name": "oracleConfig", "type": "OracleConfig", "initialValue": "{\r\n \"userId\":\"login\",\r\n \"password\":\"password\",\r\n \"dataSource\":\"localhost:1521/XEPDB1\"\r\n}\r\n" }, { "name": "sqlConnectionString", "type": "string", "initialValue": "Data Source=localhost;Initial Catalog=examples;User ID=login;Password=;MultipleActiveResultSets=true;Encrypt=True;TrustServerCertificate=True;Command Timeout=3600" }, { "name": "x_page_count", "type": "int", "initialValue": "" }, { "name": "statusCode", "type": "int", "initialValue": "" }] { "ErrFormat": "json", "Accept-Language": "uk", "IDType": 0, "offset": 1, "limit": 2, "sort": "id", "SortDirection": "ASC", "x-ms-client-request-id": "yiz1.1"} @@ -22,7 +22,7 @@ - { "status": "HttpRequestAttributes", "code": 200, "body": "", "exampelsVariants": [ { "title": "by ID", "value": "{\n \"category\": \"ByDefault\",\n \"productOrderItem\": [\n {\n \"product\": {\n \"name\": \"38671234568\",\n \"@type\": \"ProductValue\",\n \"productCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ExtentionNumber\",\n \"name\": \"ExtentionNumber\",\n \"value\": \"38671234568\",\n \"valueType\": \"String\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusModifiedDate\",\n \"name\": \"StatusModifiedDate\",\n \"value\": \"2024-03-19T18:41:27.403\",\n \"valueType\": \"DateTime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateStart\",\n \"name\": \"DateStart\",\n \"value\": \"2023-11-01T00:00:00\",\n \"valueType\": \"DateTime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateEnd\",\n \"name\": \"DateEnd\",\n \"value\": \"2024-03-30T23:59:59\",\n \"valueType\": \"DateTime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ExtentionID\",\n \"name\": \"ExtentionID\",\n \"value\": \"7892668\",\n \"valueType\": \"Integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Category\",\n \"name\": \"Category\",\n \"value\": \"2\",\n \"valueType\": \"Integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Class\",\n \"name\": \"Class\",\n \"value\": \"1\",\n \"valueType\": \"Integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Status\",\n \"name\": \"Status\",\n \"value\": \"5\",\n \"valueType\": \"Integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Type\",\n \"name\": \"Type\",\n \"value\": \"1\",\n \"valueType\": \"Integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ConnectionPoint\",\n \"name\": \"ConnectionPoint\",\n \"value\": \"20\",\n \"valueType\": \"Integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Device\",\n \"name\": \"Device\",\n \"value\": \"1\",\n \"valueType\": \"Integer\"\n }\n ],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"MSISDN\",\n \"name\": \"MSISDN\"\n },\n \"id\": \"01-7892668\"\n },\n \"id\": \"01-15479384\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"Extentions\",\n \"id\": \"7892668\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"38671234567\",\n \"@type\": \"ProductValue\",\n \"productCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ExtentionNumber\",\n \"name\": \"ExtentionNumber\",\n \"value\": \"38671234567\",\n \"valueType\": \"String\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusModifiedDate\",\n \"name\": \"StatusModifiedDate\",\n \"value\": \"2024-03-19T18:41:45.78\",\n \"valueType\": \"DateTime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateStart\",\n \"name\": \"DateStart\",\n \"value\": \"2023-11-01T00:00:00\",\n \"valueType\": \"DateTime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateEnd\",\n \"name\": \"DateEnd\",\n \"value\": \"2024-03-30T23:59:59\",\n \"valueType\": \"DateTime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ExtentionID\",\n \"name\": \"ExtentionID\",\n \"value\": \"7892667\",\n \"valueType\": \"Integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Category\",\n \"name\": \"Category\",\n \"value\": \"2\",\n \"valueType\": \"Integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Class\",\n \"name\": \"Class\",\n \"value\": \"1\",\n \"valueType\": \"Integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Status\",\n \"name\": \"Status\",\n \"value\": \"5\",\n \"valueType\": \"Integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Type\",\n \"name\": \"Type\",\n \"value\": \"1\",\n \"valueType\": \"Integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ConnectionPoint\",\n \"name\": \"ConnectionPoint\",\n \"value\": \"20\",\n \"valueType\": \"Integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Device\",\n \"name\": \"Device\",\n \"value\": \"1\",\n \"valueType\": \"Integer\"\n }\n ],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"MSISDN\",\n \"name\": \"MSISDN\"\n },\n \"id\": \"01-7892667\"\n },\n \"id\": \"01-15479383\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"Extentions\",\n \"id\": \"7892667\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"1545405_00780030-0062-0030-3200-320063003000\",\n \"@type\": \"ProductValue\",\n \"productCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ExtentionNumber\",\n \"name\": \"ExtentionNumber\",\n \"value\": \"1545405_00780030-0062-0030-3200-320063003000\",\n \"valueType\": \"String\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusModifiedDate\",\n \"name\": \"StatusModifiedDate\",\n \"value\": \"2021-04-01T19:30:01.027\",\n \"valueType\": \"DateTime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateStart\",\n \"name\": \"DateStart\",\n \"value\": \"2020-04-01T00:00:00\",\n \"valueType\": \"DateTime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateEnd\",\n \"name\": \"DateEnd\",\n \"value\": \"2024-03-31T23:59:59\",\n \"valueType\": \"DateTime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ExtentionID\",\n \"name\": \"ExtentionID\",\n \"value\": \"1545405\",\n \"valueType\": \"Integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Category\",\n \"name\": \"Category\",\n \"value\": \"2\",\n \"valueType\": \"Integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Class\",\n \"name\": \"Class\",\n \"value\": \"2\",\n \"valueType\": \"Integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Status\",\n \"name\": \"Status\",\n \"value\": \"5\",\n \"valueType\": \"Integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Type\",\n \"name\": \"Type\",\n \"value\": \"14\",\n \"valueType\": \"Integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ConnectionPoint\",\n \"name\": \"ConnectionPoint\",\n \"value\": \"7\",\n \"valueType\": \"Integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Device\",\n \"name\": \"Device\",\n \"value\": \"16\",\n \"valueType\": \"Integer\"\n }\n ],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"MSISDN\",\n \"name\": \"MSISDN\"\n },\n \"id\": \"01-1545405\"\n },\n \"id\": \"01-1547938\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"Extentions\",\n \"id\": \"1545405\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"M2M Advanced\",\n \"@type\": \"ProductValue\",\n \"productCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"actpd_Name\",\n \"name\": \"actpd_Name\",\n \"value\": \"Corporate\",\n \"valueType\": \"String\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"acatd_Name\",\n \"name\": \"acatd_Name\",\n \"value\": \"Postpaid\",\n \"valueType\": \"String\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"crnd_Name\",\n \"name\": \"crnd_Name\",\n \"value\": \"Hryvnia\",\n \"valueType\": \"String\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grt_DateActiveStart\",\n \"name\": \"grt_DateActiveStart\",\n \"value\": \"2023-10-23T00:00:00\",\n \"valueType\": \"DateTime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grt_DateActiveEnd\",\n \"name\": \"grt_DateActiveEnd\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"DateTime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateStart\",\n \"name\": \"DateStart\",\n \"value\": \"2023-11-01T00:00:00\",\n \"valueType\": \"DateTime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateEnd\",\n \"name\": \"DateEnd\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"DateTime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"PlanGroupID\",\n \"name\": \"PlanGroupID\",\n \"value\": \"152\",\n \"valueType\": \"Integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grt_ExternalId\",\n \"name\": \"grt_ExternalId\",\n \"value\": \"12000\",\n \"valueType\": \"Integer\"\n }\n ],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"TariffPlan\",\n \"name\": \"TariffPlan\"\n },\n \"id\": \"02-152\"\n },\n \"id\": \"02-2285544\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"Agreements\",\n \"id\": \"2285544\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"M2M Bundle 100\",\n \"@type\": \"ProductValue\",\n \"isBundle\": true,\n \"productCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"lbl_Role\",\n \"name\": \"lbl_Role\",\n \"value\": \"Override\",\n \"valueType\": \"String\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"tp_Code\",\n \"name\": \"tp_Code\",\n \"value\": \"900974\",\n \"valueType\": \"String\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateStart\",\n \"name\": \"DateStart\",\n \"value\": \"2023-11-01T00:00:00\",\n \"valueType\": \"DateTime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateEnd\",\n \"name\": \"DateEnd\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"DateTime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateID\",\n \"name\": \"TemplateID\",\n \"value\": \"6229\",\n \"valueType\": \"Integer\"\n }\n ],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"TariffPackage\",\n \"name\": \"TariffPackage\"\n },\n \"id\": \"03-6229\"\n },\n \"id\": \"03-6295756\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"TemplateSubscriptions\",\n \"id\": \"6295756\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n }\n ],\n \"id\": 2285544,\n \"orderRelationship\": [\n {\n \"id\": \"01-7702376\",\n \"type\": \"cross-ref\",\n \"@referredType\": \"Service\"\n }\n ],\n \"state\": \"Completed\"\n}" }, { "title": "by MSISDN", "value": "[\n{\n \"category\": \"ByDefault\",\n \"productOrderItem\": [\n {\n \"product\": {\n \"name\": \"1545405_00780030-0062-0030-3200-320063003000\",\n \"@type\": \"ProductValue\",\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"MSISDN\",\n \"name\": \"MSISDN\"\n },\n \"id\": \"01-1545405\"\n },\n \"id\": \"01-1547938\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"Extentions\",\n \"id\": \"1545405\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"38671234567\",\n \"@type\": \"ProductValue\",\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"MSISDN\",\n \"name\": \"MSISDN\"\n },\n \"id\": \"01-7892667\"\n },\n \"id\": \"01-15479383\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"Extentions\",\n \"id\": \"7892667\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"38671234568\",\n \"@type\": \"ProductValue\",\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"MSISDN\",\n \"name\": \"MSISDN\"\n },\n \"id\": \"01-7892668\"\n },\n \"id\": \"01-15479384\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"Extentions\",\n \"id\": \"7892668\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"M2M Advanced\",\n \"@type\": \"ProductValue\",\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"TariffPlan\",\n \"name\": \"TariffPlan\"\n },\n \"id\": \"02-152\"\n },\n \"id\": \"02-2285544\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"Agreements\",\n \"id\": \"2285544\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"M2M Bundle 100\",\n \"@type\": \"ProductValue\",\n \"isBundle\": true,\n \"productCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"lbl_Role\",\n \"name\": \"lbl_Role\",\n \"value\": \"Override\",\n \"valueType\": \"String\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"tp_Code\",\n \"name\": \"tp_Code\",\n \"value\": \"900974\",\n \"valueType\": \"String\"\n }\n ],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"TariffPackage\",\n \"name\": \"TariffPackage\"\n },\n \"id\": \"03-6229\"\n },\n \"id\": \"03-6295756\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"TemplateSubscriptions\",\n \"id\": \"6295756\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n }\n ],\n \"id\": 2285544,\n \"orderRelationship\": [\n {\n \"id\": \"01-7702376\",\n \"type\": \"cross-ref\",\n \"@referredType\": \"Service\"\n }\n ],\n \"state\": \"Completed\"\n}\n]\n" }, { "title": "by MSISDN and Offering Category", "value": "[\n{\n \"category\": \"ByDefault\",\n \"productOrderItem\": [\n {\n \"product\": {\n \"name\": \"1545405_00780030-0062-0030-3200-320063003000\",\n \"@type\": \"ProductValue\",\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"MSISDN\",\n \"name\": \"MSISDN\"\n },\n \"id\": \"01-1545405\"\n },\n \"id\": \"01-1547938\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"Extentions\",\n \"id\": \"1545405\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"38671234567\",\n \"@type\": \"ProductValue\",\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"MSISDN\",\n \"name\": \"MSISDN\"\n },\n \"id\": \"01-7892667\"\n },\n \"id\": \"01-15479383\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"Extentions\",\n \"id\": \"7892667\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"38671234568\",\n \"@type\": \"ProductValue\",\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"MSISDN\",\n \"name\": \"MSISDN\"\n },\n \"id\": \"01-7892668\"\n },\n \"id\": \"01-15479384\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"Extentions\",\n \"id\": \"7892668\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"M2M Advanced\",\n \"@type\": \"ProductValue\",\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"TariffPlan\",\n \"name\": \"TariffPlan\"\n },\n \"id\": \"02-152\"\n },\n \"id\": \"02-2285544\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"Agreements\",\n \"id\": \"2285544\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"M2M Bundle 100\",\n \"@type\": \"ProductValue\",\n \"isBundle\": true,\n \"productCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"lbl_Role\",\n \"name\": \"lbl_Role\",\n \"value\": \"Override\",\n \"valueType\": \"String\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"tp_Code\",\n \"name\": \"tp_Code\",\n \"value\": \"900974\",\n \"valueType\": \"String\"\n }\n ],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"TariffPackage\",\n \"name\": \"TariffPackage\"\n },\n \"id\": \"03-6229\"\n },\n \"id\": \"03-6295756\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"TemplateSubscriptions\",\n \"id\": \"6295756\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n }\n ],\n \"id\": 2285544,\n \"orderRelationship\": [\n {\n \"id\": \"01-7702376\",\n \"type\": \"cross-ref\",\n \"@referredType\": \"Service\"\n }\n ],\n \"state\": \"Completed\"\n}\n]\n" }, { "title": "TOP 10", "value": "[\n{\n \"category\": \"PSTN\",\n \"productOrderItem\": [\n {\n \"product\": {\n \"name\": \"21727_00780030-0066-0035-3300-310033006200\",\n \"@type\": \"ProductValue\",\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"MSISDN\",\n \"name\": \"MSISDN\"\n },\n \"id\": \"01-21727\"\n },\n \"id\": \"01-21857\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"Extentions\",\n \"id\": \"21727\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"SIP-Тест\",\n \"@type\": \"ProductValue\",\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"TariffPlan\",\n \"name\": \"TariffPlan\"\n },\n \"id\": \"02-45\"\n },\n \"id\": \"02-8211\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"Agreements\",\n \"id\": \"8211\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"PSTN Трафик ''SIP-Тест''\",\n \"@type\": \"ProductValue\",\n \"isBundle\": false,\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"TariffPackage\",\n \"name\": \"TariffPackage\"\n },\n \"id\": \"03-198\"\n },\n \"id\": \"03-148974\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"TemplateSubscriptions\",\n \"id\": \"148974\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"PSTN Исходящий местный (Черновцы)\",\n \"@type\": \"ProductValue\",\n \"isBundle\": false,\n \"productCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"lbl_Role\",\n \"name\": \"lbl_Role\",\n \"value\": \"Discount\",\n \"valueType\": \"String\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"tp_Code\",\n \"name\": \"tp_Code\",\n \"value\": \"30174\",\n \"valueType\": \"String\"\n }\n ],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"TariffPackage\",\n \"name\": \"TariffPackage\"\n },\n \"id\": \"03-587\"\n },\n \"id\": \"03-148975\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"TemplateSubscriptions\",\n \"id\": \"148975\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"Emergency Free Numbers\",\n \"@type\": \"ProductValue\",\n \"isBundle\": false,\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"TariffPackage\",\n \"name\": \"TariffPackage\"\n },\n \"id\": \"03-5642\"\n },\n \"id\": \"03-243002\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"TemplateSubscriptions\",\n \"id\": \"243002\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"SIP 40\",\n \"@type\": \"ProductValue\",\n \"isBundle\": false,\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"TariffPackage\",\n \"name\": \"TariffPackage\"\n },\n \"id\": \"03-190\"\n },\n \"id\": \"03-148972\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"TemplateSubscriptions\",\n \"id\": \"148972\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n }\n ],\n \"id\": 8211,\n \"orderRelationship\": [\n {\n \"id\": \"01-302259\",\n \"type\": \"cross-ref\",\n \"@referredType\": \"Service\"\n }\n ],\n \"state\": \"Completed\"\n},\n{\n \"category\": \"PSTN\",\n \"productOrderItem\": [\n {\n \"product\": {\n \"name\": \"59335_00780030-0030-0030-3700-380064003900\",\n \"@type\": \"ProductValue\",\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"MSISDN\",\n \"name\": \"MSISDN\"\n },\n \"id\": \"01-59335\"\n },\n \"id\": \"01-59465\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"Extentions\",\n \"id\": \"59335\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"Інтернет/Зона 2\",\n \"@type\": \"ProductValue\",\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"TariffPlan\",\n \"name\": \"TariffPlan\"\n },\n \"id\": \"02-25\"\n },\n \"id\": \"02-22448\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"Agreements\",\n \"id\": \"22448\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"Абон.плата Інтернет - 4200 грн без ПДВ\",\n \"@type\": \"ProductValue\",\n \"isBundle\": false,\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"TariffPackage\",\n \"name\": \"TariffPackage\"\n },\n \"id\": \"03-4283\"\n },\n \"id\": \"03-118441\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"TemplateSubscriptions\",\n \"id\": \"118441\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n }\n ],\n \"id\": 22448,\n \"orderRelationship\": [\n {\n \"id\": \"01-316465\",\n \"type\": \"cross-ref\",\n \"@referredType\": \"Service\"\n }\n ],\n \"state\": \"Completed\"\n},\n{\n \"category\": \"PSTN\",\n \"productOrderItem\": [\n {\n \"product\": {\n \"name\": \"68619_00780030-0032-0031-3900-630066006400\",\n \"@type\": \"ProductValue\",\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"MSISDN\",\n \"name\": \"MSISDN\"\n },\n \"id\": \"01-68619\"\n },\n \"id\": \"01-68749\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"Extentions\",\n \"id\": \"68619\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"68620_00780030-0037-0066-6600-350064006500\",\n \"@type\": \"ProductValue\",\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"MSISDN\",\n \"name\": \"MSISDN\"\n },\n \"id\": \"01-68620\"\n },\n \"id\": \"01-68750\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"Extentions\",\n \"id\": \"68620\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"Основний\",\n \"@type\": \"ProductValue\",\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"TariffPlan\",\n \"name\": \"TariffPlan\"\n },\n \"id\": \"02-42\"\n },\n \"id\": \"02-25835\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"Agreements\",\n \"id\": \"25835\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"PSTN Исходящий местный (Киев)\",\n \"@type\": \"ProductValue\",\n \"isBundle\": false,\n \"productCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"lbl_Role\",\n \"name\": \"lbl_Role\",\n \"value\": \"Discount\",\n \"valueType\": \"String\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"tp_Code\",\n \"name\": \"tp_Code\",\n \"value\": \"30099\",\n \"valueType\": \"String\"\n }\n ],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"TariffPackage\",\n \"name\": \"TariffPackage\"\n },\n \"id\": \"03-361\"\n },\n \"id\": \"03-72198\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"TemplateSubscriptions\",\n \"id\": \"72198\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"Пакет  26,25 грн без ПДВ\",\n \"@type\": \"ProductValue\",\n \"isBundle\": false,\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"TariffPackage\",\n \"name\": \"TariffPackage\"\n },\n \"id\": \"03-3988\"\n },\n \"id\": \"03-72201\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"TemplateSubscriptions\",\n \"id\": \"72201\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"Emergency Free Numbers\",\n \"@type\": \"ProductValue\",\n \"isBundle\": false,\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"TariffPackage\",\n \"name\": \"TariffPackage\"\n },\n \"id\": \"03-5642\"\n },\n \"id\": \"03-245940\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"TemplateSubscriptions\",\n \"id\": \"245940\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"PSTN Трафик \\\"Основний\\\"\",\n \"@type\": \"ProductValue\",\n \"isBundle\": false,\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"TariffPackage\",\n \"name\": \"TariffPackage\"\n },\n \"id\": \"03-423\"\n },\n \"id\": \"03-72197\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"TemplateSubscriptions\",\n \"id\": \"72197\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n }\n ],\n \"id\": 25835,\n \"orderRelationship\": [\n {\n \"id\": \"01-319854\",\n \"type\": \"cross-ref\",\n \"@referredType\": \"Service\"\n }\n ],\n \"state\": \"Completed\"\n},\n{\n \"category\": \"PSTN\",\n \"productOrderItem\": [\n {\n \"product\": {\n \"name\": \"77704_00780030-0033-0031-3300-370034006100\",\n \"@type\": \"ProductValue\",\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"MSISDN\",\n \"name\": \"MSISDN\"\n },\n \"id\": \"01-77704\"\n },\n \"id\": \"01-77834\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"Extentions\",\n \"id\": \"77704\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"Основний\",\n \"@type\": \"ProductValue\",\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"TariffPlan\",\n \"name\": \"TariffPlan\"\n },\n \"id\": \"02-42\"\n },\n \"id\": \"02-29268\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"Agreements\",\n \"id\": \"29268\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"PSTN Исходящий местный (Запорожье) \",\n \"@type\": \"ProductValue\",\n \"isBundle\": false,\n \"productCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"lbl_Role\",\n \"name\": \"lbl_Role\",\n \"value\": \"Discount\",\n \"valueType\": \"String\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"tp_Code\",\n \"name\": \"tp_Code\",\n \"value\": \"30071\",\n \"valueType\": \"String\"\n }\n ],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"TariffPackage\",\n \"name\": \"TariffPackage\"\n },\n \"id\": \"03-126\"\n },\n \"id\": \"03-79077\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"TemplateSubscriptions\",\n \"id\": \"79077\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"Пакет  26,25 грн без ПДВ\",\n \"@type\": \"ProductValue\",\n \"isBundle\": false,\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"TariffPackage\",\n \"name\": \"TariffPackage\"\n },\n \"id\": \"03-3988\"\n },\n \"id\": \"03-79095\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"TemplateSubscriptions\",\n \"id\": \"79095\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"Emergency Free Numbers\",\n \"@type\": \"ProductValue\",\n \"isBundle\": false,\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"TariffPackage\",\n \"name\": \"TariffPackage\"\n },\n \"id\": \"03-5642\"\n },\n \"id\": \"03-261976\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"TemplateSubscriptions\",\n \"id\": \"261976\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"PSTN Трафик \\\"Основний\\\"\",\n \"@type\": \"ProductValue\",\n \"isBundle\": false,\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"TariffPackage\",\n \"name\": \"TariffPackage\"\n },\n \"id\": \"03-423\"\n },\n \"id\": \"03-79079\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"TemplateSubscriptions\",\n \"id\": \"79079\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n }\n ],\n \"id\": 29268,\n \"orderRelationship\": [\n {\n \"id\": \"01-323277\",\n \"type\": \"cross-ref\",\n \"@referredType\": \"Service\"\n }\n ],\n \"state\": \"Completed\"\n},\n{\n \"category\": \"PSTN\",\n \"productOrderItem\": [\n {\n \"product\": {\n \"name\": \"122613_00780030-0032-0034-6400-300039003600\",\n \"@type\": \"ProductValue\",\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"MSISDN\",\n \"name\": \"MSISDN\"\n },\n \"id\": \"01-122613\"\n },\n \"id\": \"01-122743\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"Extentions\",\n \"id\": \"122613\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"123677_00780030-0039-0032-6300-320061006300\",\n \"@type\": \"ProductValue\",\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"MSISDN\",\n \"name\": \"MSISDN\"\n },\n \"id\": \"01-123677\"\n },\n \"id\": \"01-123807\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"Extentions\",\n \"id\": \"123677\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"124531_00780030-0065-0066-3200-390036003800\",\n \"@type\": \"ProductValue\",\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"MSISDN\",\n \"name\": \"MSISDN\"\n },\n \"id\": \"01-124531\"\n },\n \"id\": \"01-124661\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"Extentions\",\n \"id\": \"124531\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"124532_00780030-0031-0066-3100-660038006100\",\n \"@type\": \"ProductValue\",\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"MSISDN\",\n \"name\": \"MSISDN\"\n },\n \"id\": \"01-124532\"\n },\n \"id\": \"01-124662\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"Extentions\",\n \"id\": \"124532\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"124533_00780030-0061-0062-6400-640032003600\",\n \"@type\": \"ProductValue\",\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"MSISDN\",\n \"name\": \"MSISDN\"\n },\n \"id\": \"01-124533\"\n },\n \"id\": \"01-124663\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"Extentions\",\n \"id\": \"124533\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"124534_00780030-0039-0035-3800-390030003900\",\n \"@type\": \"ProductValue\",\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"MSISDN\",\n \"name\": \"MSISDN\"\n },\n \"id\": \"01-124534\"\n },\n \"id\": \"01-124664\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"Extentions\",\n \"id\": \"124534\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"124535_00780030-0037-0036-6100-390036003600\",\n \"@type\": \"ProductValue\",\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"MSISDN\",\n \"name\": \"MSISDN\"\n },\n \"id\": \"01-124535\"\n },\n \"id\": \"01-124665\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"Extentions\",\n \"id\": \"124535\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"124536_00780030-0066-0035-3900-320038003600\",\n \"@type\": \"ProductValue\",\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"MSISDN\",\n \"name\": \"MSISDN\"\n },\n \"id\": \"01-124536\"\n },\n \"id\": \"01-124666\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"Extentions\",\n \"id\": \"124536\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"124537_00780030-0036-0066-3700-650061006500\",\n \"@type\": \"ProductValue\",\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"MSISDN\",\n \"name\": \"MSISDN\"\n },\n \"id\": \"01-124537\"\n },\n \"id\": \"01-124667\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"Extentions\",\n \"id\": \"124537\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"124737_00780030-0066-0036-6600-640033003100\",\n \"@type\": \"ProductValue\",\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"MSISDN\",\n \"name\": \"MSISDN\"\n },\n \"id\": \"01-124737\"\n },\n \"id\": \"01-124867\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"Extentions\",\n \"id\": \"124737\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"SIP-Тест\",\n \"@type\": \"ProductValue\",\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"TariffPlan\",\n \"name\": \"TariffPlan\"\n },\n \"id\": \"02-45\"\n },\n \"id\": \"02-46012\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"Agreements\",\n \"id\": \"46012\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"TSU 3G 0,456 ГРН з ПДВ\",\n \"@type\": \"ProductValue\",\n \"isBundle\": false,\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"TariffPackage\",\n \"name\": \"TariffPackage\"\n },\n \"id\": \"03-5169\"\n },\n \"id\": \"03-170126\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"TemplateSubscriptions\",\n \"id\": \"170126\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"Ukrtelecom 0,38 ГРН без ПДВ\",\n \"@type\": \"ProductValue\",\n \"isBundle\": false,\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"TariffPackage\",\n \"name\": \"TariffPackage\"\n },\n \"id\": \"03-5140\"\n },\n \"id\": \"03-170125\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"TemplateSubscriptions\",\n \"id\": \"170125\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"Astelit 0,38 ГРН без ПДВ\",\n \"@type\": \"ProductValue\",\n \"isBundle\": false,\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"TariffPackage\",\n \"name\": \"TariffPackage\"\n },\n \"id\": \"03-5117\"\n },\n \"id\": \"03-170124\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"TemplateSubscriptions\",\n \"id\": \"170124\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"PSTN Трафик ''SIP-Тест''\",\n \"@type\": \"ProductValue\",\n \"isBundle\": false,\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"TariffPackage\",\n \"name\": \"TariffPackage\"\n },\n \"id\": \"03-198\"\n },\n \"id\": \"03-170128\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"TemplateSubscriptions\",\n \"id\": \"170128\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"Пакет АП 30 грн без ПДВ\",\n \"@type\": \"ProductValue\",\n \"isBundle\": false,\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"TariffPackage\",\n \"name\": \"TariffPackage\"\n },\n \"id\": \"03-5597\"\n },\n \"id\": \"03-179194\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"TemplateSubscriptions\",\n \"id\": \"179194\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"MTS 0,38 ГРН без ПДВ\",\n \"@type\": \"ProductValue\",\n \"isBundle\": false,\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"TariffPackage\",\n \"name\": \"TariffPackage\"\n },\n \"id\": \"03-5103\"\n },\n \"id\": \"03-170121\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"TemplateSubscriptions\",\n \"id\": \"170121\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"Cellular Network Kyivstar GSM 0,18 ГРН без ПДВ\",\n \"@type\": \"ProductValue\",\n \"isBundle\": false,\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"TariffPackage\",\n \"name\": \"TariffPackage\"\n },\n \"id\": \"03-5203\"\n },\n \"id\": \"03-170127\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"TemplateSubscriptions\",\n \"id\": \"170127\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"Emergency Free Numbers\",\n \"@type\": \"ProductValue\",\n \"isBundle\": false,\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"TariffPackage\",\n \"name\": \"TariffPackage\"\n },\n \"id\": \"03-5642\"\n },\n \"id\": \"03-238640\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"TemplateSubscriptions\",\n \"id\": \"238640\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"PSTN Исходящий местный (Одесса)\",\n \"@type\": \"ProductValue\",\n \"isBundle\": false,\n \"productCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"lbl_Role\",\n \"name\": \"lbl_Role\",\n \"value\": \"Discount\",\n \"valueType\": \"String\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"tp_Code\",\n \"name\": \"tp_Code\",\n \"value\": \"30152\",\n \"valueType\": \"String\"\n }\n ],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"TariffPackage\",\n \"name\": \"TariffPackage\"\n },\n \"id\": \"03-561\"\n },\n \"id\": \"03-170129\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"TemplateSubscriptions\",\n \"id\": \"170129\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"Intertelecom 0,38 ГРН без ПДВ\",\n \"@type\": \"ProductValue\",\n \"isBundle\": false,\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"TariffPackage\",\n \"name\": \"TariffPackage\"\n },\n \"id\": \"03-5155\"\n },\n \"id\": \"03-170147\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"TemplateSubscriptions\",\n \"id\": \"170147\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n }\n ],\n \"id\": 46012,\n \"orderRelationship\": [\n {\n \"id\": \"01-339704\",\n \"type\": \"cross-ref\",\n \"@referredType\": \"Service\"\n }\n ],\n \"state\": \"Completed\"\n},\n{\n \"category\": \"FTTB\",\n \"id\": 53770,\n \"orderRelationship\": [\n {\n \"id\": \"01-357390\",\n \"type\": \"cross-ref\",\n \"@referredType\": \"Service\"\n }\n ],\n \"state\": \"Completed\"\n},\n{\n \"category\": \"GSM\",\n \"productOrderItem\": [\n {\n \"product\": {\n \"name\": \"2045728_00780030-0066-0039-3100-620034003000\",\n \"@type\": \"ProductValue\",\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"MSISDN\",\n \"name\": \"MSISDN\"\n },\n \"id\": \"01-2045728\"\n },\n \"id\": \"01-2047839\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"Extentions\",\n \"id\": \"2045728\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"Киевстар Семья\",\n \"@type\": \"ProductValue\",\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"TariffPlan\",\n \"name\": \"TariffPlan\"\n },\n \"id\": \"02-66\"\n },\n \"id\": \"02-1394999\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"Agreements\",\n \"id\": \"1394999\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n }\n ],\n \"id\": 1394999,\n \"orderRelationship\": [\n {\n \"id\": \"01-3026998\",\n \"type\": \"cross-ref\",\n \"@referredType\": \"Service\"\n }\n ],\n \"state\": \"Completed\"\n},\n{\n \"category\": \"GSM\",\n \"productOrderItem\": [\n {\n \"product\": {\n \"name\": \"2045729_00780030-0038-0061-3600-360066003300\",\n \"@type\": \"ProductValue\",\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"MSISDN\",\n \"name\": \"MSISDN\"\n },\n \"id\": \"01-2045729\"\n },\n \"id\": \"01-2047840\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"Extentions\",\n \"id\": \"2045729\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"Киевстар Семья\",\n \"@type\": \"ProductValue\",\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"TariffPlan\",\n \"name\": \"TariffPlan\"\n },\n \"id\": \"02-66\"\n },\n \"id\": \"02-1395000\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"Agreements\",\n \"id\": \"1395000\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n }\n ],\n \"id\": 1395000,\n \"orderRelationship\": [\n {\n \"id\": \"01-3026999\",\n \"type\": \"cross-ref\",\n \"@referredType\": \"Service\"\n }\n ],\n \"state\": \"Completed\"\n},\n{\n \"category\": \"GSM\",\n \"productOrderItem\": [\n {\n \"product\": {\n \"name\": \"2045730_00780030-0039-0065-3300-640034006400\",\n \"@type\": \"ProductValue\",\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"MSISDN\",\n \"name\": \"MSISDN\"\n },\n \"id\": \"01-2045730\"\n },\n \"id\": \"01-2047841\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"Extentions\",\n \"id\": \"2045730\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"Smart+ (ММС)\",\n \"@type\": \"ProductValue\",\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"TariffPlan\",\n \"name\": \"TariffPlan\"\n },\n \"id\": \"02-55\"\n },\n \"id\": \"02-1395001\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"Agreements\",\n \"id\": \"1395001\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n }\n ],\n \"id\": 1395001,\n \"orderRelationship\": [\n {\n \"id\": \"01-3027000\",\n \"type\": \"cross-ref\",\n \"@referredType\": \"Service\"\n }\n ],\n \"state\": \"Completed\"\n},\n{\n \"category\": \"GSM\",\n \"productOrderItem\": [\n {\n \"product\": {\n \"name\": \"2045731_00780030-0065-0066-3900-660031006200\",\n \"@type\": \"ProductValue\",\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"MSISDN\",\n \"name\": \"MSISDN\"\n },\n \"id\": \"01-2045731\"\n },\n \"id\": \"01-2047842\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"Extentions\",\n \"id\": \"2045731\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"Smart+ (ММС)\",\n \"@type\": \"ProductValue\",\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"TariffPlan\",\n \"name\": \"TariffPlan\"\n },\n \"id\": \"02-55\"\n },\n \"id\": \"02-1395002\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"Agreements\",\n \"id\": \"1395002\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n }\n ],\n \"id\": 1395002,\n \"orderRelationship\": [\n {\n \"id\": \"01-3027001\",\n \"type\": \"cross-ref\",\n \"@referredType\": \"Service\"\n }\n ],\n \"state\": \"Completed\"\n}\n]\n" } ], "headers": ""} + { "status": "HttpRequestAttributes", "code": 200, "body": "", "exampelsVariants": [ { "title": "by ID", "value": "{\n \"category\": \"ByDefault\",\n \"productOrderItem\": [\n {\n \"product\": {\n \"name\": \"38671234568\",\n \"@type\": \"ProductValue\",\n \"productCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ExtentionNumber\",\n \"name\": \"ExtentionNumber\",\n \"value\": \"38671234568\",\n \"valueType\": \"String\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusModifiedDate\",\n \"name\": \"StatusModifiedDate\",\n \"value\": \"2024-03-19T18:41:27.403\",\n \"valueType\": \"DateTime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateStart\",\n \"name\": \"DateStart\",\n \"value\": \"2023-11-01T00:00:00\",\n \"valueType\": \"DateTime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateEnd\",\n \"name\": \"DateEnd\",\n \"value\": \"2024-03-30T23:59:59\",\n \"valueType\": \"DateTime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ExtentionID\",\n \"name\": \"ExtentionID\",\n \"value\": \"7892668\",\n \"valueType\": \"Integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Category\",\n \"name\": \"Category\",\n \"value\": \"2\",\n \"valueType\": \"Integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Class\",\n \"name\": \"Class\",\n \"value\": \"1\",\n \"valueType\": \"Integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Status\",\n \"name\": \"Status\",\n \"value\": \"5\",\n \"valueType\": \"Integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Type\",\n \"name\": \"Type\",\n \"value\": \"1\",\n \"valueType\": \"Integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ConnectionPoint\",\n \"name\": \"ConnectionPoint\",\n \"value\": \"20\",\n \"valueType\": \"Integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Device\",\n \"name\": \"Device\",\n \"value\": \"1\",\n \"valueType\": \"Integer\"\n }\n ],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"MSISDN\",\n \"name\": \"MSISDN\"\n },\n \"id\": \"01-7892668\"\n },\n \"id\": \"01-15479384\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"Extentions\",\n \"id\": \"7892668\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"38671234567\",\n \"@type\": \"ProductValue\",\n \"productCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ExtentionNumber\",\n \"name\": \"ExtentionNumber\",\n \"value\": \"38671234567\",\n \"valueType\": \"String\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusModifiedDate\",\n \"name\": \"StatusModifiedDate\",\n \"value\": \"2024-03-19T18:41:45.78\",\n \"valueType\": \"DateTime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateStart\",\n \"name\": \"DateStart\",\n \"value\": \"2023-11-01T00:00:00\",\n \"valueType\": \"DateTime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateEnd\",\n \"name\": \"DateEnd\",\n \"value\": \"2024-03-30T23:59:59\",\n \"valueType\": \"DateTime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ExtentionID\",\n \"name\": \"ExtentionID\",\n \"value\": \"7892667\",\n \"valueType\": \"Integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Category\",\n \"name\": \"Category\",\n \"value\": \"2\",\n \"valueType\": \"Integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Class\",\n \"name\": \"Class\",\n \"value\": \"1\",\n \"valueType\": \"Integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Status\",\n \"name\": \"Status\",\n \"value\": \"5\",\n \"valueType\": \"Integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Type\",\n \"name\": \"Type\",\n \"value\": \"1\",\n \"valueType\": \"Integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ConnectionPoint\",\n \"name\": \"ConnectionPoint\",\n \"value\": \"20\",\n \"valueType\": \"Integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Device\",\n \"name\": \"Device\",\n \"value\": \"1\",\n \"valueType\": \"Integer\"\n }\n ],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"MSISDN\",\n \"name\": \"MSISDN\"\n },\n \"id\": \"01-7892667\"\n },\n \"id\": \"01-15479383\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"Extentions\",\n \"id\": \"7892667\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"1545405_00780030-0062-0030-3200-320063003000\",\n \"@type\": \"ProductValue\",\n \"productCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ExtentionNumber\",\n \"name\": \"ExtentionNumber\",\n \"value\": \"1545405_00780030-0062-0030-3200-320063003000\",\n \"valueType\": \"String\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusModifiedDate\",\n \"name\": \"StatusModifiedDate\",\n \"value\": \"2021-04-01T19:30:01.027\",\n \"valueType\": \"DateTime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateStart\",\n \"name\": \"DateStart\",\n \"value\": \"2020-04-01T00:00:00\",\n \"valueType\": \"DateTime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateEnd\",\n \"name\": \"DateEnd\",\n \"value\": \"2024-03-31T23:59:59\",\n \"valueType\": \"DateTime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ExtentionID\",\n \"name\": \"ExtentionID\",\n \"value\": \"1545405\",\n \"valueType\": \"Integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Category\",\n \"name\": \"Category\",\n \"value\": \"2\",\n \"valueType\": \"Integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Class\",\n \"name\": \"Class\",\n \"value\": \"2\",\n \"valueType\": \"Integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Status\",\n \"name\": \"Status\",\n \"value\": \"5\",\n \"valueType\": \"Integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Type\",\n \"name\": \"Type\",\n \"value\": \"14\",\n \"valueType\": \"Integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ConnectionPoint\",\n \"name\": \"ConnectionPoint\",\n \"value\": \"7\",\n \"valueType\": \"Integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Device\",\n \"name\": \"Device\",\n \"value\": \"16\",\n \"valueType\": \"Integer\"\n }\n ],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"MSISDN\",\n \"name\": \"MSISDN\"\n },\n \"id\": \"01-1545405\"\n },\n \"id\": \"01-1547938\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"Extentions\",\n \"id\": \"1545405\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"M2M Advanced\",\n \"@type\": \"ProductValue\",\n \"productCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"actpd_Name\",\n \"name\": \"actpd_Name\",\n \"value\": \"Corporate\",\n \"valueType\": \"String\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"acatd_Name\",\n \"name\": \"acatd_Name\",\n \"value\": \"Postpaid\",\n \"valueType\": \"String\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"crnd_Name\",\n \"name\": \"crnd_Name\",\n \"value\": \"Hryvnia\",\n \"valueType\": \"String\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grt_DateActiveStart\",\n \"name\": \"grt_DateActiveStart\",\n \"value\": \"2023-10-23T00:00:00\",\n \"valueType\": \"DateTime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grt_DateActiveEnd\",\n \"name\": \"grt_DateActiveEnd\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"DateTime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateStart\",\n \"name\": \"DateStart\",\n \"value\": \"2023-11-01T00:00:00\",\n \"valueType\": \"DateTime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateEnd\",\n \"name\": \"DateEnd\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"DateTime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"PlanGroupID\",\n \"name\": \"PlanGroupID\",\n \"value\": \"152\",\n \"valueType\": \"Integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grt_ExternalId\",\n \"name\": \"grt_ExternalId\",\n \"value\": \"12000\",\n \"valueType\": \"Integer\"\n }\n ],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"TariffPlan\",\n \"name\": \"TariffPlan\"\n },\n \"id\": \"02-152\"\n },\n \"id\": \"02-2285544\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"Agreements\",\n \"id\": \"2285544\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"M2M Bundle 100\",\n \"@type\": \"ProductValue\",\n \"isBundle\": true,\n \"productCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"lbl_Role\",\n \"name\": \"lbl_Role\",\n \"value\": \"Override\",\n \"valueType\": \"String\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"tp_Code\",\n \"name\": \"tp_Code\",\n \"value\": \"900974\",\n \"valueType\": \"String\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateStart\",\n \"name\": \"DateStart\",\n \"value\": \"2023-11-01T00:00:00\",\n \"valueType\": \"DateTime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateEnd\",\n \"name\": \"DateEnd\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"DateTime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateID\",\n \"name\": \"TemplateID\",\n \"value\": \"6229\",\n \"valueType\": \"Integer\"\n }\n ],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"TariffPackage\",\n \"name\": \"TariffPackage\"\n },\n \"id\": \"03-6229\"\n },\n \"id\": \"03-6295756\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"TemplateSubscriptions\",\n \"id\": \"6295756\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n }\n ],\n \"id\": 2285544,\n \"orderRelationship\": [\n {\n \"id\": \"01-7702376\",\n \"type\": \"cross-ref\",\n \"@referredType\": \"Service\"\n }\n ],\n \"state\": \"Completed\"\n}" }, { "title": "by MSISDN", "value": "[\n{\n \"category\": \"ByDefault\",\n \"productOrderItem\": [\n {\n \"product\": {\n \"name\": \"1545405_00780030-0062-0030-3200-320063003000\",\n \"@type\": \"ProductValue\",\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"MSISDN\",\n \"name\": \"MSISDN\"\n },\n \"id\": \"01-1545405\"\n },\n \"id\": \"01-1547938\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"Extentions\",\n \"id\": \"1545405\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"38671234567\",\n \"@type\": \"ProductValue\",\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"MSISDN\",\n \"name\": \"MSISDN\"\n },\n \"id\": \"01-7892667\"\n },\n \"id\": \"01-15479383\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"Extentions\",\n \"id\": \"7892667\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"38671234568\",\n \"@type\": \"ProductValue\",\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"MSISDN\",\n \"name\": \"MSISDN\"\n },\n \"id\": \"01-7892668\"\n },\n \"id\": \"01-15479384\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"Extentions\",\n \"id\": \"7892668\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"M2M Advanced\",\n \"@type\": \"ProductValue\",\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"TariffPlan\",\n \"name\": \"TariffPlan\"\n },\n \"id\": \"02-152\"\n },\n \"id\": \"02-2285544\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"Agreements\",\n \"id\": \"2285544\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"M2M Bundle 100\",\n \"@type\": \"ProductValue\",\n \"isBundle\": true,\n \"productCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"lbl_Role\",\n \"name\": \"lbl_Role\",\n \"value\": \"Override\",\n \"valueType\": \"String\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"tp_Code\",\n \"name\": \"tp_Code\",\n \"value\": \"900974\",\n \"valueType\": \"String\"\n }\n ],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"TariffPackage\",\n \"name\": \"TariffPackage\"\n },\n \"id\": \"03-6229\"\n },\n \"id\": \"03-6295756\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"TemplateSubscriptions\",\n \"id\": \"6295756\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n }\n ],\n \"id\": 2285544,\n \"orderRelationship\": [\n {\n \"id\": \"01-7702376\",\n \"type\": \"cross-ref\",\n \"@referredType\": \"Service\"\n }\n ],\n \"state\": \"Completed\"\n}\n]\n" }, { "title": "by MSISDN and Offering Category", "value": "[\n{\n \"category\": \"ByDefault\",\n \"productOrderItem\": [\n {\n \"product\": {\n \"name\": \"1545405_00780030-0062-0030-3200-320063003000\",\n \"@type\": \"ProductValue\",\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"MSISDN\",\n \"name\": \"MSISDN\"\n },\n \"id\": \"01-1545405\"\n },\n \"id\": \"01-1547938\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"Extentions\",\n \"id\": \"1545405\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"38671234567\",\n \"@type\": \"ProductValue\",\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"MSISDN\",\n \"name\": \"MSISDN\"\n },\n \"id\": \"01-7892667\"\n },\n \"id\": \"01-15479383\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"Extentions\",\n \"id\": \"7892667\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"38671234568\",\n \"@type\": \"ProductValue\",\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"MSISDN\",\n \"name\": \"MSISDN\"\n },\n \"id\": \"01-7892668\"\n },\n \"id\": \"01-15479384\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"Extentions\",\n \"id\": \"7892668\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"M2M Advanced\",\n \"@type\": \"ProductValue\",\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"TariffPlan\",\n \"name\": \"TariffPlan\"\n },\n \"id\": \"02-152\"\n },\n \"id\": \"02-2285544\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"Agreements\",\n \"id\": \"2285544\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"M2M Bundle 100\",\n \"@type\": \"ProductValue\",\n \"isBundle\": true,\n \"productCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"lbl_Role\",\n \"name\": \"lbl_Role\",\n \"value\": \"Override\",\n \"valueType\": \"String\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"tp_Code\",\n \"name\": \"tp_Code\",\n \"value\": \"900974\",\n \"valueType\": \"String\"\n }\n ],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"TariffPackage\",\n \"name\": \"TariffPackage\"\n },\n \"id\": \"03-6229\"\n },\n \"id\": \"03-6295756\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"TemplateSubscriptions\",\n \"id\": \"6295756\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n }\n ],\n \"id\": 2285544,\n \"orderRelationship\": [\n {\n \"id\": \"01-7702376\",\n \"type\": \"cross-ref\",\n \"@referredType\": \"Service\"\n }\n ],\n \"state\": \"Completed\"\n}\n]\n" }, { "title": "TOP 10", "value": "[\n{\n \"category\": \"PSTN\",\n \"productOrderItem\": [\n {\n \"product\": {\n \"name\": \"21727_00780030-0066-0035-3300-310033006200\",\n \"@type\": \"ProductValue\",\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"MSISDN\",\n \"name\": \"MSISDN\"\n },\n \"id\": \"01-21727\"\n },\n \"id\": \"01-21857\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"Extentions\",\n \"id\": \"21727\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"SIP-Тест\",\n \"@type\": \"ProductValue\",\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"TariffPlan\",\n \"name\": \"TariffPlan\"\n },\n \"id\": \"02-45\"\n },\n \"id\": \"02-8211\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"Agreements\",\n \"id\": \"8211\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"PSTN Трафик ''SIP-Тест''\",\n \"@type\": \"ProductValue\",\n \"isBundle\": false,\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"TariffPackage\",\n \"name\": \"TariffPackage\"\n },\n \"id\": \"03-198\"\n },\n \"id\": \"03-148974\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"TemplateSubscriptions\",\n \"id\": \"148974\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"PSTN Исходящий местный (Черновцы)\",\n \"@type\": \"ProductValue\",\n \"isBundle\": false,\n \"productCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"lbl_Role\",\n \"name\": \"lbl_Role\",\n \"value\": \"Discount\",\n \"valueType\": \"String\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"tp_Code\",\n \"name\": \"tp_Code\",\n \"value\": \"30174\",\n \"valueType\": \"String\"\n }\n ],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"TariffPackage\",\n \"name\": \"TariffPackage\"\n },\n \"id\": \"03-587\"\n },\n \"id\": \"03-148975\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"TemplateSubscriptions\",\n \"id\": \"148975\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"Emergency Free Numbers\",\n \"@type\": \"ProductValue\",\n \"isBundle\": false,\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"TariffPackage\",\n \"name\": \"TariffPackage\"\n },\n \"id\": \"03-5642\"\n },\n \"id\": \"03-243002\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"TemplateSubscriptions\",\n \"id\": \"243002\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"SIP 40\",\n \"@type\": \"ProductValue\",\n \"isBundle\": false,\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"TariffPackage\",\n \"name\": \"TariffPackage\"\n },\n \"id\": \"03-190\"\n },\n \"id\": \"03-148972\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"TemplateSubscriptions\",\n \"id\": \"148972\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n }\n ],\n \"id\": 8211,\n \"orderRelationship\": [\n {\n \"id\": \"01-302259\",\n \"type\": \"cross-ref\",\n \"@referredType\": \"Service\"\n }\n ],\n \"state\": \"Completed\"\n},\n{\n \"category\": \"PSTN\",\n \"productOrderItem\": [\n {\n \"product\": {\n \"name\": \"59335_00780030-0030-0030-3700-380064003900\",\n \"@type\": \"ProductValue\",\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"MSISDN\",\n \"name\": \"MSISDN\"\n },\n \"id\": \"01-59335\"\n },\n \"id\": \"01-59465\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"Extentions\",\n \"id\": \"59335\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"Інтернет/Зона 2\",\n \"@type\": \"ProductValue\",\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"TariffPlan\",\n \"name\": \"TariffPlan\"\n },\n \"id\": \"02-25\"\n },\n \"id\": \"02-22448\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"Agreements\",\n \"id\": \"22448\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"Абон.плата Інтернет - 4200 грн без ПДВ\",\n \"@type\": \"ProductValue\",\n \"isBundle\": false,\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"TariffPackage\",\n \"name\": \"TariffPackage\"\n },\n \"id\": \"03-4283\"\n },\n \"id\": \"03-118441\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"TemplateSubscriptions\",\n \"id\": \"118441\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n }\n ],\n \"id\": 22448,\n \"orderRelationship\": [\n {\n \"id\": \"01-316465\",\n \"type\": \"cross-ref\",\n \"@referredType\": \"Service\"\n }\n ],\n \"state\": \"Completed\"\n},\n{\n \"category\": \"PSTN\",\n \"productOrderItem\": [\n {\n \"product\": {\n \"name\": \"68619_00780030-0032-0031-3900-630066006400\",\n \"@type\": \"ProductValue\",\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"MSISDN\",\n \"name\": \"MSISDN\"\n },\n \"id\": \"01-68619\"\n },\n \"id\": \"01-68749\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"Extentions\",\n \"id\": \"68619\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"68620_00780030-0037-0066-6600-350064006500\",\n \"@type\": \"ProductValue\",\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"MSISDN\",\n \"name\": \"MSISDN\"\n },\n \"id\": \"01-68620\"\n },\n \"id\": \"01-68750\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"Extentions\",\n \"id\": \"68620\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"Основний\",\n \"@type\": \"ProductValue\",\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"TariffPlan\",\n \"name\": \"TariffPlan\"\n },\n \"id\": \"02-42\"\n },\n \"id\": \"02-25835\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"Agreements\",\n \"id\": \"25835\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"PSTN Исходящий местный (Киев)\",\n \"@type\": \"ProductValue\",\n \"isBundle\": false,\n \"productCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"lbl_Role\",\n \"name\": \"lbl_Role\",\n \"value\": \"Discount\",\n \"valueType\": \"String\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"tp_Code\",\n \"name\": \"tp_Code\",\n \"value\": \"30099\",\n \"valueType\": \"String\"\n }\n ],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"TariffPackage\",\n \"name\": \"TariffPackage\"\n },\n \"id\": \"03-361\"\n },\n \"id\": \"03-72198\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"TemplateSubscriptions\",\n \"id\": \"72198\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"Пакет  26,25 грн без ПДВ\",\n \"@type\": \"ProductValue\",\n \"isBundle\": false,\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"TariffPackage\",\n \"name\": \"TariffPackage\"\n },\n \"id\": \"03-3988\"\n },\n \"id\": \"03-72201\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"TemplateSubscriptions\",\n \"id\": \"72201\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"Emergency Free Numbers\",\n \"@type\": \"ProductValue\",\n \"isBundle\": false,\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"TariffPackage\",\n \"name\": \"TariffPackage\"\n },\n \"id\": \"03-5642\"\n },\n \"id\": \"03-245940\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"TemplateSubscriptions\",\n \"id\": \"245940\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"PSTN Трафик \\\"Основний\\\"\",\n \"@type\": \"ProductValue\",\n \"isBundle\": false,\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"TariffPackage\",\n \"name\": \"TariffPackage\"\n },\n \"id\": \"03-423\"\n },\n \"id\": \"03-72197\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"TemplateSubscriptions\",\n \"id\": \"72197\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n }\n ],\n \"id\": 25835,\n \"orderRelationship\": [\n {\n \"id\": \"01-319854\",\n \"type\": \"cross-ref\",\n \"@referredType\": \"Service\"\n }\n ],\n \"state\": \"Completed\"\n},\n{\n \"category\": \"PSTN\",\n \"productOrderItem\": [\n {\n \"product\": {\n \"name\": \"77704_00780030-0033-0031-3300-370034006100\",\n \"@type\": \"ProductValue\",\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"MSISDN\",\n \"name\": \"MSISDN\"\n },\n \"id\": \"01-77704\"\n },\n \"id\": \"01-77834\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"Extentions\",\n \"id\": \"77704\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"Основний\",\n \"@type\": \"ProductValue\",\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"TariffPlan\",\n \"name\": \"TariffPlan\"\n },\n \"id\": \"02-42\"\n },\n \"id\": \"02-29268\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"Agreements\",\n \"id\": \"29268\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"PSTN Исходящий местный (Запорожье) \",\n \"@type\": \"ProductValue\",\n \"isBundle\": false,\n \"productCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"lbl_Role\",\n \"name\": \"lbl_Role\",\n \"value\": \"Discount\",\n \"valueType\": \"String\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"tp_Code\",\n \"name\": \"tp_Code\",\n \"value\": \"30071\",\n \"valueType\": \"String\"\n }\n ],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"TariffPackage\",\n \"name\": \"TariffPackage\"\n },\n \"id\": \"03-126\"\n },\n \"id\": \"03-79077\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"TemplateSubscriptions\",\n \"id\": \"79077\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"Пакет  26,25 грн без ПДВ\",\n \"@type\": \"ProductValue\",\n \"isBundle\": false,\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"TariffPackage\",\n \"name\": \"TariffPackage\"\n },\n \"id\": \"03-3988\"\n },\n \"id\": \"03-79095\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"TemplateSubscriptions\",\n \"id\": \"79095\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"Emergency Free Numbers\",\n \"@type\": \"ProductValue\",\n \"isBundle\": false,\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"TariffPackage\",\n \"name\": \"TariffPackage\"\n },\n \"id\": \"03-5642\"\n },\n \"id\": \"03-261976\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"TemplateSubscriptions\",\n \"id\": \"261976\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"PSTN Трафик \\\"Основний\\\"\",\n \"@type\": \"ProductValue\",\n \"isBundle\": false,\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"TariffPackage\",\n \"name\": \"TariffPackage\"\n },\n \"id\": \"03-423\"\n },\n \"id\": \"03-79079\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"TemplateSubscriptions\",\n \"id\": \"79079\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n }\n ],\n \"id\": 29268,\n \"orderRelationship\": [\n {\n \"id\": \"01-323277\",\n \"type\": \"cross-ref\",\n \"@referredType\": \"Service\"\n }\n ],\n \"state\": \"Completed\"\n},\n{\n \"category\": \"PSTN\",\n \"productOrderItem\": [\n {\n \"product\": {\n \"name\": \"122613_00780030-0032-0034-6400-300039003600\",\n \"@type\": \"ProductValue\",\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"MSISDN\",\n \"name\": \"MSISDN\"\n },\n \"id\": \"01-122613\"\n },\n \"id\": \"01-122743\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"Extentions\",\n \"id\": \"122613\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"123677_00780030-0039-0032-6300-320061006300\",\n \"@type\": \"ProductValue\",\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"MSISDN\",\n \"name\": \"MSISDN\"\n },\n \"id\": \"01-123677\"\n },\n \"id\": \"01-123807\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"Extentions\",\n \"id\": \"123677\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"124531_00780030-0065-0066-3200-390036003800\",\n \"@type\": \"ProductValue\",\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"MSISDN\",\n \"name\": \"MSISDN\"\n },\n \"id\": \"01-124531\"\n },\n \"id\": \"01-124661\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"Extentions\",\n \"id\": \"124531\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"124532_00780030-0031-0066-3100-660038006100\",\n \"@type\": \"ProductValue\",\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"MSISDN\",\n \"name\": \"MSISDN\"\n },\n \"id\": \"01-124532\"\n },\n \"id\": \"01-124662\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"Extentions\",\n \"id\": \"124532\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"124533_00780030-0061-0062-6400-640032003600\",\n \"@type\": \"ProductValue\",\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"MSISDN\",\n \"name\": \"MSISDN\"\n },\n \"id\": \"01-124533\"\n },\n \"id\": \"01-124663\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"Extentions\",\n \"id\": \"124533\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"124534_00780030-0039-0035-3800-390030003900\",\n \"@type\": \"ProductValue\",\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"MSISDN\",\n \"name\": \"MSISDN\"\n },\n \"id\": \"01-124534\"\n },\n \"id\": \"01-124664\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"Extentions\",\n \"id\": \"124534\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"124535_00780030-0037-0036-6100-390036003600\",\n \"@type\": \"ProductValue\",\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"MSISDN\",\n \"name\": \"MSISDN\"\n },\n \"id\": \"01-124535\"\n },\n \"id\": \"01-124665\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"Extentions\",\n \"id\": \"124535\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"124536_00780030-0066-0035-3900-320038003600\",\n \"@type\": \"ProductValue\",\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"MSISDN\",\n \"name\": \"MSISDN\"\n },\n \"id\": \"01-124536\"\n },\n \"id\": \"01-124666\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"Extentions\",\n \"id\": \"124536\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"124537_00780030-0036-0066-3700-650061006500\",\n \"@type\": \"ProductValue\",\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"MSISDN\",\n \"name\": \"MSISDN\"\n },\n \"id\": \"01-124537\"\n },\n \"id\": \"01-124667\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"Extentions\",\n \"id\": \"124537\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"124737_00780030-0066-0036-6600-640033003100\",\n \"@type\": \"ProductValue\",\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"MSISDN\",\n \"name\": \"MSISDN\"\n },\n \"id\": \"01-124737\"\n },\n \"id\": \"01-124867\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"Extentions\",\n \"id\": \"124737\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"SIP-Тест\",\n \"@type\": \"ProductValue\",\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"TariffPlan\",\n \"name\": \"TariffPlan\"\n },\n \"id\": \"02-45\"\n },\n \"id\": \"02-46012\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"Agreements\",\n \"id\": \"46012\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"TSU 3G 0,456 ГРН з ПДВ\",\n \"@type\": \"ProductValue\",\n \"isBundle\": false,\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"TariffPackage\",\n \"name\": \"TariffPackage\"\n },\n \"id\": \"03-5169\"\n },\n \"id\": \"03-170126\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"TemplateSubscriptions\",\n \"id\": \"170126\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"Ukrtelecom 0,38 ГРН без ПДВ\",\n \"@type\": \"ProductValue\",\n \"isBundle\": false,\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"TariffPackage\",\n \"name\": \"TariffPackage\"\n },\n \"id\": \"03-5140\"\n },\n \"id\": \"03-170125\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"TemplateSubscriptions\",\n \"id\": \"170125\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"Astelit 0,38 ГРН без ПДВ\",\n \"@type\": \"ProductValue\",\n \"isBundle\": false,\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"TariffPackage\",\n \"name\": \"TariffPackage\"\n },\n \"id\": \"03-5117\"\n },\n \"id\": \"03-170124\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"TemplateSubscriptions\",\n \"id\": \"170124\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"PSTN Трафик ''SIP-Тест''\",\n \"@type\": \"ProductValue\",\n \"isBundle\": false,\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"TariffPackage\",\n \"name\": \"TariffPackage\"\n },\n \"id\": \"03-198\"\n },\n \"id\": \"03-170128\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"TemplateSubscriptions\",\n \"id\": \"170128\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"Пакет АП 30 грн без ПДВ\",\n \"@type\": \"ProductValue\",\n \"isBundle\": false,\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"TariffPackage\",\n \"name\": \"TariffPackage\"\n },\n \"id\": \"03-5597\"\n },\n \"id\": \"03-179194\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"TemplateSubscriptions\",\n \"id\": \"179194\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"MTS 0,38 ГРН без ПДВ\",\n \"@type\": \"ProductValue\",\n \"isBundle\": false,\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"TariffPackage\",\n \"name\": \"TariffPackage\"\n },\n \"id\": \"03-5103\"\n },\n \"id\": \"03-170121\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"TemplateSubscriptions\",\n \"id\": \"170121\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"Cellular Network Example Telecom GSM 0,18 ГРН без ПДВ\",\n \"@type\": \"ProductValue\",\n \"isBundle\": false,\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"TariffPackage\",\n \"name\": \"TariffPackage\"\n },\n \"id\": \"03-5203\"\n },\n \"id\": \"03-170127\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"TemplateSubscriptions\",\n \"id\": \"170127\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"Emergency Free Numbers\",\n \"@type\": \"ProductValue\",\n \"isBundle\": false,\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"TariffPackage\",\n \"name\": \"TariffPackage\"\n },\n \"id\": \"03-5642\"\n },\n \"id\": \"03-238640\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"TemplateSubscriptions\",\n \"id\": \"238640\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"PSTN Исходящий местный (Одесса)\",\n \"@type\": \"ProductValue\",\n \"isBundle\": false,\n \"productCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"lbl_Role\",\n \"name\": \"lbl_Role\",\n \"value\": \"Discount\",\n \"valueType\": \"String\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"tp_Code\",\n \"name\": \"tp_Code\",\n \"value\": \"30152\",\n \"valueType\": \"String\"\n }\n ],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"TariffPackage\",\n \"name\": \"TariffPackage\"\n },\n \"id\": \"03-561\"\n },\n \"id\": \"03-170129\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"TemplateSubscriptions\",\n \"id\": \"170129\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"Intertelecom 0,38 ГРН без ПДВ\",\n \"@type\": \"ProductValue\",\n \"isBundle\": false,\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"TariffPackage\",\n \"name\": \"TariffPackage\"\n },\n \"id\": \"03-5155\"\n },\n \"id\": \"03-170147\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"TemplateSubscriptions\",\n \"id\": \"170147\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n }\n ],\n \"id\": 46012,\n \"orderRelationship\": [\n {\n \"id\": \"01-339704\",\n \"type\": \"cross-ref\",\n \"@referredType\": \"Service\"\n }\n ],\n \"state\": \"Completed\"\n},\n{\n \"category\": \"FTTB\",\n \"id\": 53770,\n \"orderRelationship\": [\n {\n \"id\": \"01-357390\",\n \"type\": \"cross-ref\",\n \"@referredType\": \"Service\"\n }\n ],\n \"state\": \"Completed\"\n},\n{\n \"category\": \"GSM\",\n \"productOrderItem\": [\n {\n \"product\": {\n \"name\": \"2045728_00780030-0066-0039-3100-620034003000\",\n \"@type\": \"ProductValue\",\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"MSISDN\",\n \"name\": \"MSISDN\"\n },\n \"id\": \"01-2045728\"\n },\n \"id\": \"01-2047839\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"Extentions\",\n \"id\": \"2045728\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"Киевстар Семья\",\n \"@type\": \"ProductValue\",\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"TariffPlan\",\n \"name\": \"TariffPlan\"\n },\n \"id\": \"02-66\"\n },\n \"id\": \"02-1394999\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"Agreements\",\n \"id\": \"1394999\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n }\n ],\n \"id\": 1394999,\n \"orderRelationship\": [\n {\n \"id\": \"01-3026998\",\n \"type\": \"cross-ref\",\n \"@referredType\": \"Service\"\n }\n ],\n \"state\": \"Completed\"\n},\n{\n \"category\": \"GSM\",\n \"productOrderItem\": [\n {\n \"product\": {\n \"name\": \"2045729_00780030-0038-0061-3600-360066003300\",\n \"@type\": \"ProductValue\",\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"MSISDN\",\n \"name\": \"MSISDN\"\n },\n \"id\": \"01-2045729\"\n },\n \"id\": \"01-2047840\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"Extentions\",\n \"id\": \"2045729\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"Киевстар Семья\",\n \"@type\": \"ProductValue\",\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"TariffPlan\",\n \"name\": \"TariffPlan\"\n },\n \"id\": \"02-66\"\n },\n \"id\": \"02-1395000\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"Agreements\",\n \"id\": \"1395000\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n }\n ],\n \"id\": 1395000,\n \"orderRelationship\": [\n {\n \"id\": \"01-3026999\",\n \"type\": \"cross-ref\",\n \"@referredType\": \"Service\"\n }\n ],\n \"state\": \"Completed\"\n},\n{\n \"category\": \"GSM\",\n \"productOrderItem\": [\n {\n \"product\": {\n \"name\": \"2045730_00780030-0039-0065-3300-640034006400\",\n \"@type\": \"ProductValue\",\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"MSISDN\",\n \"name\": \"MSISDN\"\n },\n \"id\": \"01-2045730\"\n },\n \"id\": \"01-2047841\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"Extentions\",\n \"id\": \"2045730\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"Smart+ (ММС)\",\n \"@type\": \"ProductValue\",\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"TariffPlan\",\n \"name\": \"TariffPlan\"\n },\n \"id\": \"02-55\"\n },\n \"id\": \"02-1395001\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"Agreements\",\n \"id\": \"1395001\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n }\n ],\n \"id\": 1395001,\n \"orderRelationship\": [\n {\n \"id\": \"01-3027000\",\n \"type\": \"cross-ref\",\n \"@referredType\": \"Service\"\n }\n ],\n \"state\": \"Completed\"\n},\n{\n \"category\": \"GSM\",\n \"productOrderItem\": [\n {\n \"product\": {\n \"name\": \"2045731_00780030-0065-0066-3900-660031006200\",\n \"@type\": \"ProductValue\",\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"MSISDN\",\n \"name\": \"MSISDN\"\n },\n \"id\": \"01-2045731\"\n },\n \"id\": \"01-2047842\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"Extentions\",\n \"id\": \"2045731\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n },\n {\n \"product\": {\n \"name\": \"Smart+ (ММС)\",\n \"@type\": \"ProductValue\",\n \"productCharacteristic\": [],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"TariffPlan\",\n \"name\": \"TariffPlan\"\n },\n \"id\": \"02-55\"\n },\n \"id\": \"02-1395002\",\n \"state\": \"added\",\n \"productOrderItemRelationship\": [\n {\n \"@referredtype\": \"Agreements\",\n \"id\": \"1395002\",\n \"type\": \"cross-ref\"\n }\n ],\n \"@type\": \"ProductOrderItem\"\n }\n ],\n \"id\": 1395002,\n \"orderRelationship\": [\n {\n \"id\": \"01-3027001\",\n \"type\": \"cross-ref\",\n \"@referredType\": \"Service\"\n }\n ],\n \"state\": \"Completed\"\n}\n]\n" } ], "headers": ""} Flow_1upy3sj diff --git a/tmforum-apis/TMF622_Product_Ordering/TMF622_Post_CancelProductOrder.bpmn b/tmforum-apis/TMF622_Product_Ordering/TMF622_Post_CancelProductOrder.bpmn index ab625a2..057a8c2 100644 --- a/tmforum-apis/TMF622_Product_Ordering/TMF622_Post_CancelProductOrder.bpmn +++ b/tmforum-apis/TMF622_Product_Ordering/TMF622_Post_CancelProductOrder.bpmn @@ -8,7 +8,7 @@ [] [{"name":"RestApi","initCode":"functions://default/RestApi","initParameters":[{"name":"Uri","type":"Uri","required":true,"oldName":"Uri","defaultValue":"http://servername:port/resource"},{"name":"Method","type":"string","required":true,"oldName":"Method","defaultValue":"GET"},{"name":"Login","type":"string","required":false,"oldName":"Login","defaultValue":null},{"name":"Password","type":"string","required":false,"oldName":"Password","defaultValue":null},{"name":"Headers","type":"StringDictionary","required":false,"oldName":"Headers","defaultValue":"{\r\n \"Content-Type\":\"application/json;charset=utf-16\",\r\n \"system\":\"204\",\r\n \"global_unique_id\":\"6a297fcb-956e-4228-8c11-017e9bacd629\"\r\n }"},{"name":"Body","type":"string","required":false,"oldName":"Body","defaultValue":"{}"},{"name":"Encoding","type":"string","required":false,"oldName":"Encoding","defaultValue":"utf-8"},{"name":"Result","type":"HttpResponse","required":false,"oldName":"Result","defaultValue":null}],"oldName":"RestApi"},{"name":"RestApi_Get","initCode":"functions://default/RestApi/Get","initParameters":[{"name":"Uri","type":"Uri","required":true,"oldName":"Uri","defaultValue":"http://servername:port/resource"},{"name":"Login","type":"string","required":false,"oldName":"Login","defaultValue":null},{"name":"Password","type":"string","required":false,"oldName":"Password","defaultValue":null},{"name":"Headers","type":"StringDictionary","required":false,"oldName":"Headers","defaultValue":"{\r\n \"Content-Type\":\"application/json;charset=utf-16\",\r\n \"system\":\"204\",\r\n \"global_unique_id\":\"6a297fcb-956e-4228-8c11-017e9bacd629\"\r\n }"},{"name":"Encoding","type":"string","required":false,"oldName":"Encoding","defaultValue":"utf-8"},{"name":"Result","type":"HttpResponse","required":false,"oldName":"Result","defaultValue":null}],"oldName":"RestApi_Get"},{"name":"JsonPath","initCode":"functions://default//JsonPath","initParameters":[{"name":"Response","type":"HttpResponse","required":true,"oldName":"Response","defaultValue":null},{"name":"Path","type":"string","required":false,"oldName":"Path","defaultValue":"$"},{"name":"Result","type":"Json","required":false,"oldName":"Result","defaultValue":null}],"oldName":"JsonPath"},{"name":"SaveVariable","initCode":"functions://default//SaveVariable","initParameters":[{"name":"VariableName","type":"string","required":true,"oldName":"VariableName","defaultValue":"varName"},{"name":"Data","type":"object","required":true,"oldName":"Data","defaultValue":"#previous"}],"oldName":"SaveVariable"},{"name":"Wait","initCode":"functions://default//Wait","initParameters":[{"name":"millisecondsTimeout","type":"int","required":true,"oldName":"millisecondsTimeout","defaultValue":"1000"}],"oldName":"Wait"},{"name":"SQL_Oracle_Query","initCode":"functions://default//SQL/Oracle/Query","initParameters":[{"name":"userID","type":"string","required":true,"oldName":"userID","defaultValue":null},{"name":"password","type":"string","required":false,"oldName":"password","defaultValue":null},{"name":"dataSource","type":"string","required":false,"oldName":"dataSource","defaultValue":null},{"name":"query","type":"string","required":false,"oldName":"query","defaultValue":null},{"name":"Result","type":"Collection","required":false,"oldName":"Result","defaultValue":null}],"oldName":"SQL_Oracle_Query"},{"name":"SQL_Oracle_Command","initCode":"functions://default//SQL/Oracle/Command","initParameters":[{"name":"userID","type":"string","required":true,"oldName":"userID","defaultValue":null},{"name":"password","type":"string","required":false,"oldName":"password","defaultValue":null},{"name":"dataSource","type":"string","required":false,"oldName":"dataSource","defaultValue":null},{"name":"command","type":"string","required":false,"oldName":"command","defaultValue":null},{"name":"Result","type":"int","required":false,"oldName":"Result","defaultValue":null}],"oldName":"SQL_Oracle_Command"}] [] - [{"name":"oracleConfig","type":"OracleConfig","initialValue":"{\r\n \"userId\":\"username\",\r\n \"password\":\"password\",\r\n \"dataSource\":\"127.0.0.1:1521/oracledb.local\"\r\n}\r\n"},{"name":"httpConfig","type":"HttpConfig","initialValue":"{\r\n \"host\":\"https://127.0.0.1\",\r\n \"port\":\"6992\",\r\n \"login\":\"username\",\r\n \"password\":\"password\",\r\n \"encoding\":\"utf-8\",\r\n \"headers\":{\r\n \"Content-Type\":\"application/vnd.api+json\",\r\n \"Accept\":\"application/vnd.api+json\"\r\n }\r\n}\r\n"},{"name":"sqlConnectionString","type":"string","initialValue":"Data Source=sqlserv;Initial Catalog=unibill;User ID=username;Password=password;MultipleActiveResultSets=true;Encrypt=True;TrustServerCertificate=True;Command Timeout=3600"},{"name":"log","type":"string","initialValue":""}] + [{"name":"oracleConfig","type":"OracleConfig","initialValue":"{\r\n \"userId\":\"username\",\r\n \"password\":\"password\",\r\n \"dataSource\":\"127.0.0.1:1521/oracledb.local\"\r\n}\r\n"},{"name":"httpConfig","type":"HttpConfig","initialValue":"{\r\n \"host\":\"https://127.0.0.1\",\r\n \"port\":\"6992\",\r\n \"login\":\"username\",\r\n \"password\":\"password\",\r\n \"encoding\":\"utf-8\",\r\n \"headers\":{\r\n \"Content-Type\":\"application/vnd.api+json\",\r\n \"Accept\":\"application/vnd.api+json\"\r\n }\r\n}\r\n"},{"name":"sqlConnectionString","type":"string","initialValue":"Data Source=localhost;Initial Catalog=examples;User ID=username;Password=;MultipleActiveResultSets=true;Encrypt=True;TrustServerCertificate=True;Command Timeout=3600"},{"name":"log","type":"string","initialValue":""}] {"cancellationReason":"Duplicate order","requestedCancellationDate":"2024-02-22T23:59:59.993Z","productOrder":{"id":2285544}} diff --git a/tmforum-apis/TMF622_Product_Ordering/TMF622_Post_ProductOrder.bpmn b/tmforum-apis/TMF622_Product_Ordering/TMF622_Post_ProductOrder.bpmn index 46de6b4..4f14bdf 100644 --- a/tmforum-apis/TMF622_Product_Ordering/TMF622_Post_ProductOrder.bpmn +++ b/tmforum-apis/TMF622_Product_Ordering/TMF622_Post_ProductOrder.bpmn @@ -3,17 +3,17 @@ [ "Action", "Function"] [ { "name": "HttpConfig", "definition": "{\r\n \"$schema\":\"http://natec.tech/simpleschema\",\r\n \"$ref\":\"#/definitions/HttpConfig\",\r\n \"definitions\":{\r\n \"HttpConfig\":{\r\n \"type\":\"object\",\r\n \"properties\":{\r\n \"host\":{\r\n \"type\":\"string\"\r\n },\r\n \"port\":{\r\n \"type\":\"string\"\r\n },\r\n \"login\":{\r\n \"type\":\"string\"\r\n },\r\n \"password\":{\r\n \"type\":\"string\"\r\n },\r\n \"encoding\":{\r\n \"type\":\"string\"\r\n },\r\n \"headers\":{\r\n \"type\":\"StringDictionary<string, string>\"\r\n }\r\n },\r\n \"required\": [\"host\", \"encoding\", \"headers\"],\r\n \"title\":\"HttpConfig\"\r\n }\r\n }\r\n}", "isNativeDefinition": false }, { "name": "OracleConfig", "definition": "{\r\n \"$schema\":\"http://natec.tech/simpleschema\",\r\n \"$ref\":\"#/definitions/OracleConfig\",\r\n \"definitions\":{\r\n \"OracleConfig\":{\r\n \"type\":\"object\",\r\n \"properties\":{\r\n \"userId\":{\r\n \"type\":\"string\"\r\n },\r\n \"password\":{\r\n \"type\":\"string\"\r\n },\r\n \"dataSource\":{\r\n \"type\":\"string\"\r\n }\r\n },\r\n \"required\": [\"userId\", \"password\", \"dataSource\"],\r\n \"title\":\"OracleConfig\"\r\n }\r\n }\r\n}", "isNativeDefinition": false }, { "name": "ErrorResponse", "definition": "{\r\n \"$schema\": \"http://json-schema.org/draft-06/schema#\",\r\n \"$ref\": \"#/definitions/ErrorResponse\",\r\n \"definitions\": {\r\n \"ErrorResponse\": {\r\n \"type\": \"object\",\r\n \"additionalProperties\": true,\r\n \"properties\": {\r\n \"LevelMessage\": {\r\n \"title\": \"The Error level\",\r\n \"type\": \"string\"\r\n },\r\n \"statusCode\": {\r\n \"title\": \"The Error Status Code\",\r\n \"type\": \"integer\"\r\n },\r\n \"ErrNumber\": {\r\n \"title\": \"The Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Message\": {\r\n \"title\": \"The Error Message\",\r\n \"type\": \"string\"\r\n },\r\n \"State\": {\r\n \"title\": \"The Error State\",\r\n \"type\": \"string\"\r\n },\r\n \"HelpLink\": {\r\n \"title\": \"The Help Link\",\r\n \"type\": \"string\"\r\n },\r\n \"errNumberReason\": {\r\n \"title\": \"The initial Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Data\": {\r\n \"title\": \"The Error Data\",\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"LevelMessage\": {\r\n \"title\": \"The Error level\",\r\n \"type\": \"string\"\r\n },\r\n \"statusCode\": {\r\n \"title\": \"The Error Status Code\",\r\n \"type\": \"integer\"\r\n },\r\n \"ErrNumber\": {\r\n \"title\": \"The Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Message\": {\r\n \"title\": \"The Error Message\",\r\n \"type\": \"string\"\r\n },\r\n \"State\": {\r\n \"title\": \"The Error State\",\r\n \"type\": \"string\"\r\n },\r\n \"HelpLink\": {\r\n \"title\": \"The Help Link\",\r\n \"type\": \"string\"\r\n },\r\n \"errNumberReason\": {\r\n \"title\": \"The initial Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Data\": {\r\n \"title\": \"The Data Schema\",\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"LevelMessage\": {\r\n \"title\": \"The Error level\",\r\n \"type\": \"string\"\r\n },\r\n \"statusCode\": {\r\n \"title\": \"The Error Status Code\",\r\n \"type\": \"integer\"\r\n },\r\n \"ErrNumber\": {\r\n \"title\": \"The Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Message\": {\r\n \"title\": \"The Error Message\",\r\n \"type\": \"string\"\r\n },\r\n \"State\": {\r\n \"title\": \"The Error State\",\r\n \"type\": \"string\"\r\n },\r\n \"HelpLink\": {\r\n \"title\": \"The Help Link\",\r\n \"type\": \"string\"\r\n },\r\n \"errNumberReason\": {\r\n \"title\": \"The initial Error Number\",\r\n \"type\": \"string\"\r\n }\r\n }\r\n },\r\n \"ResolveUrl\": {\r\n \"title\": \"The Resolve Url Link\",\r\n \"type\": \"string\"\r\n }\r\n }\r\n },\r\n \"ResolveUrl\": {\r\n \"title\": \"The Resolve Url Link\",\r\n \"type\": \"string\"\r\n },\r\n \"extraData\": {\r\n \"title\": \"The Error Extra Data \",\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"operationDuration\": {\r\n \"title\": \"The Operation Duration\",\r\n \"type\": \"integer\"\r\n }\r\n }\r\n }\r\n },\r\n \"title\": \"ErrorResponse\"\r\n }\r\n }\r\n}", "isNativeDefinition": false }, { "name": "SystemException", "definition": "{\r\n \"$schema\":\"http://natec.tech/simpleschema\",\r\n \"$ref\":\"#/definitions/SystemException\",\r\n \"definitions\":{\r\n \"SystemException\":{\r\n \"type\":\"object\",\r\n \"properties\":{\r\n \"Exception\":{\r\n \"type\":\"types://core/System.Exception\"\r\n },\r\n \"info\":{\r\n \"type\":\"string\"\r\n }\r\n },\r\n \"title\":\"SystemException\"\r\n }\r\n }\r\n}", "isNativeDefinition": false }, { "name": "Characteristic", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class Characteristic\r\n{\r\n \r\n private string _type;\r\n \r\n private string _id;\r\n \r\n private string _name;\r\n \r\n private string _value;\r\n \r\n private string _valueType;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private CharacteristicRelationship[] _characteristicRelationship;\r\n \r\n /// <summary>\r\n /// The @type attribute represents the actual class type of an entity. LOV: Characteristic\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Unique identifier of the characteristic. LOV: Сharacteristic value, provided by BSS template\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Code of the characteristic. LOV: Сharacteristic value, provided by BSS template\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A Value of the characteristic. LOV: Сharacteristic value\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"value\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string value\r\n {\r\n get\r\n {\r\n return this._value;\r\n }\r\n set\r\n {\r\n this._value = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A simple type of characteristic value. LOV: Integer, date-time, string, number\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"valueType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string valueType\r\n {\r\n get\r\n {\r\n return this._valueType;\r\n }\r\n set\r\n {\r\n this._valueType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"characteristicRelationship\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public CharacteristicRelationship[] characteristicRelationship\r\n {\r\n get\r\n {\r\n return this._characteristicRelationship;\r\n }\r\n set\r\n {\r\n this._characteristicRelationship = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ProductSpecificationRef", "definition": "/// <summary>\r\n/// ProductSpecification reference. A product Specification represents entities that are orderable from the provider of the catalog.\r\n/// </summary>\r\npublic sealed class ProductSpecificationRef\r\n{\r\n \r\n private string _type;\r\n \r\n private string _id;\r\n \r\n private string _name;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _href;\r\n \r\n private string _referredType;\r\n \r\n /// <summary>\r\n /// The @type attribute represents the actual class type of an entity. LOV: An Attribute Format value of the Object\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Unique identifier of the Product Specification. LOV: MSISDN, TariffPlan, TariffPackage\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The Product Specification code. LOV: Сharacteristic value, provided by BSS template\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Product", "definition": "/// <summary>\n/// \n/// </summary>\npublic sealed class Product\n{\n \n private string _type;\n \n private bool _isBundle;\n \n private Characteristic[] _productCharacteristic;\n \n private ProductSpecificationRef _productSpecification;\n \n /// <summary>\n /// Атрибут @type представляет фактический тип класса сущности.\n /// </summary>\n // \n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\n public string type\n {\n get\n {\n return this._type;\n }\n set\n {\n this._type = value;\n }\n }\n \n /// <summary>\n /// зарезервировано для будущего использования\n /// </summary>\n // \n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"isBundle\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\n public bool isBundle\n {\n get\n {\n return this._isBundle;\n }\n set\n {\n this._isBundle = value;\n }\n }\n \n /// <summary>\n /// Конкретный параметр продукта, который относится к этому заказу\n /// </summary>\n // \n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productCharacteristic\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\n public Characteristic[] productCharacteristic\n {\n get\n {\n return this._productCharacteristic;\n }\n set\n {\n this._productCharacteristic = value;\n }\n }\n \n /// <summary>\n /// \n /// </summary>\n // \n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productSpecification\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\n public ProductSpecificationRef productSpecification\n {\n get\n {\n return this._productSpecification;\n }\n set\n {\n this._productSpecification = value;\n }\n }\n}\n", "isNativeDefinition": true }, { "name": "OrderItemRelationship", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class OrderItemRelationship\r\n{\r\n \r\n private string _referredtype;\r\n \r\n private string _id;\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _relationshipType;\r\n \r\n /// <summary>\r\n /// A Referred Entity name. LOV: Extentions, Agreements, TemplateSubscriptions\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredtype\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredtype\r\n {\r\n get\r\n {\r\n return this._referredtype;\r\n }\r\n set\r\n {\r\n this._referredtype = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// In case of “cross-ref”, consists the unique identifier of an instantiated Resource to keep track of their state and changes. LOV: Provided by order management system, contains the cross-reference ID to the corresponding resourceOrder\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The type of related order, can be : “dependency” if the order needs to be “not started” until another order item is complete or “cross-ref” to keep track of the related Service Feature. LOV: supported value is \"cross-ref\"\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Relationship type as relies on, bundles, etc...\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"relationshipType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string relationshipType\r\n {\r\n get\r\n {\r\n return this._relationshipType;\r\n }\r\n set\r\n {\r\n this._relationshipType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ProductOrderItem", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class ProductOrderItem\r\n{\r\n \r\n private ProductValue _product;\r\n \r\n private string _action;\r\n \r\n private string _id;\r\n \r\n private System.Int32? _quantity;\r\n \r\n private string _state;\r\n \r\n private OrderItemRelationship[] _productOrderItemRelationship;\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private AppointmentRef _appointment;\r\n \r\n private BillingAccountRef _billingAccount;\r\n \r\n private OrderPrice[] _itemPrice;\r\n \r\n private OrderTerm[] _itemTerm;\r\n \r\n private OrderPrice[] _itemTotalPrice;\r\n \r\n private Note[] _note;\r\n \r\n private PaymentRef[] _payment;\r\n \r\n private ProductOfferingRef _productOffering;\r\n \r\n private ProductOfferingQualificationItemRef _productOfferingQualificationItem;\r\n \r\n private QuoteItemRef _quoteItem;\r\n \r\n private ProductOrderItem[] _productOrderItem;\r\n \r\n private ProductOfferingQualificationRef[] _qualification;\r\n \r\n /// <summary>\r\n /// No description\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"product\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ProductValue product\r\n {\r\n get\r\n {\r\n return this._product;\r\n }\r\n set\r\n {\r\n this._product = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The action to be carried out on the Product. LOV: add, modify, delete\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"action\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string action\r\n {\r\n get\r\n {\r\n return this._action;\r\n }\r\n set\r\n {\r\n this._action = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Provided by order management system, contains the unique identifier of the completed productOrderItem. LOV: String identifier in the format 'Prefix-Number', where Pefix is '01' for MSISDN, '02' for TariffPlan and '03' for TariffPackage\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Quantity ordered, if applied. LOV: integer greater than zero, default 1\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"quantity\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? quantity\r\n {\r\n get\r\n {\r\n return this._quantity;\r\n }\r\n set\r\n {\r\n this._quantity = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The state of Product Order according to the lifecycle. LOV: supported values are: Acknowledged, InProgress, Completed. В случае использования Priority, равного 1, присутствует только состояние «Completed»\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"state\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string state\r\n {\r\n get\r\n {\r\n return this._state;\r\n }\r\n set\r\n {\r\n this._state = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The list of elements is intended to reflect the hierarchical relationship of a particular productOrder and resourceOrder element that should be created from it. LOV: A List of object\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOrderItemRelationship\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public OrderItemRelationship[] productOrderItemRelationship\r\n {\r\n get\r\n {\r\n return this._productOrderItemRelationship;\r\n }\r\n set\r\n {\r\n this._productOrderItemRelationship = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"appointment\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public AppointmentRef appointment\r\n {\r\n get\r\n {\r\n return this._appointment;\r\n }\r\n set\r\n {\r\n this._appointment = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"billingAccount\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public BillingAccountRef billingAccount\r\n {\r\n get\r\n {\r\n return this._billingAccount;\r\n }\r\n set\r\n {\r\n this._billingAccount = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"itemPrice\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public OrderPrice[] itemPrice\r\n {\r\n get\r\n {\r\n return this._itemPrice;\r\n }\r\n set\r\n {\r\n this._itemPrice = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"itemTerm\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public OrderTerm[] itemTerm\r\n {\r\n get\r\n {\r\n return this._itemTerm;\r\n }\r\n set\r\n {\r\n this._itemTerm = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"itemTotalPrice\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public OrderPrice[] itemTotalPrice\r\n {\r\n get\r\n {\r\n return this._itemTotalPrice;\r\n }\r\n set\r\n {\r\n this._itemTotalPrice = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"note\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public Note[] note\r\n {\r\n get\r\n {\r\n return this._note;\r\n }\r\n set\r\n {\r\n this._note = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"payment\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public PaymentRef[] payment\r\n {\r\n get\r\n {\r\n return this._payment;\r\n }\r\n set\r\n {\r\n this._payment = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// ProductOffering reference. A product offering represents entities that are orderable from the provider of the catalog, this resource includes pricing information.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOffering\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ProductOfferingRef productOffering\r\n {\r\n get\r\n {\r\n return this._productOffering;\r\n }\r\n set\r\n {\r\n this._productOffering = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOfferingQualificationItem\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ProductOfferingQualificationItemRef productOfferingQualificationItem\r\n {\r\n get\r\n {\r\n return this._productOfferingQualificationItem;\r\n }\r\n set\r\n {\r\n this._productOfferingQualificationItem = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"quoteItem\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public QuoteItemRef quoteItem\r\n {\r\n get\r\n {\r\n return this._quoteItem;\r\n }\r\n set\r\n {\r\n this._quoteItem = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOrderItem\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ProductOrderItem[] productOrderItem\r\n {\r\n get\r\n {\r\n return this._productOrderItem;\r\n }\r\n set\r\n {\r\n this._productOrderItem = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"qualification\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ProductOfferingQualificationRef[] qualification\r\n {\r\n get\r\n {\r\n return this._qualification;\r\n }\r\n set\r\n {\r\n this._qualification = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "RelatedParty", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class RelatedParty\r\n{\r\n \r\n private string _referredType;\r\n \r\n private string _type;\r\n \r\n private string _id;\r\n \r\n private System.Int32? _iDType;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _href;\r\n \r\n private string _name;\r\n \r\n private string _role;\r\n \r\n /// <summary>\r\n /// An Entity name, available as a Related Party. LOV: supported value is \"Customers\"\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The @type attribute represents the actual class type of an entity. LOV: An Attribute Format value of the Object\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Entity identifier. LOV: Internal identifier value\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Sign of passing an external ID value. LOV: 1 - external ID, 0 - internal ID\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"IDType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? IDType\r\n {\r\n get\r\n {\r\n return this._iDType;\r\n }\r\n set\r\n {\r\n this._iDType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Role played by the related party\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"role\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string role\r\n {\r\n get\r\n {\r\n return this._role;\r\n }\r\n set\r\n {\r\n this._role = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ProductOrder_Request_GET", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class ProductOrder_Request_GET\r\n{\r\n \r\n private string _format;\r\n \r\n private string _accept_Language;\r\n \r\n private string _type;\r\n \r\n private System.Int32? _iDType;\r\n \r\n private ProductOrderItem[] _productOrderItem;\r\n \r\n private RelatedParty[] _relatedParty;\r\n \r\n private System.Int64? _id;\r\n \r\n private string _state;\r\n \r\n private System.Int32? _offset;\r\n \r\n private System.Int32? _limit;\r\n \r\n private string _sort;\r\n \r\n private string _sortDirection;\r\n \r\n private string _x_ms_client_request_id;\r\n \r\n /// <summary>\r\n /// Error output format. LOV: supported value is json\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"format\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string format\r\n {\r\n get\r\n {\r\n return this._format;\r\n }\r\n set\r\n {\r\n this._format = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Specifying a language for a multi-language dataset. LOV: supported value are en-English, uk-Ukrainian, ru-russian\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"Accept-Language\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string Accept_Language\r\n {\r\n get\r\n {\r\n return this._accept_Language;\r\n }\r\n set\r\n {\r\n this._accept_Language = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The @type attribute represents the actual class type of an entity. LOV: ProductOrder\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Sign of passing an external ID value. LOV: 1 - external ID, 0 - internal ID\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"IDType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? IDType\r\n {\r\n get\r\n {\r\n return this._iDType;\r\n }\r\n set\r\n {\r\n this._iDType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A ProductOrder items contain parameters to be performed on a productOffering or a product. LOV: A List of object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOrderItem\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ProductOrderItem[] productOrderItem\r\n {\r\n get\r\n {\r\n return this._productOrderItem;\r\n }\r\n set\r\n {\r\n this._productOrderItem = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A Related Party for this operation. LOV: A List of object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"relatedParty\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public RelatedParty[] relatedParty\r\n {\r\n get\r\n {\r\n return this._relatedParty;\r\n }\r\n set\r\n {\r\n this._relatedParty = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Unique identifier of ProductOrder . LOV: An identifier of Agreements from BSS\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int64? id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The state of task according to the lifecycle. LOV: terminatedWithError, accepted, InProgress, done\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"state\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string state\r\n {\r\n get\r\n {\r\n return this._state;\r\n }\r\n set\r\n {\r\n this._state = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Requested index for start of records to be provided in response requested by client (server paging). LOV: 0 - first index\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"offset\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? offset\r\n {\r\n get\r\n {\r\n return this._offset;\r\n }\r\n set\r\n {\r\n this._offset = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Number of records per response (server paging). LOV: integer greater than zero\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"limit\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? limit\r\n {\r\n get\r\n {\r\n return this._limit;\r\n }\r\n set\r\n {\r\n this._limit = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Sorting selector. LOV: usageDate\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"sort\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string sort\r\n {\r\n get\r\n {\r\n return this._sort;\r\n }\r\n set\r\n {\r\n this._sort = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// No description\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"SortDirection\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string SortDirection\r\n {\r\n get\r\n {\r\n return this._sortDirection;\r\n }\r\n set\r\n {\r\n this._sortDirection = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A unique identifier for the search request, used for the GET operation.. LOV: generally a GUID value\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"x-ms-client-request-id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string x_ms_client_request_id\r\n {\r\n get\r\n {\r\n return this._x_ms_client_request_id;\r\n }\r\n set\r\n {\r\n this._x_ms_client_request_id = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "OrderRelationship", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class OrderRelationship\r\n{\r\n \r\n private string _referredtype;\r\n \r\n private string _id;\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _href;\r\n \r\n private string _referredType;\r\n \r\n private string _relationshipType;\r\n \r\n /// <summary>\r\n /// A Referred Entity name. LOV: supported value is \"Service\"\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredtype\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredtype\r\n {\r\n get\r\n {\r\n return this._referredtype;\r\n }\r\n set\r\n {\r\n this._referredtype = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Unique identifier of the dependened Customer Facing Service order to keep track of their state and changes. LOV: Provided by order management system, contains the cross-reference ID to the CustomerFacingService\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The type of related Service order, namely “cross-ref” to keep track of the related Customer Facing Service. LOV: supported value is \"cross-ref\"\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Relationship type as correlates, triggers, etc...\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"relationshipType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string relationshipType\r\n {\r\n get\r\n {\r\n return this._relationshipType;\r\n }\r\n set\r\n {\r\n this._relationshipType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ProductOrder_Response_GET", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class ProductOrder_Response_GET\r\n{\r\n \r\n private string _accept_Language;\r\n \r\n private string _type;\r\n \r\n private System.Int32? _iDType;\r\n \r\n private string _content_Range;\r\n \r\n private string _link;\r\n \r\n private string _x_ms_client_request_id;\r\n \r\n private System.Int32? _limit;\r\n \r\n private System.Int32? _offset;\r\n \r\n private System.Int32? _x_Page_Count;\r\n \r\n /// <summary>\r\n /// Specifying a language for a multi-language dataset. LOV: supported value are en-English, uk-Ukrainian, ru-russian\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"Accept-Language\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string Accept_Language\r\n {\r\n get\r\n {\r\n return this._accept_Language;\r\n }\r\n set\r\n {\r\n this._accept_Language = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The @type attribute represents the actual class type of an entity. LOV: ProductOrder\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Sign of passing an external ID value. LOV: 1 - external ID, 0 - internal ID\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"IDType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? IDType\r\n {\r\n get\r\n {\r\n return this._iDType;\r\n }\r\n set\r\n {\r\n this._iDType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// HTTP header indicates where in a full body message a partial message belongs. LOV: items <range-start>-<range-end>/<total-count>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"Content-Range\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string Content_Range\r\n {\r\n get\r\n {\r\n return this._content_Range;\r\n }\r\n set\r\n {\r\n this._content_Range = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Web Linking HTTP header. LOV: reserved\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"Link\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string Link\r\n {\r\n get\r\n {\r\n return this._link;\r\n }\r\n set\r\n {\r\n this._link = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A unique identifier for the search request, used for the GET operation.. LOV: generally a GUID value\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"x-ms-client-request-id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string x_ms_client_request_id\r\n {\r\n get\r\n {\r\n return this._x_ms_client_request_id;\r\n }\r\n set\r\n {\r\n this._x_ms_client_request_id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Number of records per response (server paging). LOV: integer greater than zero\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"limit\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? limit\r\n {\r\n get\r\n {\r\n return this._limit;\r\n }\r\n set\r\n {\r\n this._limit = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Requested index for start of records to be provided in response requested by client (server paging). LOV: 0 - first index\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"offset\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? offset\r\n {\r\n get\r\n {\r\n return this._offset;\r\n }\r\n set\r\n {\r\n this._offset = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A Page Count from Server Paging\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"X-Page-Count\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? X_Page_Count\r\n {\r\n get\r\n {\r\n return this._x_Page_Count;\r\n }\r\n set\r\n {\r\n this._x_Page_Count = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "RelatedChannel", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class RelatedChannel\r\n{\r\n \r\n private string _id;\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _name;\r\n \r\n private string _referredType;\r\n \r\n private string _href;\r\n \r\n private string _role;\r\n \r\n /// <summary>\r\n /// A RelatedChannel system code. LOV: esys_ID values from ExternalSystems directory\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Role playing by the channel.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"role\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string role\r\n {\r\n get\r\n {\r\n return this._role;\r\n }\r\n set\r\n {\r\n this._role = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ExternalId", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class ExternalId\r\n{\r\n \r\n private string _type;\r\n \r\n private string _externalIdentifierType;\r\n \r\n private string _id;\r\n \r\n /// <summary>\r\n /// The @type attribute represents the actual class type of an entity. LOV: An Attribute Format value of the Object\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Resource name (WideCoup BSS Entity name). LOV: Extentions\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"externalIdentifierType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string externalIdentifierType\r\n {\r\n get\r\n {\r\n return this._externalIdentifierType;\r\n }\r\n set\r\n {\r\n this._externalIdentifierType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Unique value for synchronizing of externalIdentifierType with an external system. LOV: Unique value from External system\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Note", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class Note\r\n{\r\n \r\n private string _type;\r\n \r\n private string _author;\r\n \r\n private string _hostname;\r\n \r\n private string _text;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private System.DateTime? _date;\r\n \r\n private string _id;\r\n \r\n /// <summary>\r\n /// The @type attribute represents the actual class type of an entity. LOV: An Attribute Format value of the Object\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Author of this change. LOV: Username - user from the context, NULL - if unknown\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"author\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string author\r\n {\r\n get\r\n {\r\n return this._author;\r\n }\r\n set\r\n {\r\n this._author = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// hostname of this change. LOV: origin hostname or IP-address\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"hostname\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string hostname\r\n {\r\n get\r\n {\r\n return this._hostname;\r\n }\r\n set\r\n {\r\n this._hostname = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Comment for this change. LOV: String value greater than or equal to 10 characters\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"text\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string text\r\n {\r\n get\r\n {\r\n return this._text;\r\n }\r\n set\r\n {\r\n this._text = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Date of the note\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"date\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? date\r\n {\r\n get\r\n {\r\n return this._date;\r\n }\r\n set\r\n {\r\n this._date = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Identifier of the note within its containing entity\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ProductOrder_FVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class ProductOrder_FVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _category;\r\n \r\n private RelatedChannel[] _channel;\r\n \r\n private ExternalId[] _externalId;\r\n \r\n private System.Int32? _iDType;\r\n \r\n private System.Int32? _isCheckBallance;\r\n \r\n private Note[] _note;\r\n \r\n private string _priority;\r\n \r\n private ProductOrderItem[] _productOrderItem;\r\n \r\n private RelatedParty[] _relatedParty;\r\n \r\n private System.DateTime? _requestedCompletionDate;\r\n \r\n private System.DateTime? _requestedStartDate;\r\n \r\n private string _format;\r\n \r\n private string _accept_Language;\r\n \r\n private System.Int64? _id;\r\n \r\n private string _x_ms_client_request_id;\r\n \r\n private OrderRelationship[] _orderRelationship;\r\n \r\n private string _state;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private AgreementRef_FVO[] _agreement;\r\n \r\n private BillingAccountRef_FVO _billingAccount;\r\n \r\n private string _requestedInitialState;\r\n \r\n private string _description;\r\n \r\n private string _notificationContact;\r\n \r\n private OrderPrice_FVO[] _orderTotalPrice;\r\n \r\n private PaymentRef_FVO[] _payment;\r\n \r\n private ProductOfferingQualificationRef_FVO[] _productOfferingQualification;\r\n \r\n private QuoteRef_FVO[] _quote;\r\n \r\n private ProductOrderErrorMessage_FVO[] _productOrderErrorMessage;\r\n \r\n private ProductOrderJeopardyAlert_FVO[] _productOrderJeopardyAlert;\r\n \r\n private ProductOrderMilestone_FVO[] _productOrderMilestone;\r\n \r\n /// <summary>\r\n /// The @type attribute represents the actual class type of an entity. LOV: ProductOrder\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [FromRoute(Name=\"@type\")]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Used to categorize the order from order management system. LOV: value, provided by BSS template\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"category\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string category\r\n {\r\n get\r\n {\r\n return this._category;\r\n }\r\n set\r\n {\r\n this._category = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A RelatedChannel (in case \"requested on behalf of\"). LOV: A List of object\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"channel\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public RelatedChannel[] channel\r\n {\r\n get\r\n {\r\n return this._channel;\r\n }\r\n set\r\n {\r\n this._channel = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Structure for data synchronization. LOV: A List of object\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"externalId\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ExternalId[] externalId\r\n {\r\n get\r\n {\r\n return this._externalId;\r\n }\r\n set\r\n {\r\n this._externalId = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Sign of passing an external ID value. LOV: 1 - external ID, 0 - internal ID\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"IDType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? IDType\r\n {\r\n get\r\n {\r\n return this._iDType;\r\n }\r\n set\r\n {\r\n this._iDType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Option to check the sufficient balance amount to charge due to Addon activation. LOV: 1- do check, 0 - don't check\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"IsCheckBallance\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? IsCheckBallance\r\n {\r\n get\r\n {\r\n return this._isCheckBallance;\r\n }\r\n set\r\n {\r\n this._isCheckBallance = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Structure for logging changes. LOV: A List of object\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"note\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public Note[] note\r\n {\r\n get\r\n {\r\n return this._note;\r\n }\r\n set\r\n {\r\n this._note = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A way that can be used by consumers to prioritize orders in order management. LOV: 1 - to complete the order online\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"priority\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string priority\r\n {\r\n get\r\n {\r\n return this._priority;\r\n }\r\n set\r\n {\r\n this._priority = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A ProductOrder items contain parameters to be performed on a productOffering or a product. LOV: A List of object\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOrderItem\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ProductOrderItem[] productOrderItem\r\n {\r\n get\r\n {\r\n return this._productOrderItem;\r\n }\r\n set\r\n {\r\n this._productOrderItem = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A Related Party for this operation. LOV: A List of object\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"relatedParty\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public RelatedParty[] relatedParty\r\n {\r\n get\r\n {\r\n return this._relatedParty;\r\n }\r\n set\r\n {\r\n this._relatedParty = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Effective Date for operation (differs from current for the past). LOV: Date without time, effective from 0:00\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"requestedCompletionDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? requestedCompletionDate\r\n {\r\n get\r\n {\r\n return this._requestedCompletionDate;\r\n }\r\n set\r\n {\r\n this._requestedCompletionDate = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Order fulfillment start date wished by the requestor. LOV: Date without time, effective from 0:00\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"requestedStartDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? requestedStartDate\r\n {\r\n get\r\n {\r\n return this._requestedStartDate;\r\n }\r\n set\r\n {\r\n this._requestedStartDate = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Error output format. LOV: supported value is json\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"format\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [FromRoute(Name=\"format\")]\r\n public string format\r\n {\r\n get\r\n {\r\n return this._format;\r\n }\r\n set\r\n {\r\n this._format = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Specifying a language for a multi-language dataset. LOV: supported value are en-English, uk-Ukrainian, ru-russian\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"Accept-Language\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [FromHeader(Name=\"Accept-Language\")]\r\n public string Accept_Language\r\n {\r\n get\r\n {\r\n return this._accept_Language;\r\n }\r\n set\r\n {\r\n this._accept_Language = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Unique identifier of ProductOrder . LOV: An identifier of Agreements from BSS\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [FromRoute(Name=\"id\")]\r\n public System.Int64? id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A unique identifier for the search request, used for the GET operation.. LOV: generally a GUID value\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"x-ms-client-request-id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [FromHeader(Name=\"x-ms-client-request-id\")]\r\n public string x_ms_client_request_id\r\n {\r\n get\r\n {\r\n return this._x_ms_client_request_id;\r\n }\r\n set\r\n {\r\n this._x_ms_client_request_id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The array of child order items is intended to reflect a hierarchical relationship of the services to be instantiated from the productOrder on base the product catalog specification, namely “cross-ref” to keep track of the child order (a Customer Facing Service). LOV: A List of object\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"orderRelationship\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public OrderRelationship[] orderRelationship\r\n {\r\n get\r\n {\r\n return this._orderRelationship;\r\n }\r\n set\r\n {\r\n this._orderRelationship = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The state of task according to the lifecycle. LOV: terminatedWithError, accepted, InProgress, done\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"state\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string state\r\n {\r\n get\r\n {\r\n return this._state;\r\n }\r\n set\r\n {\r\n this._state = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A reference to an agreement defined in the context of the product order\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"agreement\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public AgreementRef_FVO[] agreement\r\n {\r\n get\r\n {\r\n return this._agreement;\r\n }\r\n set\r\n {\r\n this._agreement = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"billingAccount\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public BillingAccountRef_FVO billingAccount\r\n {\r\n get\r\n {\r\n return this._billingAccount;\r\n }\r\n set\r\n {\r\n this._billingAccount = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Possible values for the requested initial state of the order from client- by default acknowledged is considered\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"requestedInitialState\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string requestedInitialState\r\n {\r\n get\r\n {\r\n return this._requestedInitialState;\r\n }\r\n set\r\n {\r\n this._requestedInitialState = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Description of the product order\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"description\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string description\r\n {\r\n get\r\n {\r\n return this._description;\r\n }\r\n set\r\n {\r\n this._description = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Contact attached to the order to send back information regarding this order\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"notificationContact\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string notificationContact\r\n {\r\n get\r\n {\r\n return this._notificationContact;\r\n }\r\n set\r\n {\r\n this._notificationContact = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"orderTotalPrice\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public OrderPrice_FVO[] orderTotalPrice\r\n {\r\n get\r\n {\r\n return this._orderTotalPrice;\r\n }\r\n set\r\n {\r\n this._orderTotalPrice = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"payment\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public PaymentRef_FVO[] payment\r\n {\r\n get\r\n {\r\n return this._payment;\r\n }\r\n set\r\n {\r\n this._payment = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOfferingQualification\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ProductOfferingQualificationRef_FVO[] productOfferingQualification\r\n {\r\n get\r\n {\r\n return this._productOfferingQualification;\r\n }\r\n set\r\n {\r\n this._productOfferingQualification = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"quote\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public QuoteRef_FVO[] quote\r\n {\r\n get\r\n {\r\n return this._quote;\r\n }\r\n set\r\n {\r\n this._quote = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOrderErrorMessage\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ProductOrderErrorMessage_FVO[] productOrderErrorMessage\r\n {\r\n get\r\n {\r\n return this._productOrderErrorMessage;\r\n }\r\n set\r\n {\r\n this._productOrderErrorMessage = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOrderJeopardyAlert\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ProductOrderJeopardyAlert_FVO[] productOrderJeopardyAlert\r\n {\r\n get\r\n {\r\n return this._productOrderJeopardyAlert;\r\n }\r\n set\r\n {\r\n this._productOrderJeopardyAlert = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOrderMilestone\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ProductOrderMilestone_FVO[] productOrderMilestone\r\n {\r\n get\r\n {\r\n return this._productOrderMilestone;\r\n }\r\n set\r\n {\r\n this._productOrderMilestone = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ProductOrder_MVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class ProductOrder_MVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _category;\r\n \r\n private RelatedChannel[] _channel;\r\n \r\n private ExternalId[] _externalId;\r\n \r\n private System.Int32? _iDType;\r\n \r\n private System.Int32? _isCheckBallance;\r\n \r\n private Note[] _note;\r\n \r\n private string _priority;\r\n \r\n private ProductOrderItem[] _productOrderItem;\r\n \r\n private RelatedParty[] _relatedParty;\r\n \r\n private System.DateTime? _requestedCompletionDate;\r\n \r\n private System.DateTime? _requestedStartDate;\r\n \r\n private string _format;\r\n \r\n private string _accept_Language;\r\n \r\n private System.Int64? _id;\r\n \r\n private string _x_ms_client_request_id;\r\n \r\n private OrderRelationship[] _orderRelationship;\r\n \r\n private string _state;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private AgreementRef_MVO[] _agreement;\r\n \r\n private BillingAccountRef_MVO _billingAccount;\r\n \r\n private System.DateTime? _cancellationDate;\r\n \r\n private string _cancellationReason;\r\n \r\n private string _description;\r\n \r\n private System.DateTime? _expectedCompletionDate;\r\n \r\n private string _notificationContact;\r\n \r\n private OrderPrice_MVO[] _orderTotalPrice;\r\n \r\n private PaymentRef_MVO[] _payment;\r\n \r\n private ProductOfferingQualificationRef_MVO[] _productOfferingQualification;\r\n \r\n private QuoteRef_MVO[] _quote;\r\n \r\n private ProductOrderErrorMessage_MVO[] _productOrderErrorMessage;\r\n \r\n private ProductOrderJeopardyAlert_MVO[] _productOrderJeopardyAlert;\r\n \r\n private ProductOrderMilestone_MVO[] _productOrderMilestone;\r\n \r\n private System.DateTime? _completionDate;\r\n \r\n /// <summary>\r\n /// The @type attribute represents the actual class type of an entity. LOV: ProductOrder\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [FromRoute(Name=\"@type\")]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Used to categorize the order from order management system. LOV: value, provided by BSS template\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"category\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string category\r\n {\r\n get\r\n {\r\n return this._category;\r\n }\r\n set\r\n {\r\n this._category = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A RelatedChannel (in case \"requested on behalf of\"). LOV: A List of object\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"channel\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public RelatedChannel[] channel\r\n {\r\n get\r\n {\r\n return this._channel;\r\n }\r\n set\r\n {\r\n this._channel = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Structure for data synchronization. LOV: A List of object\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"externalId\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ExternalId[] externalId\r\n {\r\n get\r\n {\r\n return this._externalId;\r\n }\r\n set\r\n {\r\n this._externalId = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Sign of passing an external ID value. LOV: 1 - external ID, 0 - internal ID\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"IDType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? IDType\r\n {\r\n get\r\n {\r\n return this._iDType;\r\n }\r\n set\r\n {\r\n this._iDType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Option to check the sufficient balance amount to charge due to Addon activation. LOV: 1- do check, 0 - don't check\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"IsCheckBallance\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? IsCheckBallance\r\n {\r\n get\r\n {\r\n return this._isCheckBallance;\r\n }\r\n set\r\n {\r\n this._isCheckBallance = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Structure for logging changes. LOV: A List of object\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"note\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public Note[] note\r\n {\r\n get\r\n {\r\n return this._note;\r\n }\r\n set\r\n {\r\n this._note = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A way that can be used by consumers to prioritize orders in order management. LOV: 1 - to complete the order online\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"priority\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string priority\r\n {\r\n get\r\n {\r\n return this._priority;\r\n }\r\n set\r\n {\r\n this._priority = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A ProductOrder items contain parameters to be performed on a productOffering or a product. LOV: A List of object\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOrderItem\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ProductOrderItem[] productOrderItem\r\n {\r\n get\r\n {\r\n return this._productOrderItem;\r\n }\r\n set\r\n {\r\n this._productOrderItem = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A Related Party for this operation. LOV: A List of object\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"relatedParty\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public RelatedParty[] relatedParty\r\n {\r\n get\r\n {\r\n return this._relatedParty;\r\n }\r\n set\r\n {\r\n this._relatedParty = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Effective Date for operation (differs from current for the past). LOV: Date without time, effective from 0:00\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"requestedCompletionDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? requestedCompletionDate\r\n {\r\n get\r\n {\r\n return this._requestedCompletionDate;\r\n }\r\n set\r\n {\r\n this._requestedCompletionDate = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Order fulfillment start date wished by the requestor. LOV: Date without time, effective from 0:00\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"requestedStartDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? requestedStartDate\r\n {\r\n get\r\n {\r\n return this._requestedStartDate;\r\n }\r\n set\r\n {\r\n this._requestedStartDate = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Error output format. LOV: supported value is json\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"format\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [FromRoute(Name=\"format\")]\r\n public string format\r\n {\r\n get\r\n {\r\n return this._format;\r\n }\r\n set\r\n {\r\n this._format = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Specifying a language for a multi-language dataset. LOV: supported value are en-English, uk-Ukrainian, ru-russian\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"Accept-Language\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [FromHeader(Name=\"Accept-Language\")]\r\n public string Accept_Language\r\n {\r\n get\r\n {\r\n return this._accept_Language;\r\n }\r\n set\r\n {\r\n this._accept_Language = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Unique identifier of ProductOrder . LOV: An identifier of Agreements from BSS\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [FromRoute(Name=\"id\")]\r\n public System.Int64? id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A unique identifier for the search request, used for the GET operation.. LOV: generally a GUID value\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"x-ms-client-request-id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [FromHeader(Name=\"x-ms-client-request-id\")]\r\n public string x_ms_client_request_id\r\n {\r\n get\r\n {\r\n return this._x_ms_client_request_id;\r\n }\r\n set\r\n {\r\n this._x_ms_client_request_id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The array of child order items is intended to reflect a hierarchical relationship of the services to be instantiated from the productOrder on base the product catalog specification, namely “cross-ref” to keep track of the child order (a Customer Facing Service). LOV: A List of object\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"orderRelationship\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public OrderRelationship[] orderRelationship\r\n {\r\n get\r\n {\r\n return this._orderRelationship;\r\n }\r\n set\r\n {\r\n this._orderRelationship = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The state of task according to the lifecycle. LOV: terminatedWithError, accepted, InProgress, done\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"state\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string state\r\n {\r\n get\r\n {\r\n return this._state;\r\n }\r\n set\r\n {\r\n this._state = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A reference to an agreement defined in the context of the product order\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"agreement\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public AgreementRef_MVO[] agreement\r\n {\r\n get\r\n {\r\n return this._agreement;\r\n }\r\n set\r\n {\r\n this._agreement = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"billingAccount\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public BillingAccountRef_MVO billingAccount\r\n {\r\n get\r\n {\r\n return this._billingAccount;\r\n }\r\n set\r\n {\r\n this._billingAccount = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Date when the order is cancelled. This is used when order is cancelled. \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"cancellationDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? cancellationDate\r\n {\r\n get\r\n {\r\n return this._cancellationDate;\r\n }\r\n set\r\n {\r\n this._cancellationDate = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Reason why the order is cancelled. This is used when order is cancelled. \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"cancellationReason\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string cancellationReason\r\n {\r\n get\r\n {\r\n return this._cancellationReason;\r\n }\r\n set\r\n {\r\n this._cancellationReason = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Description of the product order\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"description\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string description\r\n {\r\n get\r\n {\r\n return this._description;\r\n }\r\n set\r\n {\r\n this._description = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Expected delivery date amended by the provider\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"expectedCompletionDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? expectedCompletionDate\r\n {\r\n get\r\n {\r\n return this._expectedCompletionDate;\r\n }\r\n set\r\n {\r\n this._expectedCompletionDate = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Contact attached to the order to send back information regarding this order\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"notificationContact\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string notificationContact\r\n {\r\n get\r\n {\r\n return this._notificationContact;\r\n }\r\n set\r\n {\r\n this._notificationContact = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"orderTotalPrice\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public OrderPrice_MVO[] orderTotalPrice\r\n {\r\n get\r\n {\r\n return this._orderTotalPrice;\r\n }\r\n set\r\n {\r\n this._orderTotalPrice = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"payment\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public PaymentRef_MVO[] payment\r\n {\r\n get\r\n {\r\n return this._payment;\r\n }\r\n set\r\n {\r\n this._payment = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOfferingQualification\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ProductOfferingQualificationRef_MVO[] productOfferingQualification\r\n {\r\n get\r\n {\r\n return this._productOfferingQualification;\r\n }\r\n set\r\n {\r\n this._productOfferingQualification = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"quote\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public QuoteRef_MVO[] quote\r\n {\r\n get\r\n {\r\n return this._quote;\r\n }\r\n set\r\n {\r\n this._quote = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOrderErrorMessage\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ProductOrderErrorMessage_MVO[] productOrderErrorMessage\r\n {\r\n get\r\n {\r\n return this._productOrderErrorMessage;\r\n }\r\n set\r\n {\r\n this._productOrderErrorMessage = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOrderJeopardyAlert\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ProductOrderJeopardyAlert_MVO[] productOrderJeopardyAlert\r\n {\r\n get\r\n {\r\n return this._productOrderJeopardyAlert;\r\n }\r\n set\r\n {\r\n this._productOrderJeopardyAlert = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOrderMilestone\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ProductOrderMilestone_MVO[] productOrderMilestone\r\n {\r\n get\r\n {\r\n return this._productOrderMilestone;\r\n }\r\n set\r\n {\r\n this._productOrderMilestone = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Date when the ProductOrder was completed\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"completionDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? completionDate\r\n {\r\n get\r\n {\r\n return this._completionDate;\r\n }\r\n set\r\n {\r\n this._completionDate = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ProductOrder_Request_GET_SET", "definition": "/// <summary>\n/// \n/// </summary>\npublic sealed class ProductOrder_Request_GET_SET\n{\n \n private string _type;\n \n private string _category;\n \n private RelatedChannel[] _channel;\n \n private ExternalId[] _externalId;\n \n private int _iDType;\n \n private int _isCheckBallance;\n \n private Note[] _note;\n \n private string _priority;\n \n private ProductOrderItem[] _productOrderItem;\n \n private RelatedParty[] _relatedParty;\n \n private System.DateTime _requestedCompletionDate;\n \n private System.DateTime _requestedStartDate;\n \n private string _errFormat;\n \n private string _accept_Language;\n \n private int _id;\n \n private string _x_ms_client_request_id;\n \n private OrderRelationship[] _orderRelationship;\n \n private string _state;\n \n /// <summary>\n /// Атрибут @type представляет фактический тип класса сущности.\n /// <c>type=atype</c>\n /// </summary>\n // \n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\n public string type\n {\n get\n {\n return this._type;\n }\n set\n {\n this._type = value;\n }\n }\n \n /// <summary>\n /// Используется для категоризации заказа в системе управления заказами.\n /// <c>category=category</c>\n /// </summary>\n // \n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"category\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\n public string category\n {\n get\n {\n return this._category;\n }\n set\n {\n this._category = value;\n }\n }\n \n /// <summary>\n /// Система инициатор (в случае \"запрос от имени\")\n /// <c>channel=channel</c>\n /// </summary>\n // \n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"channel\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\n public RelatedChannel[] channel\n {\n get\n {\n return this._channel;\n }\n set\n {\n this._channel = value;\n }\n }\n \n /// <summary>\n /// Структура для синхронизации данных\n /// <c>externalId=externalId</c>\n /// </summary>\n // \n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"externalId\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\n public ExternalId[] externalId\n {\n get\n {\n return this._externalId;\n }\n set\n {\n this._externalId = value;\n }\n }\n \n /// <summary>\n /// Признак передачи внешнего значения ID\n /// <c>IDType=IsExternalID</c>\n /// </summary>\n // \n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"IDType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\n public int IDType\n {\n get\n {\n return this._iDType;\n }\n set\n {\n this._iDType = value;\n }\n }\n \n /// <summary>\n /// Признак проверить наличие полной суммы АП для списания при подключении тарифного пакета\n /// <c>IsCheckBallance=IsCheckBallance</c>\n /// </summary>\n // \n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"IsCheckBallance\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\n public int IsCheckBallance\n {\n get\n {\n return this._isCheckBallance;\n }\n set\n {\n this._isCheckBallance = value;\n }\n }\n \n /// <summary>\n /// Структура для протоколирования изменений\n /// <c>note=note</c>\n /// </summary>\n // \n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"note\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\n public Note[] note\n {\n get\n {\n return this._note;\n }\n set\n {\n this._note = value;\n }\n }\n \n /// <summary>\n /// Способ, который потребители могут использовать для определения приоритетности заказов в управлении заказами.\n /// <c>priority=priority</c>\n /// </summary>\n // \n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"priority\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\n public string priority\n {\n get\n {\n return this._priority;\n }\n set\n {\n this._priority = value;\n }\n }\n \n /// <summary>\n /// Элементы ProductOrder содержат параметры, которые нужно выполнить с продуктом по этому заказу\n /// <c>productOrderItem=productOrderItem</c>\n /// </summary>\n // \n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOrderItem\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\n public ProductOrderItem[] productOrderItem\n {\n get\n {\n return this._productOrderItem;\n }\n set\n {\n this._productOrderItem = value;\n }\n }\n \n /// <summary>\n /// Связанная сторона для этой операции\n /// <c>relatedParty=relatedParty</c>\n /// </summary>\n // \n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"relatedParty\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\n public RelatedParty[] relatedParty\n {\n get\n {\n return this._relatedParty;\n }\n set\n {\n this._relatedParty = value;\n }\n }\n \n /// <summary>\n /// Дата вступления в силу операции (отличается от текущей для операций в прошлом)\n /// <c>requestedCompletionDate=requestedCompletionDate</c>\n /// </summary>\n // \n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"requestedCompletionDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\n public System.DateTime requestedCompletionDate\n {\n get\n {\n return this._requestedCompletionDate;\n }\n set\n {\n this._requestedCompletionDate = value;\n }\n }\n \n /// <summary>\n /// Дата начала действия заказа, желаемого инициатором\n /// <c>requestedStartDate=requestedStartDate</c>\n /// </summary>\n // \n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"requestedStartDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\n public System.DateTime requestedStartDate\n {\n get\n {\n return this._requestedStartDate;\n }\n set\n {\n this._requestedStartDate = value;\n }\n }\n \n /// <summary>\n /// Формат вывода ошибки\n /// <c>ErrFormat=ErrFormat</c>\n /// </summary>\n // \n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"ErrFormat\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\n public string ErrFormat\n {\n get\n {\n return this._errFormat;\n }\n set\n {\n this._errFormat = value;\n }\n }\n \n /// <summary>\n /// Указание языка для набора multi-language данных\n /// <c>Accept-Language=Lang</c>\n /// </summary>\n // \n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"Accept-Language\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\n public string Accept_Language\n {\n get\n {\n return this._accept_Language;\n }\n set\n {\n this._accept_Language = value;\n }\n }\n \n /// <summary>\n /// Уникальный идентификатор ProductOrder\n /// <c>id=id</c>\n /// </summary>\n // \n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\n public int id\n {\n get\n {\n return this._id;\n }\n set\n {\n this._id = value;\n }\n }\n \n /// <summary>\n /// Уникальный идентификатор транзакции для идемпотентности\n /// <c>x-ms-client-request-id=x_ms_client_request_id</c>\n /// </summary>\n // \n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"x-ms-client-request-id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\n public string x_ms_client_request_id\n {\n get\n {\n return this._x_ms_client_request_id;\n }\n set\n {\n this._x_ms_client_request_id = value;\n }\n }\n \n /// <summary>\n /// Массив элементов дочернего заказа предназначен для отражения иерархических отношений услуг, которые должны быть созданы из ProductOrder на основе спецификации каталога продуктов, а именно «перекрестной ссылки» для отслеживания дочернего заказа (a Customer Facing Service).\n /// <c>orderRelationship=orderRelationship</c>\n /// </summary>\n // \n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"orderRelationship\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\n public OrderRelationship[] orderRelationship\n {\n get\n {\n return this._orderRelationship;\n }\n set\n {\n this._orderRelationship = value;\n }\n }\n \n /// <summary>\n /// Состояние заказа в соответствии с жизненным циклом\n /// <c>state=state</c>\n /// </summary>\n // \n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"state\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\n public string state\n {\n get\n {\n return this._state;\n }\n set\n {\n this._state = value;\n }\n }\n}\n", "isNativeDefinition": true }, { "name": "ProductOrder_Response_SET", "definition": "/// <summary>\n/// \n/// </summary>\npublic sealed class ProductOrder_Response_SET\n{\n \n private int _iDType;\n \n private string _accept_Language;\n \n private string _category;\n \n private string _type;\n \n private ProductOrderItem[] _productOrderItem;\n \n private System.DateTime _requestedStartDate;\n \n private string _x_ms_client_request_id;\n \n private int _id;\n \n private System.DateTime _requestedCompletionDate;\n \n private string _state;\n \n private OrderRelationship[] _orderRelationship;\n \n /// <summary>\n /// Признак передачи внешнего значения ID\n /// <c>IDType=IsExternalID</c>\n /// </summary>\n // \n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"IDType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\n public int IDType\n {\n get\n {\n return this._iDType;\n }\n set\n {\n this._iDType = value;\n }\n }\n \n /// <summary>\n /// Указание языка для набора multi-language данных\n /// <c>Accept-Language=Lang</c>\n /// </summary>\n // \n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"Accept-Language\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\n public string Accept_Language\n {\n get\n {\n return this._accept_Language;\n }\n set\n {\n this._accept_Language = value;\n }\n }\n \n /// <summary>\n /// Используется для категоризации заказа в системе управления заказами.\n /// <c>category=category</c>\n /// </summary>\n // \n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"category\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\n public string category\n {\n get\n {\n return this._category;\n }\n set\n {\n this._category = value;\n }\n }\n \n /// <summary>\n /// Атрибут @type представляет фактический тип класса сущности.\n /// <c>type=atype</c>\n /// </summary>\n // \n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\n public string type\n {\n get\n {\n return this._type;\n }\n set\n {\n this._type = value;\n }\n }\n \n /// <summary>\n /// Элементы ProductOrder содержат параметры, которые нужно выполнить с продуктом по этому заказу\n /// <c>productOrderItem=productOrderItem</c>\n /// </summary>\n // \n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOrderItem\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\n public ProductOrderItem[] productOrderItem\n {\n get\n {\n return this._productOrderItem;\n }\n set\n {\n this._productOrderItem = value;\n }\n }\n \n /// <summary>\n /// Дата начала действия заказа, желаемого инициатором\n /// <c>requestedStartDate=requestedStartDate</c>\n /// </summary>\n // \n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"requestedStartDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\n public System.DateTime requestedStartDate\n {\n get\n {\n return this._requestedStartDate;\n }\n set\n {\n this._requestedStartDate = value;\n }\n }\n \n /// <summary>\n /// Уникальный идентификатор транзакции для идемпотентности\n /// <c>x-ms-client-request-id=x_ms_client_request_id</c>\n /// </summary>\n // \n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"x-ms-client-request-id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\n public string x_ms_client_request_id\n {\n get\n {\n return this._x_ms_client_request_id;\n }\n set\n {\n this._x_ms_client_request_id = value;\n }\n }\n \n /// <summary>\n /// Уникальный идентификатор ProductOrder\n /// <c>id=id</c>\n /// </summary>\n // \n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\n public int id\n {\n get\n {\n return this._id;\n }\n set\n {\n this._id = value;\n }\n }\n \n /// <summary>\n /// Дата вступления в силу операции (отличается от текущей для операций в прошлом)\n /// <c>requestedCompletionDate=requestedCompletionDate</c>\n /// </summary>\n // \n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"requestedCompletionDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\n public System.DateTime requestedCompletionDate\n {\n get\n {\n return this._requestedCompletionDate;\n }\n set\n {\n this._requestedCompletionDate = value;\n }\n }\n \n /// <summary>\n /// Состояние заказа в соответствии с жизненным циклом\n /// <c>state=state</c>\n /// </summary>\n // \n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"state\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\n public string state\n {\n get\n {\n return this._state;\n }\n set\n {\n this._state = value;\n }\n }\n \n /// <summary>\n /// Массив элементов дочернего заказа предназначен для отражения иерархических отношений услуг, которые должны быть созданы из ProductOrder на основе спецификации каталога продуктов, а именно «перекрестной ссылки» для отслеживания дочернего заказа (a Customer Facing Service).\n /// <c>orderRelationship=orderRelationship</c>\n /// </summary>\n // \n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"orderRelationship\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\n public OrderRelationship[] orderRelationship\n {\n get\n {\n return this._orderRelationship;\n }\n set\n {\n this._orderRelationship = value;\n }\n }\n}\n \n", "isNativeDefinition": true }, { "name": "ServiceConfig", "definition": "{\r\n\t\"$schema\": \"http://json-schema.org/draft-06/schema#\",\r\n\t\"$ref\": \"#/definitions/ServiceConfig\",\r\n\t\"definitions\": {\r\n\t\t\"ServiceConfig\": {\r\n\t\t\t\"type\": \"object\",\r\n\t\t\t\"additionalProperties\": false,\r\n\t\t\t\"properties\": {\r\n\t\t\t\t\"ConnectionString\": {\r\n\t\t\t\t\t\"type\": \"string\"\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t\"title\": \"ServiceConfig\"\r\n\t\t}\r\n\t}\r\n}", "isNativeDefinition": false }, { "name": "Error", "definition": "{\r\n\t\"$schema\": \"http://json-schema.org/draft-06/schema#\",\r\n\t\"$ref\": \"#/definitions/Error\",\r\n\t\"definitions\": {\r\n\t\t\"Error\": {\r\n\t\t\t\"type\": \"object\",\r\n\t\t\t\"additionalProperties\": false,\r\n\t\t\t\"properties\": {\r\n\t\t\t\t\"code\": {\r\n\t\t\t\t\t\"type\": \"string\",\r\n\t\t\t\t\t\"description\": \"Application relevant detail, defined in the API or a common list\"\r\n\t\t\t\t},\r\n\t\t\t\t\"reason\": {\r\n\t\t\t\t\t\"type\": \"string\"\r\n\t\t\t\t},\r\n\t\t\t\t\"message\": {\r\n\t\t\t\t\t\"type\": \"string\"\r\n\t\t\t\t},\r\n\t\t\t\t\"status\": {\r\n\t\t\t\t\t\"type\": \"string\"\r\n\t\t\t\t},\r\n\t\t\t\t\"referenceError\":{\r\n\t\t\t\t\t\"type\": \"string\"\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t\"title\": \"Error\"\r\n\t\t}\r\n\t}\r\n}", "isNativeDefinition": false }, { "name": "ExceptionExtensions", "definition": "public static class ExceptionExtensions\n {\n internal enum ReasonCodes\n {\n ServiceAccessError = 0x1,\n UnderConstruction = 0x64,\n PreventiveStop = 0X65\n }\n\n class BaseSqlExceptionModel\n {\n public int LevelMessage { get; set; }\n public int ErrNumber { get; set; }\n public int ErrNumberReason { get; set; }\n public long State { get; set; }\n public string HelpLink { get; set; }\n public string ResolveUrl { get; set; }\n public int? Number { get; set; }\n public string Message { get; set; }\n public BaseSqlExceptionModel Data { get; set; }\n\n public Error ToError(string statusArg = null)\n {\n return new Error()\n {\n code = (ErrNumber > 0) ? ErrNumber.ToString() : Number.GetValueOrDefault().ToString(),\n message = this.Message,\n reason = ErrNumberReason.ToString(),\n referenceError = ResolveUrl,\n status = statusArg\n };\n }\n }\n\n #region [const]\n private const int DeadlockErrorNumber = 1205;\n private const int LockingErrorNumber = 1222;\n private const int UpdateConflictErrorNumber = 3960;\n //для ретрай - функционала\n private const int TimeoutExpiredErrorNumber = -2;\n private const int CouldNotOpenConnectionErrorNumber = 53;\n private const int TransportFailErrorNumber = 121;\n //вот тут не надо ретрай\n private const int HandledDeadlockErrorNumber = 50999;\n private const int SQLErrorNumber = 50000;\n\n public static IEnumerable<int> DeadLockFeatures\n {\n get\n {\n yield return DeadlockErrorNumber;\n yield return LockingErrorNumber;\n yield return UpdateConflictErrorNumber;\n yield break;\n }\n }\n\n public static IEnumerable<int> RetryNeededFeatures\n {\n get\n {\n yield return DeadlockErrorNumber;\n //yield return TimeoutExpiredErrorNumber;\n yield return CouldNotOpenConnectionErrorNumber;\n yield return TransportFailErrorNumber;\n yield break;\n }\n }\n\n #endregion\n\n public static Error GetError(this Exception exception, string statusCode)\n {\n if (exception is SqlException)\n return (exception as SqlException).GetError();\n else\n if (exception is WorkflowInvokeActionException)\n {\n return new Error()\n {\n code = exception?.InnerException?.HResult.ToString(),\n message = $\"{exception.Message} : {exception.InnerException?.Message}\",\n reason = exception?.InnerException?.GetType().Name,\n referenceError = null,\n status = statusCode\n };\n }\n else\n return new Error()\n {\n code = exception.HResult.ToString(),\n message = exception.Message,\n reason = exception.GetType().Name,\n referenceError = null,\n status = statusCode\n };\n }\n public static Error GetError(this SqlException sqlException)\n {\n BaseSqlExceptionModel errorModel = null;\n int actualStatusCode = 500;\n\n #region [Deadlock]\n if (sqlException.Number == ExceptionExtensions.HandledDeadlockErrorNumber)\n {\n return new Error()\n {\n code = sqlException.Number.ToString(), //RequestTimeout\n message = $\"Request timeout - retry operation should be used\",\n reason = \"RequestTimeout\",\n referenceError = null,\n status = \"408\"\n };\n }\n\n #endregion\n\n try\n {\n var sqlExceptionMessage = sqlException.Errors.Cast<SqlError>()\n .Where(se => (se.Class > 0) &&\n (se.Message.Trim().StartsWith(\"{\")) &&\n (se.Message.Trim().EndsWith(\"}\"))).\n Select(se => se.Message).\n FirstOrDefault();\n errorModel = JsonConvert.DeserializeObject<BaseSqlExceptionModel>(sqlExceptionMessage);\n }\n catch (Exception) { }\n\n if (errorModel != null)\n {\n errorModel.Number = sqlException.Number;\n\n var resultErrorModel = errorModel.ToError(\"500\");\n\n if (errorModel.ErrNumber == ExceptionExtensions.HandledDeadlockErrorNumber)\n {\n resultErrorModel.status = \"408\";\n resultErrorModel.reason = \"RequestTimeout\";\n }\n return resultErrorModel;\n }\n\n actualStatusCode = ResolveActualStatusCode(sqlException);\n\n var result = new Error()\n {\n code = sqlException.Number.ToString(),\n message = sqlException.Message,\n referenceError = null,\n status = actualStatusCode.ToString()\n };\n if (actualStatusCode == 500)\n {\n result.reason = \"Internal Server Error\";\n }\n else\n if (actualStatusCode == 503)\n {\n result.reason = \"Service Unavailable\";\n }\n else\n {\n result.reason = \"Service Unavailable\";\n }\n return result;\n }\n private static int ResolveActualStatusCode(SqlException sqlException)\n {\n int actualStatusCode = 500;\n //Ошибка 503 - TimeoutExpiredErrorNumber ИЛИ Количество ретраев исчерпано и НЕ DeadLockFeatures\n //Ошибка 408 - DeadLockFeatures И Количество ретраев исчерпано\n //пс. этот код в принципе будет выполняться только после исчерпания попыток\n //если дедлок\n if (sqlException.IsDeadLockException())\n return 408;\n else\n if (sqlException.Number == TimeoutExpiredErrorNumber) // Истекло время ожидание \n return 503;\n else\n if (sqlException.Number == 50101 || sqlException.Number == 50100 || sqlException.Number == 50182)\t// Значит, что произошла не фатальная ошибка.\n {\n }\n else\n if ((sqlException.Class >= 12 && sqlException.Class <= 14) || (sqlException.Class >= 18 && sqlException.Class <= 24))\t// Значит, что произошла ошибка, из-за которой соединение разорвано. Ощибки с классом 17 - обработаннЫе нами\n {\n return 503;\n }\n else\n if (sqlException.Class == 11 || sqlException.Class == 15 || sqlException.Class == 16)\t// Значит, что произошла ошибка.\n {\n return 503;\n }\n else\n if (sqlException.Number >= 0 && sqlException.Number <= 10)\t// Значит, что произошла не фатальная ошибка.\n {\n }\n else\n if (sqlException.Number >= 0 && sqlException.Number <= 24)\n {\n }\n return actualStatusCode;\n }\n\n #region [IsDeadLock]\n public static bool IsDeadLockException(this SqlException exception)\n {\n if (exception == null)\n return false;\n else\n return DeadLockFeatures.Contains(exception.Number) ||\n exception.Errors.IsDeadLockException();\n }\n\n public static bool IsDeadLockException(this SqlError error)\n {\n if (error == null)\n return false;\n else\n return DeadLockFeatures.Contains(error.Number);\n }\n\n public static bool IsDeadLockException(this SqlErrorCollection sqlErrorCollection)\n {\n if (sqlErrorCollection == null)\n return false;\n else\n return sqlErrorCollection.Cast<SqlError>().Any(error => error.IsDeadLockException());\n }\n #endregion\n\n #region [IsRetryNeeded]\n public static bool IsRetryNeeded(this SqlException exception)\n {\n if (exception == null)\n return false;\n else\n return RetryNeededFeatures.Contains(exception.Number) ||\n exception.Errors.IsRetryNeeded();\n }\n\n public static bool IsRetryNeeded(this SqlError error)\n {\n if (error == null)\n return false;\n else\n return RetryNeededFeatures.Contains(error.Number);\n }\n\n public static bool IsRetryNeeded(this SqlErrorCollection sqlErrorCollection)\n {\n if (sqlErrorCollection == null)\n return false;\n else\n return sqlErrorCollection.Cast<SqlError>().Any(error => error.IsRetryNeeded());\n }\n #endregion\n }", "isNativeDefinition": true }, { "name": "SomeNativeClass", "definition": "public class SomeNativeClass { \n\t// Fields, properties, methods and events go here...\n}", "isNativeDefinition": true }, { "name": "Extensible", "definition": "/// <summary>\r\n/// Base Extensible schema for use in TMForum Open-APIs - When used for in a schema it means that the Entity described by the schema MUST be extended with the @type\r\n/// </summary>\r\npublic sealed class Extensible\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ItemActionType", "definition": "/// <summary>\r\n/// action to be performed on the entity managed by the item\r\n/// </summary>\r\npublic sealed class ItemActionType\r\n{\r\n}\r\n", "isNativeDefinition": true }, { "name": "AppointmentRef", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class AppointmentRef\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _href;\r\n \r\n private string _id;\r\n \r\n private string _name;\r\n \r\n private string _referredType;\r\n \r\n private string _description;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Identifier of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// An explanatory text regarding the appointment made with a party\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"description\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string description\r\n {\r\n get\r\n {\r\n return this._description;\r\n }\r\n set\r\n {\r\n this._description = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "EntityRef", "definition": "/// <summary>\r\n/// Entity reference schema to be use for all entityRef class.\r\n/// </summary>\r\npublic sealed class EntityRef\r\n{\r\n \r\n private string _href;\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Reference", "definition": "/// <summary>\r\n/// Reference schema .\r\n/// </summary>\r\npublic sealed class Reference\r\n{\r\n \r\n private string _id;\r\n \r\n private string _name;\r\n \r\n private string _referredType;\r\n \r\n /// <summary>\r\n /// Identifier of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "BillingAccountRef", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class BillingAccountRef\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _href;\r\n \r\n private string _id;\r\n \r\n private string _name;\r\n \r\n private string _referredType;\r\n \r\n private string _ratingType;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Identifier of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Indicates whether the account follows a specific payment option such as prepaid or postpaid\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"ratingType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string ratingType\r\n {\r\n get\r\n {\r\n return this._ratingType;\r\n }\r\n set\r\n {\r\n this._ratingType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "OrderPrice", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class OrderPrice\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _description;\r\n \r\n private string _name;\r\n \r\n private ProductOfferingPriceRef _productOfferingPrice;\r\n \r\n private string _recurringChargePeriod;\r\n \r\n private string _unitOfMeasure;\r\n \r\n private BillingAccountRef _billingAccount;\r\n \r\n private PriceAlteration[] _priceAlteration;\r\n \r\n private Price _price;\r\n \r\n private string _priceType;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A narrative that explains in detail the semantics of this order item price.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"description\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string description\r\n {\r\n get\r\n {\r\n return this._description;\r\n }\r\n set\r\n {\r\n this._description = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A short descriptive name such as \"Subscription price\".\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// ProductPriceOffering reference. An amount, usually of money, that is asked for or allowed when a ProductOffering is bought, rented, or leased\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOfferingPrice\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ProductOfferingPriceRef productOfferingPrice\r\n {\r\n get\r\n {\r\n return this._productOfferingPrice;\r\n }\r\n set\r\n {\r\n this._productOfferingPrice = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Could be month, week...\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"recurringChargePeriod\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string recurringChargePeriod\r\n {\r\n get\r\n {\r\n return this._recurringChargePeriod;\r\n }\r\n set\r\n {\r\n this._recurringChargePeriod = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Could be minutes, GB...\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"unitOfMeasure\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string unitOfMeasure\r\n {\r\n get\r\n {\r\n return this._unitOfMeasure;\r\n }\r\n set\r\n {\r\n this._unitOfMeasure = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"billingAccount\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public BillingAccountRef billingAccount\r\n {\r\n get\r\n {\r\n return this._billingAccount;\r\n }\r\n set\r\n {\r\n this._billingAccount = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// a strucuture used to describe a price alteration\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"priceAlteration\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public PriceAlteration[] priceAlteration\r\n {\r\n get\r\n {\r\n return this._priceAlteration;\r\n }\r\n set\r\n {\r\n this._priceAlteration = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"price\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public Price price\r\n {\r\n get\r\n {\r\n return this._price;\r\n }\r\n set\r\n {\r\n this._price = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// indicate if the price is for recurrent or no-recurrent charge\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"priceType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string priceType\r\n {\r\n get\r\n {\r\n return this._priceType;\r\n }\r\n set\r\n {\r\n this._priceType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ProductOfferingPriceRef", "definition": "/// <summary>\r\n/// ProductPriceOffering reference. An amount, usually of money, that is asked for or allowed when a ProductOffering is bought, rented, or leased\r\n/// </summary>\r\npublic sealed class ProductOfferingPriceRef\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _href;\r\n \r\n private string _id;\r\n \r\n private string _name;\r\n \r\n private string _referredType;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Identifier of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "PriceAlteration", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class PriceAlteration\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private System.Int32? _applicationDuration;\r\n \r\n private string _description;\r\n \r\n private string _name;\r\n \r\n private ProductOfferingPriceRef _productOfferingPrice;\r\n \r\n private string _priceType;\r\n \r\n private System.Int32? _priority;\r\n \r\n private string _recurringChargePeriod;\r\n \r\n private string _unitOfMeasure;\r\n \r\n private Price _price;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Duration during which the alteration applies on the order item price (for instance 2 months free of charge for the recurring charge)\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"applicationDuration\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? applicationDuration\r\n {\r\n get\r\n {\r\n return this._applicationDuration;\r\n }\r\n set\r\n {\r\n this._applicationDuration = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A narrative that explains in detail the semantics of this order item price alteration\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"description\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string description\r\n {\r\n get\r\n {\r\n return this._description;\r\n }\r\n set\r\n {\r\n this._description = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the order item price alteration\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// ProductPriceOffering reference. An amount, usually of money, that is asked for or allowed when a ProductOffering is bought, rented, or leased\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOfferingPrice\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ProductOfferingPriceRef productOfferingPrice\r\n {\r\n get\r\n {\r\n return this._productOfferingPrice;\r\n }\r\n set\r\n {\r\n this._productOfferingPrice = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A category that describes the price such as recurring, one time and usage.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"priceType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string priceType\r\n {\r\n get\r\n {\r\n return this._priceType;\r\n }\r\n set\r\n {\r\n this._priceType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Priority level for applying this alteration among all the defined alterations on the order item price\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"priority\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? priority\r\n {\r\n get\r\n {\r\n return this._priority;\r\n }\r\n set\r\n {\r\n this._priority = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Could be month, week...\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"recurringChargePeriod\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string recurringChargePeriod\r\n {\r\n get\r\n {\r\n return this._recurringChargePeriod;\r\n }\r\n set\r\n {\r\n this._recurringChargePeriod = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Could be minutes, GB...\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"unitOfMeasure\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string unitOfMeasure\r\n {\r\n get\r\n {\r\n return this._unitOfMeasure;\r\n }\r\n set\r\n {\r\n this._unitOfMeasure = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"price\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public Price price\r\n {\r\n get\r\n {\r\n return this._price;\r\n }\r\n set\r\n {\r\n this._price = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Price", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class Price\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private Money _dutyFreeAmount;\r\n \r\n private System.Decimal? _percentage;\r\n \r\n private Money _taxIncludedAmount;\r\n \r\n private System.Decimal? _taxRate;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A base / value business entity used to represent money\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"dutyFreeAmount\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public Money dutyFreeAmount\r\n {\r\n get\r\n {\r\n return this._dutyFreeAmount;\r\n }\r\n set\r\n {\r\n this._dutyFreeAmount = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Percentage to apply for ProdOfferPriceAlteration\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"percentage\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Decimal? percentage\r\n {\r\n get\r\n {\r\n return this._percentage;\r\n }\r\n set\r\n {\r\n this._percentage = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A base / value business entity used to represent money\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"taxIncludedAmount\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public Money taxIncludedAmount\r\n {\r\n get\r\n {\r\n return this._taxIncludedAmount;\r\n }\r\n set\r\n {\r\n this._taxIncludedAmount = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Tax rate\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"taxRate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Decimal? taxRate\r\n {\r\n get\r\n {\r\n return this._taxRate;\r\n }\r\n set\r\n {\r\n this._taxRate = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Money", "definition": "/// <summary>\r\n/// A base / value business entity used to represent money\r\n/// </summary>\r\npublic sealed class Money\r\n{\r\n \r\n private string _unit;\r\n \r\n private System.Decimal? _value;\r\n \r\n /// <summary>\r\n /// Currency (ISO4217 norm uses 3 letters to define the currency)\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"unit\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string unit\r\n {\r\n get\r\n {\r\n return this._unit;\r\n }\r\n set\r\n {\r\n this._unit = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A signed floating point number, the meaning of the sign is according to the context of the API that uses this Data type\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"value\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Decimal? value\r\n {\r\n get\r\n {\r\n return this._value;\r\n }\r\n set\r\n {\r\n this._value = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "OrderTerm", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class OrderTerm\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _description;\r\n \r\n private Duration _duration;\r\n \r\n private string _name;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Description of the productOrderTerm\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"description\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string description\r\n {\r\n get\r\n {\r\n return this._description;\r\n }\r\n set\r\n {\r\n this._description = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A time interval in a given unit of time\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"duration\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public Duration duration\r\n {\r\n get\r\n {\r\n return this._duration;\r\n }\r\n set\r\n {\r\n this._duration = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the productOrderTerm\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Duration", "definition": "/// <summary>\r\n/// A time interval in a given unit of time\r\n/// </summary>\r\npublic sealed class Duration\r\n{\r\n \r\n private System.Int32? _amount;\r\n \r\n private string _units;\r\n \r\n /// <summary>\r\n /// Time interval (number of seconds, minutes, hours, etc.)\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"amount\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? amount\r\n {\r\n get\r\n {\r\n return this._amount;\r\n }\r\n set\r\n {\r\n this._amount = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Unit of time (seconds, minutes, hours, etc.)\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"units\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string units\r\n {\r\n get\r\n {\r\n return this._units;\r\n }\r\n set\r\n {\r\n this._units = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "PaymentRef", "definition": "/// <summary>\r\n/// If an immediate payment has been done at the product order submission, the payment information are captured and stored (as a reference) in the order.\r\n/// </summary>\r\npublic sealed class PaymentRef\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _href;\r\n \r\n private string _id;\r\n \r\n private string _name;\r\n \r\n private string _referredType;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Identifier of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ProductRefOrValue", "definition": "/// <summary>\r\n/// A product to be created defined by value or existing defined by reference. The polymorphic attributes @type, @schemaLocation @referredType are related to the product entity and not the RelatedProductRefOrValue class itself\r\n/// </summary>\r\npublic sealed class ProductRefOrValue\r\n{\r\n}\r\n", "isNativeDefinition": true }, { "name": "ProductOfferingRef", "definition": "/// <summary>\r\n/// ProductOffering reference. A product offering represents entities that are orderable from the provider of the catalog, this resource includes pricing information.\r\n/// </summary>\r\npublic sealed class ProductOfferingRef\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _href;\r\n \r\n private string _id;\r\n \r\n private string _name;\r\n \r\n private string _referredType;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Identifier of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ProductOfferingQualificationItemRef", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class ProductOfferingQualificationItemRef\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _productOfferingQualificationName;\r\n \r\n private string _productOfferingQualificationHref;\r\n \r\n private string _referredType;\r\n \r\n private string _productOfferingQualificationId;\r\n \r\n private string _itemId;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the related entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOfferingQualificationName\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string productOfferingQualificationName\r\n {\r\n get\r\n {\r\n return this._productOfferingQualificationName;\r\n }\r\n set\r\n {\r\n this._productOfferingQualificationName = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Reference of the related entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOfferingQualificationHref\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string productOfferingQualificationHref\r\n {\r\n get\r\n {\r\n return this._productOfferingQualificationHref;\r\n }\r\n set\r\n {\r\n this._productOfferingQualificationHref = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Unique identifier of a related entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOfferingQualificationId\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string productOfferingQualificationId\r\n {\r\n get\r\n {\r\n return this._productOfferingQualificationId;\r\n }\r\n set\r\n {\r\n this._productOfferingQualificationId = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Id of an item of a product offering qualification\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"itemId\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string itemId\r\n {\r\n get\r\n {\r\n return this._itemId;\r\n }\r\n set\r\n {\r\n this._itemId = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "QuoteItemRef", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class QuoteItemRef\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _quoteHref;\r\n \r\n private string _referredType;\r\n \r\n private string _quoteId;\r\n \r\n private string _quoteItemId;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Reference of the related quote.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"quoteHref\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string quoteHref\r\n {\r\n get\r\n {\r\n return this._quoteHref;\r\n }\r\n set\r\n {\r\n this._quoteHref = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Unique identifier of a refered quote.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"quoteId\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string quoteId\r\n {\r\n get\r\n {\r\n return this._quoteId;\r\n }\r\n set\r\n {\r\n this._quoteId = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Identifier of a quote item. \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"quoteItemId\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string quoteItemId\r\n {\r\n get\r\n {\r\n return this._quoteItemId;\r\n }\r\n set\r\n {\r\n this._quoteItemId = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ProductOrderItemStateType", "definition": "/// <summary>\r\n/// Possible values for the state of the product order item\r\n/// </summary>\r\npublic sealed class ProductOrderItemStateType\r\n{\r\n}\r\n", "isNativeDefinition": true }, { "name": "ProductOfferingQualificationRef", "definition": "/// <summary>\r\n/// A productOfferingQualification that has been executed previously\r\n/// </summary>\r\npublic sealed class ProductOfferingQualificationRef\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _href;\r\n \r\n private string _id;\r\n \r\n private string _name;\r\n \r\n private string _referredType;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Identifier of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "productOrder_Request_GET", "definition": "/// <summary>\r\n/// &lt;empty description&gt;\r\n/// </summary>\r\npublic sealed class productOrder_Request_GET\r\n{\r\n \r\n private string _errFormat;\r\n \r\n private string _accept_Language;\r\n \r\n private string _type;\r\n \r\n private System.Int32? _iDType;\r\n \r\n private ProductOrderItem[] _productOrderItem;\r\n \r\n private RelatedParty[] _relatedParty;\r\n \r\n private System.Int64? _id;\r\n \r\n private string _state;\r\n \r\n private System.Int32? _offset;\r\n \r\n private System.Int32? _limit;\r\n \r\n private string _sort;\r\n \r\n private string _sortDirection;\r\n \r\n private string _x_ms_client_request_id;\r\n \r\n /// <summary>\r\n /// Формат вывода ошибки\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"ErrFormat\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string ErrFormat\r\n {\r\n get\r\n {\r\n return this._errFormat;\r\n }\r\n set\r\n {\r\n this._errFormat = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Указание языка для набора multi-language данных\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"Accept-Language\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string Accept_Language\r\n {\r\n get\r\n {\r\n return this._accept_Language;\r\n }\r\n set\r\n {\r\n this._accept_Language = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Атрибут @type представляет фактический тип класса сущности.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Признак передачи внешнего значения ID\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"IDType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? IDType\r\n {\r\n get\r\n {\r\n return this._iDType;\r\n }\r\n set\r\n {\r\n this._iDType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Элементы ProductOrder содержат параметры, которые нужно выполнить с продуктом по этому заказу\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOrderItem\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ProductOrderItem[] productOrderItem\r\n {\r\n get\r\n {\r\n return this._productOrderItem;\r\n }\r\n set\r\n {\r\n this._productOrderItem = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Связанная сторона для этой операции\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"relatedParty\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public RelatedParty[] relatedParty\r\n {\r\n get\r\n {\r\n return this._relatedParty;\r\n }\r\n set\r\n {\r\n this._relatedParty = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Уникальный идентификатор ProductOrder\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int64? id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Состояние заказа в соответствии с жизненным циклом\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"state\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string state\r\n {\r\n get\r\n {\r\n return this._state;\r\n }\r\n set\r\n {\r\n this._state = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Необходимый index для начала записей, которые будут переданы в ответе (server paging)\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"offset\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? offset\r\n {\r\n get\r\n {\r\n return this._offset;\r\n }\r\n set\r\n {\r\n this._offset = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Кол-во записей в ответе (server paging)\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"limit\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? limit\r\n {\r\n get\r\n {\r\n return this._limit;\r\n }\r\n set\r\n {\r\n this._limit = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Sorting selector\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"sort\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string sort\r\n {\r\n get\r\n {\r\n return this._sort;\r\n }\r\n set\r\n {\r\n this._sort = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// No description\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"SortDirection\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string SortDirection\r\n {\r\n get\r\n {\r\n return this._sortDirection;\r\n }\r\n set\r\n {\r\n this._sortDirection = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Уникальный идентификатор поискового запроса, используется для операции GET.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"x-ms-client-request-id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string x_ms_client_request_id\r\n {\r\n get\r\n {\r\n return this._x_ms_client_request_id;\r\n }\r\n set\r\n {\r\n this._x_ms_client_request_id = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "productOrder_Response_GET", "definition": "/// <summary>\r\n/// &lt;empty description&gt;\r\n/// </summary>\r\npublic sealed class productOrder_Response_GET\r\n{\r\n \r\n private string _accept_Language;\r\n \r\n private string _type;\r\n \r\n private System.Int32? _iDType;\r\n \r\n private string _content_Range;\r\n \r\n private string _link;\r\n \r\n private string _x_ms_client_request_id;\r\n \r\n private System.Int32? _limit;\r\n \r\n private System.Int32? _offset;\r\n \r\n private System.Int32? _x_Page_Count;\r\n \r\n /// <summary>\r\n /// Указание языка для набора multi-language данных\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"Accept-Language\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string Accept_Language\r\n {\r\n get\r\n {\r\n return this._accept_Language;\r\n }\r\n set\r\n {\r\n this._accept_Language = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Атрибут @type представляет фактический тип класса сущности.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Признак передачи внешнего значения ID\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"IDType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? IDType\r\n {\r\n get\r\n {\r\n return this._iDType;\r\n }\r\n set\r\n {\r\n this._iDType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Заголовок HTTP указывает место в полном теле сообщения ответа, которому принадлежит сообщение частичного сообщения ответа.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"Content-Range\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string Content_Range\r\n {\r\n get\r\n {\r\n return this._content_Range;\r\n }\r\n set\r\n {\r\n this._content_Range = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// зарезервировано\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"Link\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string Link\r\n {\r\n get\r\n {\r\n return this._link;\r\n }\r\n set\r\n {\r\n this._link = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Уникальный идентификатор поискового запроса, используется для операции GET.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"x-ms-client-request-id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string x_ms_client_request_id\r\n {\r\n get\r\n {\r\n return this._x_ms_client_request_id;\r\n }\r\n set\r\n {\r\n this._x_ms_client_request_id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Кол-во записей в ответе (server paging)\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"limit\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? limit\r\n {\r\n get\r\n {\r\n return this._limit;\r\n }\r\n set\r\n {\r\n this._limit = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Необходимый index для начала записей, которые будут переданы в ответе (server paging)\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"offset\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? offset\r\n {\r\n get\r\n {\r\n return this._offset;\r\n }\r\n set\r\n {\r\n this._offset = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Количество страниц Server Paging\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"X-Page-Count\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? X_Page_Count\r\n {\r\n get\r\n {\r\n return this._x_Page_Count;\r\n }\r\n set\r\n {\r\n this._x_Page_Count = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ProductValue", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class ProductValue\r\n{\r\n \r\n private string _name;\r\n \r\n private string _id;\r\n \r\n private string _type;\r\n \r\n private System.Boolean? _isBundle;\r\n \r\n private Characteristic[] _productCharacteristic;\r\n \r\n private ProductSpecificationRef _productSpecification;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _href;\r\n \r\n private AgreementItemRef[] _agreementItem;\r\n \r\n private BillingAccountRef _billingAccount;\r\n \r\n private System.DateTime? _creationDate;\r\n \r\n private string _description;\r\n \r\n private System.Boolean? _isCustomerVisible;\r\n \r\n private System.DateTime? _orderDate;\r\n \r\n private ProductOfferingRef _productOffering;\r\n \r\n private RelatedOrderItem[] _productOrderItem;\r\n \r\n private ProductRefOrValue[] _product;\r\n \r\n private ProductPrice[] _productPrice;\r\n \r\n private ProductRelationship[] _productRelationship;\r\n \r\n private string _productSerialNumber;\r\n \r\n private ProductTerm[] _productTerm;\r\n \r\n private ResourceRef[] _realizingResource;\r\n \r\n private ServiceRef[] _realizingService;\r\n \r\n private RelatedParty[] _relatedParty;\r\n \r\n private RelatedPlaceRefOrValue[] _place;\r\n \r\n private System.DateTime? _startDate;\r\n \r\n private string _status;\r\n \r\n private System.DateTime? _terminationDate;\r\n \r\n /// <summary>\r\n /// A Name of a product from the catalog\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Unique identifier of a product from the catalog. LOV: String identifier in the format 'Prefix-Number', where Pefix is '01' for MSISDN, '02' for TariffPlan and '03' for TariffPackage\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The @type attribute represents the actual class type of an entity. LOV: An Attribute Format value of the Object\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// reserved for future use. LOV: If true, the product is a Bundle which is an instantiation of a BundledProductOffering. If false, the product is an instantiation of a SimpleProductOffering\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"isBundle\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Boolean? isBundle\r\n {\r\n get\r\n {\r\n return this._isBundle;\r\n }\r\n set\r\n {\r\n this._isBundle = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A specific Product parameter that applies to this order. LOV: An object\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productCharacteristic\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public Characteristic[] productCharacteristic\r\n {\r\n get\r\n {\r\n return this._productCharacteristic;\r\n }\r\n set\r\n {\r\n this._productCharacteristic = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// a Product Specification. LOV: An object\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productSpecification\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ProductSpecificationRef productSpecification\r\n {\r\n get\r\n {\r\n return this._productSpecification;\r\n }\r\n set\r\n {\r\n this._productSpecification = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"agreementItem\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public AgreementItemRef[] agreementItem\r\n {\r\n get\r\n {\r\n return this._agreementItem;\r\n }\r\n set\r\n {\r\n this._agreementItem = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"billingAccount\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public BillingAccountRef billingAccount\r\n {\r\n get\r\n {\r\n return this._billingAccount;\r\n }\r\n set\r\n {\r\n this._billingAccount = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Date and time when the product was created\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"creationDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? creationDate\r\n {\r\n get\r\n {\r\n return this._creationDate;\r\n }\r\n set\r\n {\r\n this._creationDate = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Is the description of the product. It could be copied from the description of the Product Offering.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"description\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string description\r\n {\r\n get\r\n {\r\n return this._description;\r\n }\r\n set\r\n {\r\n this._description = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// If true, the product is visible by the customer.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"isCustomerVisible\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Boolean? isCustomerVisible\r\n {\r\n get\r\n {\r\n return this._isCustomerVisible;\r\n }\r\n set\r\n {\r\n this._isCustomerVisible = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Is the date when the product was ordered\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"orderDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? orderDate\r\n {\r\n get\r\n {\r\n return this._orderDate;\r\n }\r\n set\r\n {\r\n this._orderDate = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// ProductOffering reference. A product offering represents entities that are orderable from the provider of the catalog, this resource includes pricing information.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOffering\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ProductOfferingRef productOffering\r\n {\r\n get\r\n {\r\n return this._productOffering;\r\n }\r\n set\r\n {\r\n this._productOffering = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOrderItem\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public RelatedOrderItem[] productOrderItem\r\n {\r\n get\r\n {\r\n return this._productOrderItem;\r\n }\r\n set\r\n {\r\n this._productOrderItem = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"product\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ProductRefOrValue[] product\r\n {\r\n get\r\n {\r\n return this._product;\r\n }\r\n set\r\n {\r\n this._product = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productPrice\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ProductPrice[] productPrice\r\n {\r\n get\r\n {\r\n return this._productPrice;\r\n }\r\n set\r\n {\r\n this._productPrice = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productRelationship\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ProductRelationship[] productRelationship\r\n {\r\n get\r\n {\r\n return this._productRelationship;\r\n }\r\n set\r\n {\r\n this._productRelationship = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Is the serial number for the product. This is typically applicable to tangible products e.g. Broadband Router.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productSerialNumber\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string productSerialNumber\r\n {\r\n get\r\n {\r\n return this._productSerialNumber;\r\n }\r\n set\r\n {\r\n this._productSerialNumber = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productTerm\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ProductTerm[] productTerm\r\n {\r\n get\r\n {\r\n return this._productTerm;\r\n }\r\n set\r\n {\r\n this._productTerm = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"realizingResource\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ResourceRef[] realizingResource\r\n {\r\n get\r\n {\r\n return this._realizingResource;\r\n }\r\n set\r\n {\r\n this._realizingResource = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"realizingService\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ServiceRef[] realizingService\r\n {\r\n get\r\n {\r\n return this._realizingService;\r\n }\r\n set\r\n {\r\n this._realizingService = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"relatedParty\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public RelatedParty[] relatedParty\r\n {\r\n get\r\n {\r\n return this._relatedParty;\r\n }\r\n set\r\n {\r\n this._relatedParty = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"place\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public RelatedPlaceRefOrValue[] place\r\n {\r\n get\r\n {\r\n return this._place;\r\n }\r\n set\r\n {\r\n this._place = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Is the date from which the product starts\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"startDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? startDate\r\n {\r\n get\r\n {\r\n return this._startDate;\r\n }\r\n set\r\n {\r\n this._startDate = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Possible values for the status of the product\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"status\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string status\r\n {\r\n get\r\n {\r\n return this._status;\r\n }\r\n set\r\n {\r\n this._status = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Is the date when the product was terminated\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"terminationDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? terminationDate\r\n {\r\n get\r\n {\r\n return this._terminationDate;\r\n }\r\n set\r\n {\r\n this._terminationDate = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "AgreementItemRef", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class AgreementItemRef\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _agreementName;\r\n \r\n private string _agreementHref;\r\n \r\n private string _referredType;\r\n \r\n private string _agreementId;\r\n \r\n private string _agreementItemId;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the related entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"agreementName\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string agreementName\r\n {\r\n get\r\n {\r\n return this._agreementName;\r\n }\r\n set\r\n {\r\n this._agreementName = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Reference of the related entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"agreementHref\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string agreementHref\r\n {\r\n get\r\n {\r\n return this._agreementHref;\r\n }\r\n set\r\n {\r\n this._agreementHref = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Unique identifier of a related entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"agreementId\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string agreementId\r\n {\r\n get\r\n {\r\n return this._agreementId;\r\n }\r\n set\r\n {\r\n this._agreementId = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Id of an item of a Agreement\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"agreementItemId\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string agreementItemId\r\n {\r\n get\r\n {\r\n return this._agreementItemId;\r\n }\r\n set\r\n {\r\n this._agreementItemId = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "CharacteristicRelationship", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class CharacteristicRelationship\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _id;\r\n \r\n private string _relationshipType;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Unique identifier of the characteristic\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The type of relationship\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"relationshipType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string relationshipType\r\n {\r\n get\r\n {\r\n return this._relationshipType;\r\n }\r\n set\r\n {\r\n this._relationshipType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "RelatedOrderItem", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class RelatedOrderItem\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _orderItemAction;\r\n \r\n private string _orderHref;\r\n \r\n private string _referredType;\r\n \r\n private string _role;\r\n \r\n private string _orderId;\r\n \r\n private string _orderItemId;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// action to be performed on the entity managed by the item\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"orderItemAction\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string orderItemAction\r\n {\r\n get\r\n {\r\n return this._orderItemAction;\r\n }\r\n set\r\n {\r\n this._orderItemAction = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Reference of the related entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"orderHref\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string orderHref\r\n {\r\n get\r\n {\r\n return this._orderHref;\r\n }\r\n set\r\n {\r\n this._orderHref = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Role played by the Order\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"role\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string role\r\n {\r\n get\r\n {\r\n return this._role;\r\n }\r\n set\r\n {\r\n this._role = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Unique identifier of a related Order.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"orderId\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string orderId\r\n {\r\n get\r\n {\r\n return this._orderId;\r\n }\r\n set\r\n {\r\n this._orderId = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Id of an item of a prduct order\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"orderItemId\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string orderItemId\r\n {\r\n get\r\n {\r\n return this._orderItemId;\r\n }\r\n set\r\n {\r\n this._orderItemId = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ProductPrice", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class ProductPrice\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _description;\r\n \r\n private string _name;\r\n \r\n private ProductOfferingPriceRef _productOfferingPrice;\r\n \r\n private string _recurringChargePeriod;\r\n \r\n private string _unitOfMeasure;\r\n \r\n private Price _price;\r\n \r\n private PriceAlteration[] _priceAlteration;\r\n \r\n private string _priceType;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Description of the Product price\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"description\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string description\r\n {\r\n get\r\n {\r\n return this._description;\r\n }\r\n set\r\n {\r\n this._description = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the Product price\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// ProductPriceOffering reference. An amount, usually of money, that is asked for or allowed when a ProductOffering is bought, rented, or leased\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOfferingPrice\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ProductOfferingPriceRef productOfferingPrice\r\n {\r\n get\r\n {\r\n return this._productOfferingPrice;\r\n }\r\n set\r\n {\r\n this._productOfferingPrice = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Used for recurring charge to indicate period (month, week, etc..).\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"recurringChargePeriod\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string recurringChargePeriod\r\n {\r\n get\r\n {\r\n return this._recurringChargePeriod;\r\n }\r\n set\r\n {\r\n this._recurringChargePeriod = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Unit of Measure if price depending on it (Gb, SMS volume, etc..)\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"unitOfMeasure\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string unitOfMeasure\r\n {\r\n get\r\n {\r\n return this._unitOfMeasure;\r\n }\r\n set\r\n {\r\n this._unitOfMeasure = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"price\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public Price price\r\n {\r\n get\r\n {\r\n return this._price;\r\n }\r\n set\r\n {\r\n this._price = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"priceAlteration\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public PriceAlteration[] priceAlteration\r\n {\r\n get\r\n {\r\n return this._priceAlteration;\r\n }\r\n set\r\n {\r\n this._priceAlteration = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// indicate if the price is for recurrent or no-recurrent charge\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"priceType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string priceType\r\n {\r\n get\r\n {\r\n return this._priceType;\r\n }\r\n set\r\n {\r\n this._priceType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ProductRelationship", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class ProductRelationship\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _href;\r\n \r\n private string _id;\r\n \r\n private string _relationshipType;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Id of the related product\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Relationship type as relies on, bundles, etc...\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"relationshipType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string relationshipType\r\n {\r\n get\r\n {\r\n return this._relationshipType;\r\n }\r\n set\r\n {\r\n this._relationshipType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ProductTerm", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class ProductTerm\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _description;\r\n \r\n private Duration _duration;\r\n \r\n private TimePeriod _validFor;\r\n \r\n private string _name;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Description of the productTerm\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"description\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string description\r\n {\r\n get\r\n {\r\n return this._description;\r\n }\r\n set\r\n {\r\n this._description = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A time interval in a given unit of time\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"duration\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public Duration duration\r\n {\r\n get\r\n {\r\n return this._duration;\r\n }\r\n set\r\n {\r\n this._duration = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A period of time, either as a deadline (endDateTime only) a startDateTime only, or both\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"validFor\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public TimePeriod validFor\r\n {\r\n get\r\n {\r\n return this._validFor;\r\n }\r\n set\r\n {\r\n this._validFor = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the productTerm\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "TimePeriod", "definition": "/// <summary>\r\n/// A period of time, either as a deadline (endDateTime only) a startDateTime only, or both\r\n/// </summary>\r\npublic sealed class TimePeriod\r\n{\r\n \r\n private System.DateTime? _startDateTime;\r\n \r\n private System.DateTime? _endDateTime;\r\n \r\n /// <summary>\r\n /// Start of the time period, using IETC-RFC-3339 format\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"startDateTime\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? startDateTime\r\n {\r\n get\r\n {\r\n return this._startDateTime;\r\n }\r\n set\r\n {\r\n this._startDateTime = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// End of the time period, using IETC-RFC-3339 format\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"endDateTime\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? endDateTime\r\n {\r\n get\r\n {\r\n return this._endDateTime;\r\n }\r\n set\r\n {\r\n this._endDateTime = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ResourceRef", "definition": "/// <summary>\r\n/// Resource reference, for when Resource is used by other entities.\r\n/// </summary>\r\npublic sealed class ResourceRef\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _href;\r\n \r\n private string _id;\r\n \r\n private string _name;\r\n \r\n private string _referredType;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Identifier of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ServiceRef", "definition": "/// <summary>\r\n/// Service reference, for when Service is used by other entities.\r\n/// </summary>\r\npublic sealed class ServiceRef\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _href;\r\n \r\n private string _id;\r\n \r\n private string _name;\r\n \r\n private string _referredType;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Identifier of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "RelatedPlaceRefOrValue", "definition": "/// <summary>\r\n/// Related Entity reference. A related place defines a place described by reference or by value linked to a specific entity. The polymorphic attributes @type, @schemaLocation @referredType are related to the place entity and not the RelatedPlaceRefOrValue class itself\r\n/// </summary>\r\npublic sealed class RelatedPlaceRefOrValue\r\n{\r\n}\r\n", "isNativeDefinition": true }, { "name": "ProductStatusType", "definition": "/// <summary>\r\n/// Possible values for the status of the product\r\n/// </summary>\r\npublic sealed class ProductStatusType\r\n{\r\n}\r\n", "isNativeDefinition": true }, { "name": "productOrder_Response_GET_OUTPUT", "definition": "/// <summary>\r\n/// &lt;empty description&gt;\r\n/// </summary>\r\npublic sealed class productOrder_Response_GET_OUTPUT\r\n{\r\n \r\n private string _category;\r\n \r\n private ProductOrderItem[] _productOrderItem;\r\n \r\n private System.Int64? _id;\r\n \r\n private OrderRelationship[] _orderRelationship;\r\n \r\n private string _state;\r\n \r\n private System.Int32? _x_Total_Count;\r\n \r\n private RelatedParty[] _relatedParty;\r\n \r\n private System.DateTime? _requestedStartDate;\r\n \r\n /// <summary>\r\n /// Используется для категоризации заказа в системе управления заказами.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"category\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string category\r\n {\r\n get\r\n {\r\n return this._category;\r\n }\r\n set\r\n {\r\n this._category = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Элементы ProductOrder содержат параметры, которые нужно выполнить с продуктом по этому заказу\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOrderItem\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ProductOrderItem[] productOrderItem\r\n {\r\n get\r\n {\r\n return this._productOrderItem;\r\n }\r\n set\r\n {\r\n this._productOrderItem = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Уникальный идентификатор ProductOrder\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int64? id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Массив элементов дочернего заказа предназначен для отражения иерархических отношений услуг, которые должны быть созданы из ProductOrder на основе спецификации каталога продуктов, а именно «перекрестной ссылки» для отслеживания дочернего заказа (a Customer Facing Service).\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"orderRelationship\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public OrderRelationship[] orderRelationship\r\n {\r\n get\r\n {\r\n return this._orderRelationship;\r\n }\r\n set\r\n {\r\n this._orderRelationship = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Состояние заказа в соответствии с жизненным циклом\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"state\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string state\r\n {\r\n get\r\n {\r\n return this._state;\r\n }\r\n set\r\n {\r\n this._state = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// общее количество совпадающих записей (server paging)\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"X-Total-Count\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? X_Total_Count\r\n {\r\n get\r\n {\r\n return this._x_Total_Count;\r\n }\r\n set\r\n {\r\n this._x_Total_Count = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Связанная сторона для этой операции\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"relatedParty\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public RelatedParty[] relatedParty\r\n {\r\n get\r\n {\r\n return this._relatedParty;\r\n }\r\n set\r\n {\r\n this._relatedParty = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// No description\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"requestedStartDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? requestedStartDate\r\n {\r\n get\r\n {\r\n return this._requestedStartDate;\r\n }\r\n set\r\n {\r\n this._requestedStartDate = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Entity_FVO", "definition": "/// <summary>\r\n/// Base entity schema for use in TMForum Open-APIs. Property.\r\n/// </summary>\r\npublic sealed class Entity_FVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _id;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// unique identifier\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Extensible_FVO", "definition": "/// <summary>\r\n/// Base Extensible schema for use in TMForum Open-APIs - When used for in a schema it means that the Entity described by the schema MUST be extended with the @type\r\n/// </summary>\r\npublic sealed class Extensible_FVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Addressable_FVO", "definition": "/// <summary>\r\n/// Base schema for adressable entities\r\n/// </summary>\r\npublic sealed class Addressable_FVO\r\n{\r\n \r\n private string _id;\r\n \r\n /// <summary>\r\n /// unique identifier\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "AgreementRef_FVO", "definition": "/// <summary>\r\n/// Agreement reference. An agreement represents a contract or arrangement, either written or verbal and sometimes enforceable by law, such as a service level agreement or a customer price agreement. An agreement involves a number of other business entities, such as products, services, and resources and/or their specifications.\r\n/// </summary>\r\npublic sealed class AgreementRef_FVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _href;\r\n \r\n private string _id;\r\n \r\n private string _name;\r\n \r\n private string _referredType;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Identifier of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Reference_FVO", "definition": "/// <summary>\r\n/// Reference schema .\r\n/// </summary>\r\npublic sealed class Reference_FVO\r\n{\r\n \r\n private string _id;\r\n \r\n private string _name;\r\n \r\n private string _referredType;\r\n \r\n /// <summary>\r\n /// Identifier of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "BillingAccountRef_FVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class BillingAccountRef_FVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _href;\r\n \r\n private string _id;\r\n \r\n private string _name;\r\n \r\n private string _referredType;\r\n \r\n private string _ratingType;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Identifier of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Indicates whether the account follows a specific payment option such as prepaid or postpaid\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"ratingType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string ratingType\r\n {\r\n get\r\n {\r\n return this._ratingType;\r\n }\r\n set\r\n {\r\n this._ratingType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "InitialProductOrderStateType", "definition": "/// <summary>\r\n/// Possible values for the requested initial state of the order from client- by default acknowledged is considered\r\n/// </summary>\r\npublic sealed class InitialProductOrderStateType\r\n{\r\n}\r\n", "isNativeDefinition": true }, { "name": "RelatedChannel_FVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class RelatedChannel_FVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _id;\r\n \r\n private string _name;\r\n \r\n private string _referredType;\r\n \r\n private string _href;\r\n \r\n private string _role;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Identifier of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Role playing by the channel.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"role\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string role\r\n {\r\n get\r\n {\r\n return this._role;\r\n }\r\n set\r\n {\r\n this._role = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ExternalIdentifier_FVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class ExternalIdentifier_FVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _owner;\r\n \r\n private string _externalIdentifierType;\r\n \r\n private string _id;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the external system that owns the entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"owner\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string owner\r\n {\r\n get\r\n {\r\n return this._owner;\r\n }\r\n set\r\n {\r\n this._owner = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Type of the identification, typically would be the type of the entity within the external system\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"externalIdentifierType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string externalIdentifierType\r\n {\r\n get\r\n {\r\n return this._externalIdentifierType;\r\n }\r\n set\r\n {\r\n this._externalIdentifierType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// identification of the entity within the external system.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Note_FVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class Note_FVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _author;\r\n \r\n private System.DateTime? _date;\r\n \r\n private string _id;\r\n \r\n private string _text;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Author of the note\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"author\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string author\r\n {\r\n get\r\n {\r\n return this._author;\r\n }\r\n set\r\n {\r\n this._author = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Date of the note\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"date\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? date\r\n {\r\n get\r\n {\r\n return this._date;\r\n }\r\n set\r\n {\r\n this._date = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Identifier of the note within its containing entity\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Text of the note\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"text\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string text\r\n {\r\n get\r\n {\r\n return this._text;\r\n }\r\n set\r\n {\r\n this._text = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "OrderPrice_FVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class OrderPrice_FVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _description;\r\n \r\n private string _name;\r\n \r\n private ProductOfferingPriceRef_FVO _productOfferingPrice;\r\n \r\n private string _recurringChargePeriod;\r\n \r\n private string _unitOfMeasure;\r\n \r\n private BillingAccountRef_FVO _billingAccount;\r\n \r\n private PriceAlteration_FVO[] _priceAlteration;\r\n \r\n private Price_FVO _price;\r\n \r\n private string _priceType;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A narrative that explains in detail the semantics of this order item price.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"description\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string description\r\n {\r\n get\r\n {\r\n return this._description;\r\n }\r\n set\r\n {\r\n this._description = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A short descriptive name such as \"Subscription price\".\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// ProductPriceOffering reference. An amount, usually of money, that is asked for or allowed when a ProductOffering is bought, rented, or leased\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOfferingPrice\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ProductOfferingPriceRef_FVO productOfferingPrice\r\n {\r\n get\r\n {\r\n return this._productOfferingPrice;\r\n }\r\n set\r\n {\r\n this._productOfferingPrice = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Could be month, week...\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"recurringChargePeriod\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string recurringChargePeriod\r\n {\r\n get\r\n {\r\n return this._recurringChargePeriod;\r\n }\r\n set\r\n {\r\n this._recurringChargePeriod = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Could be minutes, GB...\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"unitOfMeasure\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string unitOfMeasure\r\n {\r\n get\r\n {\r\n return this._unitOfMeasure;\r\n }\r\n set\r\n {\r\n this._unitOfMeasure = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"billingAccount\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public BillingAccountRef_FVO billingAccount\r\n {\r\n get\r\n {\r\n return this._billingAccount;\r\n }\r\n set\r\n {\r\n this._billingAccount = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// a strucuture used to describe a price alteration\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"priceAlteration\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public PriceAlteration_FVO[] priceAlteration\r\n {\r\n get\r\n {\r\n return this._priceAlteration;\r\n }\r\n set\r\n {\r\n this._priceAlteration = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"price\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public Price_FVO price\r\n {\r\n get\r\n {\r\n return this._price;\r\n }\r\n set\r\n {\r\n this._price = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// indicate if the price is for recurrent or no-recurrent charge\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"priceType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string priceType\r\n {\r\n get\r\n {\r\n return this._priceType;\r\n }\r\n set\r\n {\r\n this._priceType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ProductOfferingPriceRef_FVO", "definition": "/// <summary>\r\n/// ProductPriceOffering reference. An amount, usually of money, that is asked for or allowed when a ProductOffering is bought, rented, or leased\r\n/// </summary>\r\npublic sealed class ProductOfferingPriceRef_FVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _href;\r\n \r\n private string _id;\r\n \r\n private string _name;\r\n \r\n private string _referredType;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Identifier of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "PriceAlteration_FVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class PriceAlteration_FVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private System.Int32? _applicationDuration;\r\n \r\n private string _description;\r\n \r\n private string _name;\r\n \r\n private ProductOfferingPriceRef_FVO _productOfferingPrice;\r\n \r\n private string _priceType;\r\n \r\n private System.Int32? _priority;\r\n \r\n private string _recurringChargePeriod;\r\n \r\n private string _unitOfMeasure;\r\n \r\n private Price_FVO _price;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Duration during which the alteration applies on the order item price (for instance 2 months free of charge for the recurring charge)\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"applicationDuration\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? applicationDuration\r\n {\r\n get\r\n {\r\n return this._applicationDuration;\r\n }\r\n set\r\n {\r\n this._applicationDuration = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A narrative that explains in detail the semantics of this order item price alteration\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"description\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string description\r\n {\r\n get\r\n {\r\n return this._description;\r\n }\r\n set\r\n {\r\n this._description = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the order item price alteration\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// ProductPriceOffering reference. An amount, usually of money, that is asked for or allowed when a ProductOffering is bought, rented, or leased\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOfferingPrice\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ProductOfferingPriceRef_FVO productOfferingPrice\r\n {\r\n get\r\n {\r\n return this._productOfferingPrice;\r\n }\r\n set\r\n {\r\n this._productOfferingPrice = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A category that describes the price such as recurring, one time and usage.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"priceType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string priceType\r\n {\r\n get\r\n {\r\n return this._priceType;\r\n }\r\n set\r\n {\r\n this._priceType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Priority level for applying this alteration among all the defined alterations on the order item price\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"priority\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? priority\r\n {\r\n get\r\n {\r\n return this._priority;\r\n }\r\n set\r\n {\r\n this._priority = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Could be month, week...\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"recurringChargePeriod\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string recurringChargePeriod\r\n {\r\n get\r\n {\r\n return this._recurringChargePeriod;\r\n }\r\n set\r\n {\r\n this._recurringChargePeriod = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Could be minutes, GB...\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"unitOfMeasure\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string unitOfMeasure\r\n {\r\n get\r\n {\r\n return this._unitOfMeasure;\r\n }\r\n set\r\n {\r\n this._unitOfMeasure = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"price\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public Price_FVO price\r\n {\r\n get\r\n {\r\n return this._price;\r\n }\r\n set\r\n {\r\n this._price = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Price_FVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class Price_FVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private Money _dutyFreeAmount;\r\n \r\n private System.Decimal? _percentage;\r\n \r\n private Money _taxIncludedAmount;\r\n \r\n private System.Decimal? _taxRate;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A base / value business entity used to represent money\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"dutyFreeAmount\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public Money dutyFreeAmount\r\n {\r\n get\r\n {\r\n return this._dutyFreeAmount;\r\n }\r\n set\r\n {\r\n this._dutyFreeAmount = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Percentage to apply for ProdOfferPriceAlteration\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"percentage\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Decimal? percentage\r\n {\r\n get\r\n {\r\n return this._percentage;\r\n }\r\n set\r\n {\r\n this._percentage = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A base / value business entity used to represent money\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"taxIncludedAmount\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public Money taxIncludedAmount\r\n {\r\n get\r\n {\r\n return this._taxIncludedAmount;\r\n }\r\n set\r\n {\r\n this._taxIncludedAmount = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Tax rate\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"taxRate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Decimal? taxRate\r\n {\r\n get\r\n {\r\n return this._taxRate;\r\n }\r\n set\r\n {\r\n this._taxRate = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "PaymentRef_FVO", "definition": "/// <summary>\r\n/// If an immediate payment has been done at the product order submission, the payment information are captured and stored (as a reference) in the order.\r\n/// </summary>\r\npublic sealed class PaymentRef_FVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _href;\r\n \r\n private string _id;\r\n \r\n private string _name;\r\n \r\n private string _referredType;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Identifier of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "OrderRelationship_FVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class OrderRelationship_FVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _href;\r\n \r\n private string _referredType;\r\n \r\n private string _id;\r\n \r\n private string _relationshipType;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Id of the related order\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Relationship type as correlates, triggers, etc...\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"relationshipType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string relationshipType\r\n {\r\n get\r\n {\r\n return this._relationshipType;\r\n }\r\n set\r\n {\r\n this._relationshipType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ProductOfferingQualificationRef_FVO", "definition": "/// <summary>\r\n/// A productOfferingQualification that has been executed previously\r\n/// </summary>\r\npublic sealed class ProductOfferingQualificationRef_FVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _href;\r\n \r\n private string _id;\r\n \r\n private string _name;\r\n \r\n private string _referredType;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Identifier of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "QuoteRef_FVO", "definition": "/// <summary>\r\n/// Quote reference. It's a Quote that has been executed previously.\r\n/// </summary>\r\npublic sealed class QuoteRef_FVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _href;\r\n \r\n private string _id;\r\n \r\n private string _name;\r\n \r\n private string _referredType;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Identifier of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ProductOrderErrorMessage_FVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class ProductOrderErrorMessage_FVO\r\n{\r\n \r\n private System.Int32? _code;\r\n \r\n private string _reason;\r\n \r\n private string _message;\r\n \r\n private string _status;\r\n \r\n private string _referenceError;\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private System.DateTime? _timestamp;\r\n \r\n private ProductOrderItemRef[] _productOrderItem;\r\n \r\n /// <summary>\r\n /// error code\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"code\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? code\r\n {\r\n get\r\n {\r\n return this._code;\r\n }\r\n set\r\n {\r\n this._code = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Explanation of the reason for the error\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"reason\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string reason\r\n {\r\n get\r\n {\r\n return this._reason;\r\n }\r\n set\r\n {\r\n this._reason = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// More details and corrective actions related to the error\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"message\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string message\r\n {\r\n get\r\n {\r\n return this._message;\r\n }\r\n set\r\n {\r\n this._message = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// error code extension like sys-ABC-2001\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"status\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string status\r\n {\r\n get\r\n {\r\n return this._status;\r\n }\r\n set\r\n {\r\n this._status = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// URI of documentation describing the error\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"referenceError\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string referenceError\r\n {\r\n get\r\n {\r\n return this._referenceError;\r\n }\r\n set\r\n {\r\n this._referenceError = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Date when the error happened\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"timestamp\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? timestamp\r\n {\r\n get\r\n {\r\n return this._timestamp;\r\n }\r\n set\r\n {\r\n this._timestamp = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A list of order item references corresponded to this error\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOrderItem\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ProductOrderItemRef[] productOrderItem\r\n {\r\n get\r\n {\r\n return this._productOrderItem;\r\n }\r\n set\r\n {\r\n this._productOrderItem = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ErrorMessage", "definition": "/// <summary>\r\n/// represents an Error\r\n/// </summary>\r\npublic sealed class ErrorMessage\r\n{\r\n \r\n private System.Int32? _code;\r\n \r\n private string _reason;\r\n \r\n private string _message;\r\n \r\n private string _status;\r\n \r\n private string _referenceError;\r\n \r\n /// <summary>\r\n /// error code\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"code\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? code\r\n {\r\n get\r\n {\r\n return this._code;\r\n }\r\n set\r\n {\r\n this._code = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Explanation of the reason for the error\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"reason\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string reason\r\n {\r\n get\r\n {\r\n return this._reason;\r\n }\r\n set\r\n {\r\n this._reason = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// More details and corrective actions related to the error\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"message\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string message\r\n {\r\n get\r\n {\r\n return this._message;\r\n }\r\n set\r\n {\r\n this._message = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// error code extension like sys-ABC-2001\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"status\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string status\r\n {\r\n get\r\n {\r\n return this._status;\r\n }\r\n set\r\n {\r\n this._status = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// URI of documentation describing the error\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"referenceError\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string referenceError\r\n {\r\n get\r\n {\r\n return this._referenceError;\r\n }\r\n set\r\n {\r\n this._referenceError = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ProductOrderItemRef", "definition": "/// <summary>\r\n/// Reference of a productOrder item that has been executed previously.\r\n/// </summary>\r\npublic sealed class ProductOrderItemRef\r\n{\r\n \r\n private string _productOrderName;\r\n \r\n private string _productOrderHref;\r\n \r\n private string _referredType;\r\n \r\n private string _productOrderId;\r\n \r\n private string _itemId;\r\n \r\n /// <summary>\r\n /// Name of the related entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOrderName\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string productOrderName\r\n {\r\n get\r\n {\r\n return this._productOrderName;\r\n }\r\n set\r\n {\r\n this._productOrderName = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Reference of the related entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOrderHref\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string productOrderHref\r\n {\r\n get\r\n {\r\n return this._productOrderHref;\r\n }\r\n set\r\n {\r\n this._productOrderHref = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Unique identifier of a related entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOrderId\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string productOrderId\r\n {\r\n get\r\n {\r\n return this._productOrderId;\r\n }\r\n set\r\n {\r\n this._productOrderId = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Id of an item of a product order\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"itemId\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string itemId\r\n {\r\n get\r\n {\r\n return this._itemId;\r\n }\r\n set\r\n {\r\n this._itemId = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ProductOrderJeopardyAlert_FVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class ProductOrderJeopardyAlert_FVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _id;\r\n \r\n private System.DateTime? _alertDate;\r\n \r\n private string _name;\r\n \r\n private string _jeopardyType;\r\n \r\n private string _exception;\r\n \r\n private string _message;\r\n \r\n private ProductOrderItemRef[] _productOrderItem;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// identifier of the JeopardyAlert\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A date time( DateTime). The date that the alert issued\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"alertDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? alertDate\r\n {\r\n get\r\n {\r\n return this._alertDate;\r\n }\r\n set\r\n {\r\n this._alertDate = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A string used to give a name to the jeopardy alert\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A string represents the type of jeopardy/risk like Normal, Hazard, Critical, ...\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"jeopardyType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string jeopardyType\r\n {\r\n get\r\n {\r\n return this._jeopardyType;\r\n }\r\n set\r\n {\r\n this._jeopardyType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The exception associated with this jeopardy alert\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"exception\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string exception\r\n {\r\n get\r\n {\r\n return this._exception;\r\n }\r\n set\r\n {\r\n this._exception = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A string represents the message of the alert\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"message\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string message\r\n {\r\n get\r\n {\r\n return this._message;\r\n }\r\n set\r\n {\r\n this._message = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A list of order item references corresponded to this alert\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOrderItem\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ProductOrderItemRef[] productOrderItem\r\n {\r\n get\r\n {\r\n return this._productOrderItem;\r\n }\r\n set\r\n {\r\n this._productOrderItem = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "JeopardyAlert_FVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class JeopardyAlert_FVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _id;\r\n \r\n private System.DateTime? _alertDate;\r\n \r\n private string _name;\r\n \r\n private string _jeopardyType;\r\n \r\n private string _exception;\r\n \r\n private string _message;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// identifier of the JeopardyAlert\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A date time( DateTime). The date that the alert issued\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"alertDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? alertDate\r\n {\r\n get\r\n {\r\n return this._alertDate;\r\n }\r\n set\r\n {\r\n this._alertDate = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A string used to give a name to the jeopardy alert\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A string represents the type of jeopardy/risk like Normal, Hazard, Critical, ...\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"jeopardyType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string jeopardyType\r\n {\r\n get\r\n {\r\n return this._jeopardyType;\r\n }\r\n set\r\n {\r\n this._jeopardyType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The exception associated with this jeopardy alert\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"exception\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string exception\r\n {\r\n get\r\n {\r\n return this._exception;\r\n }\r\n set\r\n {\r\n this._exception = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A string represents the message of the alert\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"message\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string message\r\n {\r\n get\r\n {\r\n return this._message;\r\n }\r\n set\r\n {\r\n this._message = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ProductOrderMilestone_FVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class ProductOrderMilestone_FVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _description;\r\n \r\n private string _id;\r\n \r\n private string _status;\r\n \r\n private System.DateTime? _milestoneDate;\r\n \r\n private string _name;\r\n \r\n private string _message;\r\n \r\n private ProductOrderItemRef[] _productOrderItem;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// free-text description of the Milestone\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"description\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string description\r\n {\r\n get\r\n {\r\n return this._description;\r\n }\r\n set\r\n {\r\n this._description = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// identifier of the Milestone\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The milestone status\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"status\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string status\r\n {\r\n get\r\n {\r\n return this._status;\r\n }\r\n set\r\n {\r\n this._status = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A date time( DateTime). The date that the milestone happens\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"milestoneDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? milestoneDate\r\n {\r\n get\r\n {\r\n return this._milestoneDate;\r\n }\r\n set\r\n {\r\n this._milestoneDate = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A string used to give a name to the milestone\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A string represents the message of the milestone\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"message\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string message\r\n {\r\n get\r\n {\r\n return this._message;\r\n }\r\n set\r\n {\r\n this._message = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A list of order item references corresponded to this alert\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOrderItem\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ProductOrderItemRef[] productOrderItem\r\n {\r\n get\r\n {\r\n return this._productOrderItem;\r\n }\r\n set\r\n {\r\n this._productOrderItem = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Milestone_FVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class Milestone_FVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _description;\r\n \r\n private string _id;\r\n \r\n private string _status;\r\n \r\n private System.DateTime? _milestoneDate;\r\n \r\n private string _name;\r\n \r\n private string _message;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// free-text description of the Milestone\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"description\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string description\r\n {\r\n get\r\n {\r\n return this._description;\r\n }\r\n set\r\n {\r\n this._description = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// identifier of the Milestone\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The milestone status\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"status\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string status\r\n {\r\n get\r\n {\r\n return this._status;\r\n }\r\n set\r\n {\r\n this._status = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A date time( DateTime). The date that the milestone happens\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"milestoneDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? milestoneDate\r\n {\r\n get\r\n {\r\n return this._milestoneDate;\r\n }\r\n set\r\n {\r\n this._milestoneDate = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A string used to give a name to the milestone\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A string represents the message of the milestone\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"message\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string message\r\n {\r\n get\r\n {\r\n return this._message;\r\n }\r\n set\r\n {\r\n this._message = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ProductOrderItem_FVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class ProductOrderItem_FVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private System.Int32? _quantity;\r\n \r\n private string _action;\r\n \r\n private AppointmentRef_FVO _appointment;\r\n \r\n private BillingAccountRef_FVO _billingAccount;\r\n \r\n private OrderPrice_FVO[] _itemPrice;\r\n \r\n private OrderTerm_FVO[] _itemTerm;\r\n \r\n private OrderPrice_FVO[] _itemTotalPrice;\r\n \r\n private Note_FVO[] _note;\r\n \r\n private PaymentRef_FVO[] _payment;\r\n \r\n private ProductRefOrValue_FVO _product;\r\n \r\n private ProductOfferingRef_FVO _productOffering;\r\n \r\n private ProductOfferingQualificationItemRef_FVO _productOfferingQualificationItem;\r\n \r\n private QuoteItemRef_FVO _quoteItem;\r\n \r\n private ProductOrderItem_FVO[] _productOrderItem;\r\n \r\n private OrderItemRelationship_FVO[] _productOrderItemRelationship;\r\n \r\n private string _state;\r\n \r\n private ProductOfferingQualificationRef_FVO[] _qualification;\r\n \r\n private string _id;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Quantity ordered\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"quantity\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? quantity\r\n {\r\n get\r\n {\r\n return this._quantity;\r\n }\r\n set\r\n {\r\n this._quantity = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// action to be performed on the entity managed by the item\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"action\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string action\r\n {\r\n get\r\n {\r\n return this._action;\r\n }\r\n set\r\n {\r\n this._action = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"appointment\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public AppointmentRef_FVO appointment\r\n {\r\n get\r\n {\r\n return this._appointment;\r\n }\r\n set\r\n {\r\n this._appointment = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"billingAccount\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public BillingAccountRef_FVO billingAccount\r\n {\r\n get\r\n {\r\n return this._billingAccount;\r\n }\r\n set\r\n {\r\n this._billingAccount = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"itemPrice\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public OrderPrice_FVO[] itemPrice\r\n {\r\n get\r\n {\r\n return this._itemPrice;\r\n }\r\n set\r\n {\r\n this._itemPrice = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"itemTerm\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public OrderTerm_FVO[] itemTerm\r\n {\r\n get\r\n {\r\n return this._itemTerm;\r\n }\r\n set\r\n {\r\n this._itemTerm = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"itemTotalPrice\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public OrderPrice_FVO[] itemTotalPrice\r\n {\r\n get\r\n {\r\n return this._itemTotalPrice;\r\n }\r\n set\r\n {\r\n this._itemTotalPrice = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"note\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public Note_FVO[] note\r\n {\r\n get\r\n {\r\n return this._note;\r\n }\r\n set\r\n {\r\n this._note = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"payment\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public PaymentRef_FVO[] payment\r\n {\r\n get\r\n {\r\n return this._payment;\r\n }\r\n set\r\n {\r\n this._payment = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A product to be created defined by value or existing defined by reference. The polymorphic attributes @type, @schemaLocation & @referredType are related to the product entity and not the RelatedProductRefOrValue class itself\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"product\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ProductRefOrValue_FVO product\r\n {\r\n get\r\n {\r\n return this._product;\r\n }\r\n set\r\n {\r\n this._product = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// ProductOffering reference. A product offering represents entities that are orderable from the provider of the catalog, this resource includes pricing information.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOffering\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ProductOfferingRef_FVO productOffering\r\n {\r\n get\r\n {\r\n return this._productOffering;\r\n }\r\n set\r\n {\r\n this._productOffering = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOfferingQualificationItem\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ProductOfferingQualificationItemRef_FVO productOfferingQualificationItem\r\n {\r\n get\r\n {\r\n return this._productOfferingQualificationItem;\r\n }\r\n set\r\n {\r\n this._productOfferingQualificationItem = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"quoteItem\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public QuoteItemRef_FVO quoteItem\r\n {\r\n get\r\n {\r\n return this._quoteItem;\r\n }\r\n set\r\n {\r\n this._quoteItem = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOrderItem\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ProductOrderItem_FVO[] productOrderItem\r\n {\r\n get\r\n {\r\n return this._productOrderItem;\r\n }\r\n set\r\n {\r\n this._productOrderItem = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOrderItemRelationship\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public OrderItemRelationship_FVO[] productOrderItemRelationship\r\n {\r\n get\r\n {\r\n return this._productOrderItemRelationship;\r\n }\r\n set\r\n {\r\n this._productOrderItemRelationship = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Possible values for the state of the product order item\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"state\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string state\r\n {\r\n get\r\n {\r\n return this._state;\r\n }\r\n set\r\n {\r\n this._state = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"qualification\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ProductOfferingQualificationRef_FVO[] qualification\r\n {\r\n get\r\n {\r\n return this._qualification;\r\n }\r\n set\r\n {\r\n this._qualification = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Identifier of the ProductOrder item (generally it is a sequence number 01, 02, 03, ...)\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "AppointmentRef_FVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class AppointmentRef_FVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _href;\r\n \r\n private string _id;\r\n \r\n private string _name;\r\n \r\n private string _referredType;\r\n \r\n private string _description;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Identifier of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// An explanatory text regarding the appointment made with a party\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"description\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string description\r\n {\r\n get\r\n {\r\n return this._description;\r\n }\r\n set\r\n {\r\n this._description = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "OrderTerm_FVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class OrderTerm_FVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _description;\r\n \r\n private Duration _duration;\r\n \r\n private string _name;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Description of the productOrderTerm\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"description\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string description\r\n {\r\n get\r\n {\r\n return this._description;\r\n }\r\n set\r\n {\r\n this._description = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A time interval in a given unit of time\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"duration\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public Duration duration\r\n {\r\n get\r\n {\r\n return this._duration;\r\n }\r\n set\r\n {\r\n this._duration = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the productOrderTerm\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ProductRefOrValue_FVO", "definition": "/// <summary>\r\n/// A product to be created defined by value or existing defined by reference. The polymorphic attributes @type, @schemaLocation @referredType are related to the product entity and not the RelatedProductRefOrValue class itself\r\n/// </summary>\r\npublic sealed class ProductRefOrValue_FVO\r\n{\r\n}\r\n", "isNativeDefinition": true }, { "name": "ProductOfferingRef_FVO", "definition": "/// <summary>\r\n/// ProductOffering reference. A product offering represents entities that are orderable from the provider of the catalog, this resource includes pricing information.\r\n/// </summary>\r\npublic sealed class ProductOfferingRef_FVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _href;\r\n \r\n private string _id;\r\n \r\n private string _name;\r\n \r\n private string _referredType;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Identifier of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ProductOfferingQualificationItemRef_FVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class ProductOfferingQualificationItemRef_FVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _productOfferingQualificationName;\r\n \r\n private string _productOfferingQualificationHref;\r\n \r\n private string _referredType;\r\n \r\n private string _productOfferingQualificationId;\r\n \r\n private string _itemId;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the related entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOfferingQualificationName\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string productOfferingQualificationName\r\n {\r\n get\r\n {\r\n return this._productOfferingQualificationName;\r\n }\r\n set\r\n {\r\n this._productOfferingQualificationName = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Reference of the related entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOfferingQualificationHref\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string productOfferingQualificationHref\r\n {\r\n get\r\n {\r\n return this._productOfferingQualificationHref;\r\n }\r\n set\r\n {\r\n this._productOfferingQualificationHref = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Unique identifier of a related entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOfferingQualificationId\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string productOfferingQualificationId\r\n {\r\n get\r\n {\r\n return this._productOfferingQualificationId;\r\n }\r\n set\r\n {\r\n this._productOfferingQualificationId = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Id of an item of a product offering qualification\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"itemId\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string itemId\r\n {\r\n get\r\n {\r\n return this._itemId;\r\n }\r\n set\r\n {\r\n this._itemId = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "QuoteItemRef_FVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class QuoteItemRef_FVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _quoteHref;\r\n \r\n private string _referredType;\r\n \r\n private string _quoteId;\r\n \r\n private string _quoteItemId;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Reference of the related quote.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"quoteHref\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string quoteHref\r\n {\r\n get\r\n {\r\n return this._quoteHref;\r\n }\r\n set\r\n {\r\n this._quoteHref = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Unique identifier of a refered quote.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"quoteId\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string quoteId\r\n {\r\n get\r\n {\r\n return this._quoteId;\r\n }\r\n set\r\n {\r\n this._quoteId = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Identifier of a quote item. \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"quoteItemId\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string quoteItemId\r\n {\r\n get\r\n {\r\n return this._quoteItemId;\r\n }\r\n set\r\n {\r\n this._quoteItemId = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "OrderItemRelationship_FVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class OrderItemRelationship_FVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _id;\r\n \r\n private string _relationshipType;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Id of the related Order item (must be in the same Order)\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Relationship type as relies on, bundles, etc...\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"relationshipType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string relationshipType\r\n {\r\n get\r\n {\r\n return this._relationshipType;\r\n }\r\n set\r\n {\r\n this._relationshipType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "RelatedParty_FVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class RelatedParty_FVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _href;\r\n \r\n private string _id;\r\n \r\n private string _name;\r\n \r\n private string _referredType;\r\n \r\n private string _role;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Identifier of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Role played by the related party\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"role\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string role\r\n {\r\n get\r\n {\r\n return this._role;\r\n }\r\n set\r\n {\r\n this._role = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Entity_MVO", "definition": "/// <summary>\r\n/// Base entity schema for use in TMForum Open-APIs. Property.\r\n/// </summary>\r\npublic sealed class Entity_MVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _id;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// unique identifier\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Extensible_MVO", "definition": "/// <summary>\r\n/// Base Extensible schema for use in TMForum Open-APIs - When used for in a schema it means that the Entity described by the schema MUST be extended with the @type\r\n/// </summary>\r\npublic sealed class Extensible_MVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Addressable_MVO", "definition": "/// <summary>\r\n/// Base schema for adressable entities\r\n/// </summary>\r\npublic sealed class Addressable_MVO\r\n{\r\n \r\n private string _id;\r\n \r\n /// <summary>\r\n /// unique identifier\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "AgreementRef_MVO", "definition": "/// <summary>\r\n/// Agreement reference. An agreement represents a contract or arrangement, either written or verbal and sometimes enforceable by law, such as a service level agreement or a customer price agreement. An agreement involves a number of other business entities, such as products, services, and resources and/or their specifications.\r\n/// </summary>\r\npublic sealed class AgreementRef_MVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _href;\r\n \r\n private string _id;\r\n \r\n private string _name;\r\n \r\n private string _referredType;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Identifier of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Reference_MVO", "definition": "/// <summary>\r\n/// Reference schema .\r\n/// </summary>\r\npublic sealed class Reference_MVO\r\n{\r\n \r\n private string _id;\r\n \r\n private string _name;\r\n \r\n private string _referredType;\r\n \r\n /// <summary>\r\n /// Identifier of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "BillingAccountRef_MVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class BillingAccountRef_MVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _href;\r\n \r\n private string _id;\r\n \r\n private string _name;\r\n \r\n private string _referredType;\r\n \r\n private string _ratingType;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Identifier of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Indicates whether the account follows a specific payment option such as prepaid or postpaid\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"ratingType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string ratingType\r\n {\r\n get\r\n {\r\n return this._ratingType;\r\n }\r\n set\r\n {\r\n this._ratingType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ProductOrderStateType", "definition": "/// <summary>\r\n/// Possible values for the state of the order\r\n/// </summary>\r\npublic sealed class ProductOrderStateType\r\n{\r\n}\r\n", "isNativeDefinition": true }, { "name": "RelatedChannel_MVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class RelatedChannel_MVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _id;\r\n \r\n private string _name;\r\n \r\n private string _referredType;\r\n \r\n private string _href;\r\n \r\n private string _role;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Identifier of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Role playing by the channel.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"role\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string role\r\n {\r\n get\r\n {\r\n return this._role;\r\n }\r\n set\r\n {\r\n this._role = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ExternalIdentifier_MVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class ExternalIdentifier_MVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _owner;\r\n \r\n private string _externalIdentifierType;\r\n \r\n private string _id;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the external system that owns the entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"owner\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string owner\r\n {\r\n get\r\n {\r\n return this._owner;\r\n }\r\n set\r\n {\r\n this._owner = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Type of the identification, typically would be the type of the entity within the external system\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"externalIdentifierType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string externalIdentifierType\r\n {\r\n get\r\n {\r\n return this._externalIdentifierType;\r\n }\r\n set\r\n {\r\n this._externalIdentifierType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// identification of the entity within the external system.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Note_MVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class Note_MVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _author;\r\n \r\n private System.DateTime? _date;\r\n \r\n private string _id;\r\n \r\n private string _text;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Author of the note\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"author\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string author\r\n {\r\n get\r\n {\r\n return this._author;\r\n }\r\n set\r\n {\r\n this._author = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Date of the note\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"date\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? date\r\n {\r\n get\r\n {\r\n return this._date;\r\n }\r\n set\r\n {\r\n this._date = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Identifier of the note within its containing entity\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Text of the note\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"text\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string text\r\n {\r\n get\r\n {\r\n return this._text;\r\n }\r\n set\r\n {\r\n this._text = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "OrderPrice_MVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class OrderPrice_MVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _description;\r\n \r\n private string _name;\r\n \r\n private ProductOfferingPriceRef_MVO _productOfferingPrice;\r\n \r\n private string _recurringChargePeriod;\r\n \r\n private string _unitOfMeasure;\r\n \r\n private BillingAccountRef_MVO _billingAccount;\r\n \r\n private PriceAlteration_MVO[] _priceAlteration;\r\n \r\n private Price_MVO _price;\r\n \r\n private string _priceType;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A narrative that explains in detail the semantics of this order item price.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"description\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string description\r\n {\r\n get\r\n {\r\n return this._description;\r\n }\r\n set\r\n {\r\n this._description = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A short descriptive name such as \"Subscription price\".\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// ProductPriceOffering reference. An amount, usually of money, that is asked for or allowed when a ProductOffering is bought, rented, or leased\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOfferingPrice\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ProductOfferingPriceRef_MVO productOfferingPrice\r\n {\r\n get\r\n {\r\n return this._productOfferingPrice;\r\n }\r\n set\r\n {\r\n this._productOfferingPrice = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Could be month, week...\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"recurringChargePeriod\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string recurringChargePeriod\r\n {\r\n get\r\n {\r\n return this._recurringChargePeriod;\r\n }\r\n set\r\n {\r\n this._recurringChargePeriod = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Could be minutes, GB...\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"unitOfMeasure\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string unitOfMeasure\r\n {\r\n get\r\n {\r\n return this._unitOfMeasure;\r\n }\r\n set\r\n {\r\n this._unitOfMeasure = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"billingAccount\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public BillingAccountRef_MVO billingAccount\r\n {\r\n get\r\n {\r\n return this._billingAccount;\r\n }\r\n set\r\n {\r\n this._billingAccount = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// a strucuture used to describe a price alteration\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"priceAlteration\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public PriceAlteration_MVO[] priceAlteration\r\n {\r\n get\r\n {\r\n return this._priceAlteration;\r\n }\r\n set\r\n {\r\n this._priceAlteration = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"price\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public Price_MVO price\r\n {\r\n get\r\n {\r\n return this._price;\r\n }\r\n set\r\n {\r\n this._price = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// indicate if the price is for recurrent or no-recurrent charge\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"priceType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string priceType\r\n {\r\n get\r\n {\r\n return this._priceType;\r\n }\r\n set\r\n {\r\n this._priceType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ProductOfferingPriceRef_MVO", "definition": "/// <summary>\r\n/// ProductPriceOffering reference. An amount, usually of money, that is asked for or allowed when a ProductOffering is bought, rented, or leased\r\n/// </summary>\r\npublic sealed class ProductOfferingPriceRef_MVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _href;\r\n \r\n private string _id;\r\n \r\n private string _name;\r\n \r\n private string _referredType;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Identifier of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "PriceAlteration_MVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class PriceAlteration_MVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private System.Int32? _applicationDuration;\r\n \r\n private string _description;\r\n \r\n private string _name;\r\n \r\n private ProductOfferingPriceRef_MVO _productOfferingPrice;\r\n \r\n private string _priceType;\r\n \r\n private System.Int32? _priority;\r\n \r\n private string _recurringChargePeriod;\r\n \r\n private string _unitOfMeasure;\r\n \r\n private Price_MVO _price;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Duration during which the alteration applies on the order item price (for instance 2 months free of charge for the recurring charge)\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"applicationDuration\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? applicationDuration\r\n {\r\n get\r\n {\r\n return this._applicationDuration;\r\n }\r\n set\r\n {\r\n this._applicationDuration = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A narrative that explains in detail the semantics of this order item price alteration\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"description\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string description\r\n {\r\n get\r\n {\r\n return this._description;\r\n }\r\n set\r\n {\r\n this._description = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the order item price alteration\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// ProductPriceOffering reference. An amount, usually of money, that is asked for or allowed when a ProductOffering is bought, rented, or leased\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOfferingPrice\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ProductOfferingPriceRef_MVO productOfferingPrice\r\n {\r\n get\r\n {\r\n return this._productOfferingPrice;\r\n }\r\n set\r\n {\r\n this._productOfferingPrice = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A category that describes the price such as recurring, one time and usage.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"priceType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string priceType\r\n {\r\n get\r\n {\r\n return this._priceType;\r\n }\r\n set\r\n {\r\n this._priceType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Priority level for applying this alteration among all the defined alterations on the order item price\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"priority\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? priority\r\n {\r\n get\r\n {\r\n return this._priority;\r\n }\r\n set\r\n {\r\n this._priority = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Could be month, week...\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"recurringChargePeriod\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string recurringChargePeriod\r\n {\r\n get\r\n {\r\n return this._recurringChargePeriod;\r\n }\r\n set\r\n {\r\n this._recurringChargePeriod = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Could be minutes, GB...\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"unitOfMeasure\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string unitOfMeasure\r\n {\r\n get\r\n {\r\n return this._unitOfMeasure;\r\n }\r\n set\r\n {\r\n this._unitOfMeasure = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"price\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public Price_MVO price\r\n {\r\n get\r\n {\r\n return this._price;\r\n }\r\n set\r\n {\r\n this._price = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Price_MVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class Price_MVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private Money _dutyFreeAmount;\r\n \r\n private System.Decimal? _percentage;\r\n \r\n private Money _taxIncludedAmount;\r\n \r\n private System.Decimal? _taxRate;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A base / value business entity used to represent money\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"dutyFreeAmount\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public Money dutyFreeAmount\r\n {\r\n get\r\n {\r\n return this._dutyFreeAmount;\r\n }\r\n set\r\n {\r\n this._dutyFreeAmount = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Percentage to apply for ProdOfferPriceAlteration\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"percentage\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Decimal? percentage\r\n {\r\n get\r\n {\r\n return this._percentage;\r\n }\r\n set\r\n {\r\n this._percentage = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A base / value business entity used to represent money\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"taxIncludedAmount\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public Money taxIncludedAmount\r\n {\r\n get\r\n {\r\n return this._taxIncludedAmount;\r\n }\r\n set\r\n {\r\n this._taxIncludedAmount = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Tax rate\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"taxRate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Decimal? taxRate\r\n {\r\n get\r\n {\r\n return this._taxRate;\r\n }\r\n set\r\n {\r\n this._taxRate = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "PaymentRef_MVO", "definition": "/// <summary>\r\n/// If an immediate payment has been done at the product order submission, the payment information are captured and stored (as a reference) in the order.\r\n/// </summary>\r\npublic sealed class PaymentRef_MVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _href;\r\n \r\n private string _id;\r\n \r\n private string _name;\r\n \r\n private string _referredType;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Identifier of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "OrderRelationship_MVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class OrderRelationship_MVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _href;\r\n \r\n private string _referredType;\r\n \r\n private string _id;\r\n \r\n private string _relationshipType;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Id of the related order\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Relationship type as correlates, triggers, etc...\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"relationshipType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string relationshipType\r\n {\r\n get\r\n {\r\n return this._relationshipType;\r\n }\r\n set\r\n {\r\n this._relationshipType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ProductOfferingQualificationRef_MVO", "definition": "/// <summary>\r\n/// A productOfferingQualification that has been executed previously\r\n/// </summary>\r\npublic sealed class ProductOfferingQualificationRef_MVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _href;\r\n \r\n private string _id;\r\n \r\n private string _name;\r\n \r\n private string _referredType;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Identifier of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "QuoteRef_MVO", "definition": "/// <summary>\r\n/// Quote reference. It's a Quote that has been executed previously.\r\n/// </summary>\r\npublic sealed class QuoteRef_MVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _href;\r\n \r\n private string _id;\r\n \r\n private string _name;\r\n \r\n private string _referredType;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Identifier of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ProductOrderErrorMessage_MVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class ProductOrderErrorMessage_MVO\r\n{\r\n \r\n private System.Int32? _code;\r\n \r\n private string _reason;\r\n \r\n private string _message;\r\n \r\n private string _status;\r\n \r\n private string _referenceError;\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private System.DateTime? _timestamp;\r\n \r\n private ProductOrderItemRef[] _productOrderItem;\r\n \r\n /// <summary>\r\n /// error code\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"code\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? code\r\n {\r\n get\r\n {\r\n return this._code;\r\n }\r\n set\r\n {\r\n this._code = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Explanation of the reason for the error\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"reason\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string reason\r\n {\r\n get\r\n {\r\n return this._reason;\r\n }\r\n set\r\n {\r\n this._reason = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// More details and corrective actions related to the error\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"message\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string message\r\n {\r\n get\r\n {\r\n return this._message;\r\n }\r\n set\r\n {\r\n this._message = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// error code extension like sys-ABC-2001\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"status\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string status\r\n {\r\n get\r\n {\r\n return this._status;\r\n }\r\n set\r\n {\r\n this._status = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// URI of documentation describing the error\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"referenceError\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string referenceError\r\n {\r\n get\r\n {\r\n return this._referenceError;\r\n }\r\n set\r\n {\r\n this._referenceError = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Date when the error happened\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"timestamp\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? timestamp\r\n {\r\n get\r\n {\r\n return this._timestamp;\r\n }\r\n set\r\n {\r\n this._timestamp = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A list of order item references corresponded to this error\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOrderItem\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ProductOrderItemRef[] productOrderItem\r\n {\r\n get\r\n {\r\n return this._productOrderItem;\r\n }\r\n set\r\n {\r\n this._productOrderItem = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ProductOrderJeopardyAlert_MVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class ProductOrderJeopardyAlert_MVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _id;\r\n \r\n private System.DateTime? _alertDate;\r\n \r\n private string _name;\r\n \r\n private string _jeopardyType;\r\n \r\n private string _exception;\r\n \r\n private string _message;\r\n \r\n private ProductOrderItemRef[] _productOrderItem;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// identifier of the JeopardyAlert\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A date time( DateTime). The date that the alert issued\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"alertDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? alertDate\r\n {\r\n get\r\n {\r\n return this._alertDate;\r\n }\r\n set\r\n {\r\n this._alertDate = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A string used to give a name to the jeopardy alert\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A string represents the type of jeopardy/risk like Normal, Hazard, Critical, ...\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"jeopardyType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string jeopardyType\r\n {\r\n get\r\n {\r\n return this._jeopardyType;\r\n }\r\n set\r\n {\r\n this._jeopardyType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The exception associated with this jeopardy alert\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"exception\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string exception\r\n {\r\n get\r\n {\r\n return this._exception;\r\n }\r\n set\r\n {\r\n this._exception = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A string represents the message of the alert\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"message\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string message\r\n {\r\n get\r\n {\r\n return this._message;\r\n }\r\n set\r\n {\r\n this._message = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A list of order item references corresponded to this alert\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOrderItem\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ProductOrderItemRef[] productOrderItem\r\n {\r\n get\r\n {\r\n return this._productOrderItem;\r\n }\r\n set\r\n {\r\n this._productOrderItem = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "JeopardyAlert_MVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class JeopardyAlert_MVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _id;\r\n \r\n private System.DateTime? _alertDate;\r\n \r\n private string _name;\r\n \r\n private string _jeopardyType;\r\n \r\n private string _exception;\r\n \r\n private string _message;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// identifier of the JeopardyAlert\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A date time( DateTime). The date that the alert issued\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"alertDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? alertDate\r\n {\r\n get\r\n {\r\n return this._alertDate;\r\n }\r\n set\r\n {\r\n this._alertDate = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A string used to give a name to the jeopardy alert\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A string represents the type of jeopardy/risk like Normal, Hazard, Critical, ...\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"jeopardyType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string jeopardyType\r\n {\r\n get\r\n {\r\n return this._jeopardyType;\r\n }\r\n set\r\n {\r\n this._jeopardyType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The exception associated with this jeopardy alert\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"exception\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string exception\r\n {\r\n get\r\n {\r\n return this._exception;\r\n }\r\n set\r\n {\r\n this._exception = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A string represents the message of the alert\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"message\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string message\r\n {\r\n get\r\n {\r\n return this._message;\r\n }\r\n set\r\n {\r\n this._message = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ProductOrderMilestone_MVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class ProductOrderMilestone_MVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _description;\r\n \r\n private string _id;\r\n \r\n private string _status;\r\n \r\n private System.DateTime? _milestoneDate;\r\n \r\n private string _name;\r\n \r\n private string _message;\r\n \r\n private ProductOrderItemRef[] _productOrderItem;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// free-text description of the Milestone\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"description\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string description\r\n {\r\n get\r\n {\r\n return this._description;\r\n }\r\n set\r\n {\r\n this._description = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// identifier of the Milestone\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The milestone status\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"status\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string status\r\n {\r\n get\r\n {\r\n return this._status;\r\n }\r\n set\r\n {\r\n this._status = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A date time( DateTime). The date that the milestone happens\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"milestoneDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? milestoneDate\r\n {\r\n get\r\n {\r\n return this._milestoneDate;\r\n }\r\n set\r\n {\r\n this._milestoneDate = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A string used to give a name to the milestone\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A string represents the message of the milestone\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"message\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string message\r\n {\r\n get\r\n {\r\n return this._message;\r\n }\r\n set\r\n {\r\n this._message = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A list of order item references corresponded to this alert\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOrderItem\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ProductOrderItemRef[] productOrderItem\r\n {\r\n get\r\n {\r\n return this._productOrderItem;\r\n }\r\n set\r\n {\r\n this._productOrderItem = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Milestone_MVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class Milestone_MVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _description;\r\n \r\n private string _id;\r\n \r\n private string _status;\r\n \r\n private System.DateTime? _milestoneDate;\r\n \r\n private string _name;\r\n \r\n private string _message;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// free-text description of the Milestone\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"description\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string description\r\n {\r\n get\r\n {\r\n return this._description;\r\n }\r\n set\r\n {\r\n this._description = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// identifier of the Milestone\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The milestone status\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"status\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string status\r\n {\r\n get\r\n {\r\n return this._status;\r\n }\r\n set\r\n {\r\n this._status = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A date time( DateTime). The date that the milestone happens\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"milestoneDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? milestoneDate\r\n {\r\n get\r\n {\r\n return this._milestoneDate;\r\n }\r\n set\r\n {\r\n this._milestoneDate = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A string used to give a name to the milestone\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A string represents the message of the milestone\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"message\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string message\r\n {\r\n get\r\n {\r\n return this._message;\r\n }\r\n set\r\n {\r\n this._message = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ProductOrderItem_MVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class ProductOrderItem_MVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private System.Int32? _quantity;\r\n \r\n private string _action;\r\n \r\n private AppointmentRef_MVO _appointment;\r\n \r\n private BillingAccountRef_MVO _billingAccount;\r\n \r\n private OrderPrice_MVO[] _itemPrice;\r\n \r\n private OrderTerm_MVO[] _itemTerm;\r\n \r\n private OrderPrice_MVO[] _itemTotalPrice;\r\n \r\n private Note_MVO[] _note;\r\n \r\n private PaymentRef_MVO[] _payment;\r\n \r\n private ProductRefOrValue_MVO _product;\r\n \r\n private ProductOfferingRef_MVO _productOffering;\r\n \r\n private ProductOfferingQualificationItemRef_MVO _productOfferingQualificationItem;\r\n \r\n private QuoteItemRef_MVO _quoteItem;\r\n \r\n private ProductOrderItem_MVO[] _productOrderItem;\r\n \r\n private OrderItemRelationship_MVO[] _productOrderItemRelationship;\r\n \r\n private string _state;\r\n \r\n private ProductOfferingQualificationRef_MVO[] _qualification;\r\n \r\n private string _id;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Quantity ordered\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"quantity\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? quantity\r\n {\r\n get\r\n {\r\n return this._quantity;\r\n }\r\n set\r\n {\r\n this._quantity = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// action to be performed on the entity managed by the item\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"action\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string action\r\n {\r\n get\r\n {\r\n return this._action;\r\n }\r\n set\r\n {\r\n this._action = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"appointment\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public AppointmentRef_MVO appointment\r\n {\r\n get\r\n {\r\n return this._appointment;\r\n }\r\n set\r\n {\r\n this._appointment = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"billingAccount\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public BillingAccountRef_MVO billingAccount\r\n {\r\n get\r\n {\r\n return this._billingAccount;\r\n }\r\n set\r\n {\r\n this._billingAccount = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"itemPrice\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public OrderPrice_MVO[] itemPrice\r\n {\r\n get\r\n {\r\n return this._itemPrice;\r\n }\r\n set\r\n {\r\n this._itemPrice = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"itemTerm\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public OrderTerm_MVO[] itemTerm\r\n {\r\n get\r\n {\r\n return this._itemTerm;\r\n }\r\n set\r\n {\r\n this._itemTerm = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"itemTotalPrice\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public OrderPrice_MVO[] itemTotalPrice\r\n {\r\n get\r\n {\r\n return this._itemTotalPrice;\r\n }\r\n set\r\n {\r\n this._itemTotalPrice = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"note\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public Note_MVO[] note\r\n {\r\n get\r\n {\r\n return this._note;\r\n }\r\n set\r\n {\r\n this._note = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"payment\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public PaymentRef_MVO[] payment\r\n {\r\n get\r\n {\r\n return this._payment;\r\n }\r\n set\r\n {\r\n this._payment = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A product to be created defined by value or existing defined by reference. The polymorphic attributes @type, @schemaLocation & @referredType are related to the product entity and not the RelatedProductRefOrValue class itself\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"product\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ProductRefOrValue_MVO product\r\n {\r\n get\r\n {\r\n return this._product;\r\n }\r\n set\r\n {\r\n this._product = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// ProductOffering reference. A product offering represents entities that are orderable from the provider of the catalog, this resource includes pricing information.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOffering\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ProductOfferingRef_MVO productOffering\r\n {\r\n get\r\n {\r\n return this._productOffering;\r\n }\r\n set\r\n {\r\n this._productOffering = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOfferingQualificationItem\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ProductOfferingQualificationItemRef_MVO productOfferingQualificationItem\r\n {\r\n get\r\n {\r\n return this._productOfferingQualificationItem;\r\n }\r\n set\r\n {\r\n this._productOfferingQualificationItem = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"quoteItem\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public QuoteItemRef_MVO quoteItem\r\n {\r\n get\r\n {\r\n return this._quoteItem;\r\n }\r\n set\r\n {\r\n this._quoteItem = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOrderItem\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ProductOrderItem_MVO[] productOrderItem\r\n {\r\n get\r\n {\r\n return this._productOrderItem;\r\n }\r\n set\r\n {\r\n this._productOrderItem = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOrderItemRelationship\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public OrderItemRelationship_MVO[] productOrderItemRelationship\r\n {\r\n get\r\n {\r\n return this._productOrderItemRelationship;\r\n }\r\n set\r\n {\r\n this._productOrderItemRelationship = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Possible values for the state of the product order item\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"state\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string state\r\n {\r\n get\r\n {\r\n return this._state;\r\n }\r\n set\r\n {\r\n this._state = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"qualification\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ProductOfferingQualificationRef_MVO[] qualification\r\n {\r\n get\r\n {\r\n return this._qualification;\r\n }\r\n set\r\n {\r\n this._qualification = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Identifier of the ProductOrder item (generally it is a sequence number 01, 02, 03, ...)\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "AppointmentRef_MVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class AppointmentRef_MVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _href;\r\n \r\n private string _id;\r\n \r\n private string _name;\r\n \r\n private string _referredType;\r\n \r\n private string _description;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Identifier of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// An explanatory text regarding the appointment made with a party\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"description\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string description\r\n {\r\n get\r\n {\r\n return this._description;\r\n }\r\n set\r\n {\r\n this._description = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "OrderTerm_MVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class OrderTerm_MVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _description;\r\n \r\n private Duration _duration;\r\n \r\n private string _name;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Description of the productOrderTerm\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"description\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string description\r\n {\r\n get\r\n {\r\n return this._description;\r\n }\r\n set\r\n {\r\n this._description = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A time interval in a given unit of time\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"duration\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public Duration duration\r\n {\r\n get\r\n {\r\n return this._duration;\r\n }\r\n set\r\n {\r\n this._duration = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the productOrderTerm\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ProductRefOrValue_MVO", "definition": "/// <summary>\r\n/// A product to be created defined by value or existing defined by reference. The polymorphic attributes @type, @schemaLocation @referredType are related to the product entity and not the RelatedProductRefOrValue class itself\r\n/// </summary>\r\npublic sealed class ProductRefOrValue_MVO\r\n{\r\n}\r\n", "isNativeDefinition": true }, { "name": "ProductOfferingRef_MVO", "definition": "/// <summary>\r\n/// ProductOffering reference. A product offering represents entities that are orderable from the provider of the catalog, this resource includes pricing information.\r\n/// </summary>\r\npublic sealed class ProductOfferingRef_MVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _href;\r\n \r\n private string _id;\r\n \r\n private string _name;\r\n \r\n private string _referredType;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Identifier of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ProductOfferingQualificationItemRef_MVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class ProductOfferingQualificationItemRef_MVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _productOfferingQualificationName;\r\n \r\n private string _productOfferingQualificationHref;\r\n \r\n private string _referredType;\r\n \r\n private string _productOfferingQualificationId;\r\n \r\n private string _itemId;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the related entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOfferingQualificationName\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string productOfferingQualificationName\r\n {\r\n get\r\n {\r\n return this._productOfferingQualificationName;\r\n }\r\n set\r\n {\r\n this._productOfferingQualificationName = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Reference of the related entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOfferingQualificationHref\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string productOfferingQualificationHref\r\n {\r\n get\r\n {\r\n return this._productOfferingQualificationHref;\r\n }\r\n set\r\n {\r\n this._productOfferingQualificationHref = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Unique identifier of a related entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOfferingQualificationId\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string productOfferingQualificationId\r\n {\r\n get\r\n {\r\n return this._productOfferingQualificationId;\r\n }\r\n set\r\n {\r\n this._productOfferingQualificationId = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Id of an item of a product offering qualification\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"itemId\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string itemId\r\n {\r\n get\r\n {\r\n return this._itemId;\r\n }\r\n set\r\n {\r\n this._itemId = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "QuoteItemRef_MVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class QuoteItemRef_MVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _quoteHref;\r\n \r\n private string _referredType;\r\n \r\n private string _quoteId;\r\n \r\n private string _quoteItemId;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Reference of the related quote.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"quoteHref\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string quoteHref\r\n {\r\n get\r\n {\r\n return this._quoteHref;\r\n }\r\n set\r\n {\r\n this._quoteHref = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Unique identifier of a refered quote.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"quoteId\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string quoteId\r\n {\r\n get\r\n {\r\n return this._quoteId;\r\n }\r\n set\r\n {\r\n this._quoteId = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Identifier of a quote item. \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"quoteItemId\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string quoteItemId\r\n {\r\n get\r\n {\r\n return this._quoteItemId;\r\n }\r\n set\r\n {\r\n this._quoteItemId = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "OrderItemRelationship_MVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class OrderItemRelationship_MVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _id;\r\n \r\n private string _relationshipType;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Id of the related Order item (must be in the same Order)\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Relationship type as relies on, bundles, etc...\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"relationshipType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string relationshipType\r\n {\r\n get\r\n {\r\n return this._relationshipType;\r\n }\r\n set\r\n {\r\n this._relationshipType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "RelatedParty_MVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class RelatedParty_MVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _href;\r\n \r\n private string _id;\r\n \r\n private string _name;\r\n \r\n private string _referredType;\r\n \r\n private string _role;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Identifier of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Role played by the related party\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"role\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string role\r\n {\r\n get\r\n {\r\n return this._role;\r\n }\r\n set\r\n {\r\n this._role = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "productOrder_Response_SET", "definition": "/// <summary>\r\n/// &lt;empty description&gt;\r\n/// </summary>\r\npublic sealed class productOrder_Response_SET\r\n{\r\n \r\n private System.Int32? _iDType;\r\n \r\n private string _accept_Language;\r\n \r\n private string _category;\r\n \r\n private string _type;\r\n \r\n private ProductOrderItem[] _productOrderItem;\r\n \r\n private System.DateTime? _requestedStartDate;\r\n \r\n private string _x_ms_client_request_id;\r\n \r\n private System.Int32? _id;\r\n \r\n private System.DateTime? _requestedCompletionDate;\r\n \r\n private string _state;\r\n \r\n private OrderRelationship[] _orderRelationship;\r\n \r\n /// <summary>\r\n /// Признак передачи внешнего значения ID\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"IDType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? IDType\r\n {\r\n get\r\n {\r\n return this._iDType;\r\n }\r\n set\r\n {\r\n this._iDType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Указание языка для набора multi-language данных\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"Accept-Language\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string Accept_Language\r\n {\r\n get\r\n {\r\n return this._accept_Language;\r\n }\r\n set\r\n {\r\n this._accept_Language = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Используется для категоризации заказа в системе управления заказами.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"category\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string category\r\n {\r\n get\r\n {\r\n return this._category;\r\n }\r\n set\r\n {\r\n this._category = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Атрибут @type представляет фактический тип класса сущности.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Элементы ProductOrder содержат параметры, которые нужно выполнить с продуктом по этому заказу\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOrderItem\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ProductOrderItem[] productOrderItem\r\n {\r\n get\r\n {\r\n return this._productOrderItem;\r\n }\r\n set\r\n {\r\n this._productOrderItem = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Дата начала действия заказа, желаемого инициатором\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"requestedStartDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? requestedStartDate\r\n {\r\n get\r\n {\r\n return this._requestedStartDate;\r\n }\r\n set\r\n {\r\n this._requestedStartDate = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Уникальный идентификатор поискового запроса, используется для операции GET.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"x-ms-client-request-id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string x_ms_client_request_id\r\n {\r\n get\r\n {\r\n return this._x_ms_client_request_id;\r\n }\r\n set\r\n {\r\n this._x_ms_client_request_id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Уникальный идентификатор ProductOrder\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Дата вступления в силу операции (отличается от текущей для операций в прошлом)\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"requestedCompletionDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? requestedCompletionDate\r\n {\r\n get\r\n {\r\n return this._requestedCompletionDate;\r\n }\r\n set\r\n {\r\n this._requestedCompletionDate = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Состояние заказа в соответствии с жизненным циклом\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"state\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string state\r\n {\r\n get\r\n {\r\n return this._state;\r\n }\r\n set\r\n {\r\n this._state = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Массив элементов дочернего заказа предназначен для отражения иерархических отношений услуг, которые должны быть созданы из ProductOrder на основе спецификации каталога продуктов, а именно «перекрестной ссылки» для отслеживания дочернего заказа (a Customer Facing Service).\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"orderRelationship\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public OrderRelationship[] orderRelationship\r\n {\r\n get\r\n {\r\n return this._orderRelationship;\r\n }\r\n set\r\n {\r\n this._orderRelationship = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ProductOrder_Response_GET_OUTPUT", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class ProductOrder_Response_GET_OUTPUT\r\n{\r\n \r\n private string _category;\r\n \r\n private ProductOrderItem[] _productOrderItem;\r\n \r\n private System.Int64? _id;\r\n \r\n private OrderRelationship[] _orderRelationship;\r\n \r\n private string _state;\r\n \r\n private System.Int32? _x_Total_Count;\r\n \r\n private RelatedParty[] _relatedParty;\r\n \r\n private System.DateTime? _requestedStartDate;\r\n \r\n /// <summary>\r\n /// Used to categorize the order from order management system. LOV: value, provided by BSS template\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"category\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string category\r\n {\r\n get\r\n {\r\n return this._category;\r\n }\r\n set\r\n {\r\n this._category = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A ProductOrder items contain parameters to be performed on a productOffering or a product. LOV: A List of object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOrderItem\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ProductOrderItem[] productOrderItem\r\n {\r\n get\r\n {\r\n return this._productOrderItem;\r\n }\r\n set\r\n {\r\n this._productOrderItem = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Unique identifier of ProductOrder . LOV: An identifier of Agreements from BSS\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int64? id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The array of child order items is intended to reflect a hierarchical relationship of the services to be instantiated from the productOrder on base the product catalog specification, namely “cross-ref” to keep track of the child order (a Customer Facing Service). LOV: A List of object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"orderRelationship\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public OrderRelationship[] orderRelationship\r\n {\r\n get\r\n {\r\n return this._orderRelationship;\r\n }\r\n set\r\n {\r\n this._orderRelationship = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The state of task according to the lifecycle. LOV: terminatedWithError, accepted, InProgress, done\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"state\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string state\r\n {\r\n get\r\n {\r\n return this._state;\r\n }\r\n set\r\n {\r\n this._state = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// the total number of matching records (server paging). LOV: integer greater than zero\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"X-Total-Count\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? X_Total_Count\r\n {\r\n get\r\n {\r\n return this._x_Total_Count;\r\n }\r\n set\r\n {\r\n this._x_Total_Count = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A Related Party for this operation. LOV: A List of object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"relatedParty\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public RelatedParty[] relatedParty\r\n {\r\n get\r\n {\r\n return this._relatedParty;\r\n }\r\n set\r\n {\r\n this._relatedParty = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// No description\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"requestedStartDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? requestedStartDate\r\n {\r\n get\r\n {\r\n return this._requestedStartDate;\r\n }\r\n set\r\n {\r\n this._requestedStartDate = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ProductOrder_Response_POST", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class ProductOrder_Response_POST\r\n{\r\n \r\n private System.Int32? _iDType;\r\n \r\n private string _accept_Language;\r\n \r\n private string _category;\r\n \r\n private string _type;\r\n \r\n private ProductOrderItem[] _productOrderItem;\r\n \r\n private System.DateTime? _requestedStartDate;\r\n \r\n private string _x_ms_client_request_id;\r\n \r\n private System.Int64? _id;\r\n \r\n private System.DateTime? _requestedCompletionDate;\r\n \r\n private string _state;\r\n \r\n private OrderRelationship[] _orderRelationship;\r\n \r\n /// <summary>\r\n /// Sign of passing an external ID value. LOV: 1 - external ID, 0 - internal ID\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"IDType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? IDType\r\n {\r\n get\r\n {\r\n return this._iDType;\r\n }\r\n set\r\n {\r\n this._iDType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Specifying a language for a multi-language dataset. LOV: supported value are en-English, uk-Ukrainian, ru-russian\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"Accept-Language\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string Accept_Language\r\n {\r\n get\r\n {\r\n return this._accept_Language;\r\n }\r\n set\r\n {\r\n this._accept_Language = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Used to categorize the order from order management system. LOV: value, provided by BSS template\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"category\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string category\r\n {\r\n get\r\n {\r\n return this._category;\r\n }\r\n set\r\n {\r\n this._category = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The @type attribute represents the actual class type of an entity. LOV: ProductOrder\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A ProductOrder items contain parameters to be performed on a productOffering or a product. LOV: A List of object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOrderItem\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ProductOrderItem[] productOrderItem\r\n {\r\n get\r\n {\r\n return this._productOrderItem;\r\n }\r\n set\r\n {\r\n this._productOrderItem = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Order fulfillment start date wished by the requestor. LOV: Date without time, effective from 0:00\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"requestedStartDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? requestedStartDate\r\n {\r\n get\r\n {\r\n return this._requestedStartDate;\r\n }\r\n set\r\n {\r\n this._requestedStartDate = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A unique identifier for the search request, used for the GET operation.. LOV: generally a GUID value\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"x-ms-client-request-id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string x_ms_client_request_id\r\n {\r\n get\r\n {\r\n return this._x_ms_client_request_id;\r\n }\r\n set\r\n {\r\n this._x_ms_client_request_id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Unique identifier of ProductOrder . LOV: An identifier of Agreements from BSS\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int64? id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Effective Date for operation (differs from current for the past). LOV: Date without time, effective from 0:00\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"requestedCompletionDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? requestedCompletionDate\r\n {\r\n get\r\n {\r\n return this._requestedCompletionDate;\r\n }\r\n set\r\n {\r\n this._requestedCompletionDate = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The state of task according to the lifecycle. LOV: terminatedWithError, accepted, InProgress, done\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"state\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string state\r\n {\r\n get\r\n {\r\n return this._state;\r\n }\r\n set\r\n {\r\n this._state = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The array of child order items is intended to reflect a hierarchical relationship of the services to be instantiated from the productOrder on base the product catalog specification, namely “cross-ref” to keep track of the child order (a Customer Facing Service). LOV: A List of object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"orderRelationship\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public OrderRelationship[] orderRelationship\r\n {\r\n get\r\n {\r\n return this._orderRelationship;\r\n }\r\n set\r\n {\r\n this._orderRelationship = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ProductOrder_Response_PUT", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class ProductOrder_Response_PUT\r\n{\r\n \r\n private System.Int32? _iDType;\r\n \r\n private string _accept_Language;\r\n \r\n private string _category;\r\n \r\n private string _type;\r\n \r\n private ProductOrderItem[] _productOrderItem;\r\n \r\n private System.DateTime? _requestedStartDate;\r\n \r\n private string _x_ms_client_request_id;\r\n \r\n private System.Int64? _id;\r\n \r\n private System.DateTime? _requestedCompletionDate;\r\n \r\n private string _state;\r\n \r\n private OrderRelationship[] _orderRelationship;\r\n \r\n /// <summary>\r\n /// Sign of passing an external ID value. LOV: 1 - external ID, 0 - internal ID\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"IDType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? IDType\r\n {\r\n get\r\n {\r\n return this._iDType;\r\n }\r\n set\r\n {\r\n this._iDType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Specifying a language for a multi-language dataset. LOV: supported value are en-English, uk-Ukrainian, ru-russian\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"Accept-Language\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string Accept_Language\r\n {\r\n get\r\n {\r\n return this._accept_Language;\r\n }\r\n set\r\n {\r\n this._accept_Language = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Used to categorize the order from order management system. LOV: value, provided by BSS template\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"category\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string category\r\n {\r\n get\r\n {\r\n return this._category;\r\n }\r\n set\r\n {\r\n this._category = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The @type attribute represents the actual class type of an entity. LOV: ProductOrder\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A ProductOrder items contain parameters to be performed on a productOffering or a product. LOV: A List of object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOrderItem\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ProductOrderItem[] productOrderItem\r\n {\r\n get\r\n {\r\n return this._productOrderItem;\r\n }\r\n set\r\n {\r\n this._productOrderItem = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Order fulfillment start date wished by the requestor. LOV: Date without time, effective from 0:00\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"requestedStartDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? requestedStartDate\r\n {\r\n get\r\n {\r\n return this._requestedStartDate;\r\n }\r\n set\r\n {\r\n this._requestedStartDate = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A unique identifier for the search request, used for the GET operation.. LOV: generally a GUID value\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"x-ms-client-request-id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string x_ms_client_request_id\r\n {\r\n get\r\n {\r\n return this._x_ms_client_request_id;\r\n }\r\n set\r\n {\r\n this._x_ms_client_request_id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Unique identifier of ProductOrder . LOV: An identifier of Agreements from BSS\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int64? id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Effective Date for operation (differs from current for the past). LOV: Date without time, effective from 0:00\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"requestedCompletionDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? requestedCompletionDate\r\n {\r\n get\r\n {\r\n return this._requestedCompletionDate;\r\n }\r\n set\r\n {\r\n this._requestedCompletionDate = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The state of task according to the lifecycle. LOV: terminatedWithError, accepted, InProgress, done\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"state\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string state\r\n {\r\n get\r\n {\r\n return this._state;\r\n }\r\n set\r\n {\r\n this._state = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The array of child order items is intended to reflect a hierarchical relationship of the services to be instantiated from the productOrder on base the product catalog specification, namely “cross-ref” to keep track of the child order (a Customer Facing Service). LOV: A List of object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"orderRelationship\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public OrderRelationship[] orderRelationship\r\n {\r\n get\r\n {\r\n return this._orderRelationship;\r\n }\r\n set\r\n {\r\n this._orderRelationship = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }] [] - [ { "name": "HandleException", "initCode": "Error HandleException (\n\t\tPassingResult prevData\n\t) \n {\n try\n {\n //investigate the Exception \n Logger.LogInformation($\"Exception name : {prevData.Exception?.GetType()?.Name}\");\n\n Error result = new Error(){ status = \"500\"};\n if (prevData.Exception != null)\n {\n result = prevData.Exception.GetError(\"500\");\n }\n \n int statusCode = 500;\n int.TryParse(result?.status, out statusCode);\n \n WorkflowEnvironment.Variables[\"StatusCode\"] = 500; \n if (WorkflowEnvironment.Variables.TryGetValue (\"HttpResponse\", out object httpResponseObj))\n {\n Microsoft.AspNetCore.Http.HttpResponse response = httpResponseObj as Microsoft.AspNetCore.Http.HttpResponse;\n response.StatusCode = statusCode;\n } \n return result;\n }\n catch (Exception e) \n {\n Logger.LogError($\"HandleException:: error {e}\");\n if (WorkflowEnvironment.Variables.TryGetValue (\"HttpResponse\", out object httpResponseObj))\n {\n Microsoft.AspNetCore.Http.HttpResponse response = httpResponseObj as Microsoft.AspNetCore.Http.HttpResponse;\n //Parameters.x_ms_client_request_id\n response.StatusCode = 500;\n } \n return new Error() \n { \n status = \"500\",\n message = $\"Error while handle error ! {e.Message}\"\n };\n }\n }", "initParameters": [ { "name": "Result", "type": "Error" }, { "name": "prevData", "type": "PassingResult", "required": true } ] }, { "name": "POST_p_ucp_set_ProductOrder", "initCode": "ProductOrder_Response_SET POST_p_ucp_set_ProductOrder (\n\t\tstring x_ms_client_request_id,\n\t\tInt id,\n\t\tstring state,\n\t\tstring category,\n\t\tstring atype,\n\t\tstring priority,\n\t\tInt? IsCheckBallance,\n\t\tdatetime? requestedCompletionDate,\n\t\tdatetime? requestedStartDate,\n\t\tInt? IsExternalID,\n\t\tstring Lang,\n\t\tstring ErrFormat,\n\t\tstring externalId,\n\t\tstring channel,\n\t\tstring note,\n\t\tstring productOrderItem,\n\t\tstring relatedParty,\n\t\tstring orderRelationship\n\t) \n {\n Parameters.log = \"{\";\n var p = new DynamicParameters();\n p.Add(\"x_ms_client_request_id\", value: x_ms_client_request_id, dbType: DbType.String, direction:ParameterDirection.InputOutput, size: 32);\n p.Add(\"id\", value: id, dbType: DbType.Int32, direction: ParameterDirection.InputOutput);\n p.Add(\"state\", value: state, dbType: DbType.String, direction: ParameterDirection.InputOutput, size:20);\n p.Add(\"category\", value: category, dbType: DbType.String, direction: ParameterDirection.InputOutput, size: 200);\n p.Add(\"atype\", value: atype, dbType: DbType.String, direction: ParameterDirection.InputOutput, size: 50);\n p.Add(\"priority\", value: priority, dbType: DbType.String, size: 10);\n p.Add(\"IsCheckBallance\", value: IsCheckBallance, dbType: DbType.Int32);\n p.Add(\"requestedCompletionDate\", value: requestedCompletionDate, direction: ParameterDirection.InputOutput, dbType: DbType.DateTime, size: 24);\n p.Add(\"requestedStartDate\", value: requestedStartDate, dbType: DbType.DateTime, direction: ParameterDirection.InputOutput, size: 24);\n p.Add(\"IsExternalID\", value: IsExternalID, dbType: DbType.Int32,direction: ParameterDirection.InputOutput);\n p.Add(\"Lang\", value: Lang, dbType: DbType.String, direction: ParameterDirection.InputOutput, size: 3);\n p.Add(\"ErrFormat\", value: ErrFormat, dbType: DbType.String, size: 25);\n p.Add(\"externalId\", value: externalId, dbType: DbType.String, size: -1);\n p.Add(\"channel\", value: channel, dbType: DbType.String, size: -1);\n p.Add(\"note\", value: note, dbType: DbType.String, size: -1);\n p.Add(\"productOrderItem\", value: productOrderItem, dbType: DbType.String, direction: ParameterDirection.InputOutput, size: -1);\n p.Add(\"relatedParty\", value: relatedParty, dbType: DbType.String, size: -1);\n p.Add(\"orderRelationship\", value: orderRelationship, dbType: DbType.String, direction: ParameterDirection.InputOutput, size: -1);\n\n\n\n string unibillConnection = Parameters.sqlConnectionString;\n var procedure = \"[dbo].[p_ucp_set_ProductOrder]\";\n using (var connection = new SqlConnection(unibillConnection))\n {\n connection.Execute(procedure, p, commandType: CommandType.StoredProcedure,commandTimeout:0);\n //connection.Execute(procedure, p, commandType: CommandType.StoredProcedure);\n }\n \n Logger.LogInformation($\"\");\n ProductOrder_Response_SET result = new ProductOrder_Response_SET();\n result.productOrderItem = new JSON(p.Get<string>(\"productOrderItem\")).Cast<ProductOrderItem[]>();\n result.requestedStartDate = p.Get<DateTime?>(\"requestedStartDate\").GetValueOrDefault();\n result.requestedCompletionDate = p.Get<DateTime?>(\"requestedCompletionDate\").GetValueOrDefault();\n result.category = p.Get<string>(\"category\");\n// Parameters.log += $\"\\\"id\\\":\\\"{p.Get<int?>(\"id\").GetValueOrDefault()}\\\"\\n\";\n// Parameters.log += $\"\\\"id_str\\\":\\\"{p.Get<string>(\"id\")}\\\"\\n\";\n result.id = p.Get<int?>(\"id\").GetValueOrDefault();\n result.IDType = p.Get<int?>(\"IsExternalID\").GetValueOrDefault();\n result.orderRelationship = new JSON(p.Get<string>(\"orderRelationship\")).Cast<OrderRelationship[]>();\n result.state = p.Get<string>(\"state\");\n result.type = p.Get<string>(\"atype\");\n\n \n WorkflowEnvironment.Variables[\"StatusCode\"] = \"201\";\n if (WorkflowEnvironment.RuntimeName == \"Plugin\")\n {\n if (WorkflowEnvironment.Variables.TryGetValue(\"HttpResponse\", out object httpResponseObj))\n {\n Microsoft.AspNetCore.Http.HttpResponse response = httpResponseObj as Microsoft.AspNetCore.Http.HttpResponse;\n response.StatusCode = 201;\n response.Headers[\"x_ms_client_request_id\"] = p.Get<string>(\"x_ms_client_request_id\");\n response.Headers[\"Accept-Language\"] = p.Get<string>(\"Lang\");\n }\n }\n else\n {\n result.x_ms_client_request_id = p.Get<string>(\"x_ms_client_request_id\");\n result.Accept_Language = p.Get<string>(\"Lang\");\n }\n Parameters.log += \"}\";\n\n return result;\n \n }", "initParameters": [ { "name": "Result", "type": "ProductOrder_Response_SET" }, { "name": "x_ms_client_request_id", "type": "string", "required": false }, { "name": "id", "type": "Int", "required": false }, { "name": "state", "type": "string", "required": false }, { "name": "category", "type": "string", "required": false }, { "name": "atype", "type": "string", "required": false }, { "name": "priority", "type": "string", "required": false }, { "name": "IsCheckBallance", "type": "Int?", "required": false }, { "name": "requestedCompletionDate", "type": "datetime?", "required": false }, { "name": "requestedStartDate", "type": "datetime?", "required": false }, { "name": "IsExternalID", "type": "Int?", "required": false }, { "name": "Lang", "type": "string", "required": false }, { "name": "ErrFormat", "type": "string", "required": false }, { "name": "externalId", "type": "string", "required": false }, { "name": "channel", "type": "string", "required": false }, { "name": "note", "type": "string", "required": false }, { "name": "productOrderItem", "type": "string", "required": false }, { "name": "relatedParty", "type": "string", "required": false }, { "name": "orderRelationship", "type": "string", "required": false } ] }, { "name": "get_Note", "initCode": "Note[] get_Note (\n\t) \n {\n string v_author = null;\n string v_hostname = null;\n Note[] notes = null;\n \n if (this.WorkflowEnvironment.Variables.TryGetValue(\"ConfigString\", out object configStr))\n {\n var configJson = new JSON(configStr).Cast<ServiceConfig>();\n if(!string.IsNullOrEmpty(configJson?.ConnectionString))\n {\n Parameters.sqlConnectionString = configJson.ConnectionString;\n }\n \n }; \n \n if(WorkflowEnvironment.RuntimeName == \"Plugin\")\n {\n if (this.WorkflowEnvironment.Variables.TryGetValue(\"ApiContext\", out object apiContextObj))\n {\n IApiContext apiContext = apiContextObj as IApiContext;\n v_author = apiContext.DataBag.UserName;\n v_hostname = apiContext.DataBag.From;\n }\n\t\t\t\tvar note = Input.note?.Select(n => new Note()\n\t\t\t\t{\n\t\t\t\t\tauthor = n.author,\n\t\t\t\t\thostname = n.hostname,\n\t\t\t\t\ttext = n.text\n\t\t\t\t})?.FirstOrDefault() ?? new Note();\n\t\t\t\t\n\t\t\t\tnote.author = v_author;\n\t\t\t\tnote.hostname = v_hostname;\n\t\t\t\t\n notes = new Note[1]{note};\n }\n else\n {\n notes = Input.note; \n }\n \n return notes.ToList(); \n }", "initParameters": [ { "name": "Result", "type": "Note[]" } ] }] + [ { "name": "HandleException", "initCode": "Error HandleException (\n\t\tPassingResult prevData\n\t) \n {\n try\n {\n //investigate the Exception \n Logger.LogInformation($\"Exception name : {prevData.Exception?.GetType()?.Name}\");\n\n Error result = new Error(){ status = \"500\"};\n if (prevData.Exception != null)\n {\n result = prevData.Exception.GetError(\"500\");\n }\n \n int statusCode = 500;\n int.TryParse(result?.status, out statusCode);\n \n WorkflowEnvironment.Variables[\"StatusCode\"] = 500; \n if (WorkflowEnvironment.Variables.TryGetValue (\"HttpResponse\", out object httpResponseObj))\n {\n Microsoft.AspNetCore.Http.HttpResponse response = httpResponseObj as Microsoft.AspNetCore.Http.HttpResponse;\n response.StatusCode = statusCode;\n } \n return result;\n }\n catch (Exception e) \n {\n Logger.LogError($\"HandleException:: error {e}\");\n if (WorkflowEnvironment.Variables.TryGetValue (\"HttpResponse\", out object httpResponseObj))\n {\n Microsoft.AspNetCore.Http.HttpResponse response = httpResponseObj as Microsoft.AspNetCore.Http.HttpResponse;\n //Parameters.x_ms_client_request_id\n response.StatusCode = 500;\n } \n return new Error() \n { \n status = \"500\",\n message = $\"Error while handle error ! {e.Message}\"\n };\n }\n }", "initParameters": [ { "name": "Result", "type": "Error" }, { "name": "prevData", "type": "PassingResult", "required": true } ] }, { "name": "POST_p_ucp_set_ProductOrder", "initCode": "ProductOrder_Response_SET POST_p_ucp_set_ProductOrder (\n\t\tstring x_ms_client_request_id,\n\t\tInt id,\n\t\tstring state,\n\t\tstring category,\n\t\tstring atype,\n\t\tstring priority,\n\t\tInt? IsCheckBallance,\n\t\tdatetime? requestedCompletionDate,\n\t\tdatetime? requestedStartDate,\n\t\tInt? IsExternalID,\n\t\tstring Lang,\n\t\tstring ErrFormat,\n\t\tstring externalId,\n\t\tstring channel,\n\t\tstring note,\n\t\tstring productOrderItem,\n\t\tstring relatedParty,\n\t\tstring orderRelationship\n\t) \n {\n Parameters.log = \"{\";\n var p = new DynamicParameters();\n p.Add(\"x_ms_client_request_id\", value: x_ms_client_request_id, dbType: DbType.String, direction:ParameterDirection.InputOutput, size: 32);\n p.Add(\"id\", value: id, dbType: DbType.Int32, direction: ParameterDirection.InputOutput);\n p.Add(\"state\", value: state, dbType: DbType.String, direction: ParameterDirection.InputOutput, size:20);\n p.Add(\"category\", value: category, dbType: DbType.String, direction: ParameterDirection.InputOutput, size: 200);\n p.Add(\"atype\", value: atype, dbType: DbType.String, direction: ParameterDirection.InputOutput, size: 50);\n p.Add(\"priority\", value: priority, dbType: DbType.String, size: 10);\n p.Add(\"IsCheckBallance\", value: IsCheckBallance, dbType: DbType.Int32);\n p.Add(\"requestedCompletionDate\", value: requestedCompletionDate, direction: ParameterDirection.InputOutput, dbType: DbType.DateTime, size: 24);\n p.Add(\"requestedStartDate\", value: requestedStartDate, dbType: DbType.DateTime, direction: ParameterDirection.InputOutput, size: 24);\n p.Add(\"IsExternalID\", value: IsExternalID, dbType: DbType.Int32,direction: ParameterDirection.InputOutput);\n p.Add(\"Lang\", value: Lang, dbType: DbType.String, direction: ParameterDirection.InputOutput, size: 3);\n p.Add(\"ErrFormat\", value: ErrFormat, dbType: DbType.String, size: 25);\n p.Add(\"externalId\", value: externalId, dbType: DbType.String, size: -1);\n p.Add(\"channel\", value: channel, dbType: DbType.String, size: -1);\n p.Add(\"note\", value: note, dbType: DbType.String, size: -1);\n p.Add(\"productOrderItem\", value: productOrderItem, dbType: DbType.String, direction: ParameterDirection.InputOutput, size: -1);\n p.Add(\"relatedParty\", value: relatedParty, dbType: DbType.String, size: -1);\n p.Add(\"orderRelationship\", value: orderRelationship, dbType: DbType.String, direction: ParameterDirection.InputOutput, size: -1);\n\n\n\n string dbConnection = Parameters.sqlConnectionString;\n var procedure = \"[dbo].[p_ucp_set_ProductOrder]\";\n using (var connection = new SqlConnection(dbConnection))\n {\n connection.Execute(procedure, p, commandType: CommandType.StoredProcedure,commandTimeout:0);\n //connection.Execute(procedure, p, commandType: CommandType.StoredProcedure);\n }\n \n Logger.LogInformation($\"\");\n ProductOrder_Response_SET result = new ProductOrder_Response_SET();\n result.productOrderItem = new JSON(p.Get<string>(\"productOrderItem\")).Cast<ProductOrderItem[]>();\n result.requestedStartDate = p.Get<DateTime?>(\"requestedStartDate\").GetValueOrDefault();\n result.requestedCompletionDate = p.Get<DateTime?>(\"requestedCompletionDate\").GetValueOrDefault();\n result.category = p.Get<string>(\"category\");\n// Parameters.log += $\"\\\"id\\\":\\\"{p.Get<int?>(\"id\").GetValueOrDefault()}\\\"\\n\";\n// Parameters.log += $\"\\\"id_str\\\":\\\"{p.Get<string>(\"id\")}\\\"\\n\";\n result.id = p.Get<int?>(\"id\").GetValueOrDefault();\n result.IDType = p.Get<int?>(\"IsExternalID\").GetValueOrDefault();\n result.orderRelationship = new JSON(p.Get<string>(\"orderRelationship\")).Cast<OrderRelationship[]>();\n result.state = p.Get<string>(\"state\");\n result.type = p.Get<string>(\"atype\");\n\n \n WorkflowEnvironment.Variables[\"StatusCode\"] = \"201\";\n if (WorkflowEnvironment.RuntimeName == \"Plugin\")\n {\n if (WorkflowEnvironment.Variables.TryGetValue(\"HttpResponse\", out object httpResponseObj))\n {\n Microsoft.AspNetCore.Http.HttpResponse response = httpResponseObj as Microsoft.AspNetCore.Http.HttpResponse;\n response.StatusCode = 201;\n response.Headers[\"x_ms_client_request_id\"] = p.Get<string>(\"x_ms_client_request_id\");\n response.Headers[\"Accept-Language\"] = p.Get<string>(\"Lang\");\n }\n }\n else\n {\n result.x_ms_client_request_id = p.Get<string>(\"x_ms_client_request_id\");\n result.Accept_Language = p.Get<string>(\"Lang\");\n }\n Parameters.log += \"}\";\n\n return result;\n \n }", "initParameters": [ { "name": "Result", "type": "ProductOrder_Response_SET" }, { "name": "x_ms_client_request_id", "type": "string", "required": false }, { "name": "id", "type": "Int", "required": false }, { "name": "state", "type": "string", "required": false }, { "name": "category", "type": "string", "required": false }, { "name": "atype", "type": "string", "required": false }, { "name": "priority", "type": "string", "required": false }, { "name": "IsCheckBallance", "type": "Int?", "required": false }, { "name": "requestedCompletionDate", "type": "datetime?", "required": false }, { "name": "requestedStartDate", "type": "datetime?", "required": false }, { "name": "IsExternalID", "type": "Int?", "required": false }, { "name": "Lang", "type": "string", "required": false }, { "name": "ErrFormat", "type": "string", "required": false }, { "name": "externalId", "type": "string", "required": false }, { "name": "channel", "type": "string", "required": false }, { "name": "note", "type": "string", "required": false }, { "name": "productOrderItem", "type": "string", "required": false }, { "name": "relatedParty", "type": "string", "required": false }, { "name": "orderRelationship", "type": "string", "required": false } ] }, { "name": "get_Note", "initCode": "Note[] get_Note (\n\t) \n {\n string v_author = null;\n string v_hostname = null;\n Note[] notes = null;\n \n if (this.WorkflowEnvironment.Variables.TryGetValue(\"ConfigString\", out object configStr))\n {\n var configJson = new JSON(configStr).Cast<ServiceConfig>();\n if(!string.IsNullOrEmpty(configJson?.ConnectionString))\n {\n Parameters.sqlConnectionString = configJson.ConnectionString;\n }\n \n }; \n \n if(WorkflowEnvironment.RuntimeName == \"Plugin\")\n {\n if (this.WorkflowEnvironment.Variables.TryGetValue(\"ApiContext\", out object apiContextObj))\n {\n IApiContext apiContext = apiContextObj as IApiContext;\n v_author = apiContext.DataBag.UserName;\n v_hostname = apiContext.DataBag.From;\n }\n\t\t\t\tvar note = Input.note?.Select(n => new Note()\n\t\t\t\t{\n\t\t\t\t\tauthor = n.author,\n\t\t\t\t\thostname = n.hostname,\n\t\t\t\t\ttext = n.text\n\t\t\t\t})?.FirstOrDefault() ?? new Note();\n\t\t\t\t\n\t\t\t\tnote.author = v_author;\n\t\t\t\tnote.hostname = v_hostname;\n\t\t\t\t\n notes = new Note[1]{note};\n }\n else\n {\n notes = Input.note; \n }\n \n return notes.ToList(); \n }", "initParameters": [ { "name": "Result", "type": "Note[]" } ] }] [] [ { "name": "RestApi", "initCode": "functions://default/RestApi", "initParameters": [ { "name": "Uri", "type": "Uri", "required": true, "oldName": "Uri", "defaultValue": "http://servername:port/resource" }, { "name": "Method", "type": "string", "required": true, "oldName": "Method", "defaultValue": "GET" }, { "name": "Login", "type": "string", "required": false, "oldName": "Login", "defaultValue": null }, { "name": "Password", "type": "string", "required": false, "oldName": "Password", "defaultValue": null }, { "name": "Headers", "type": "StringDictionary", "required": false, "oldName": "Headers", "defaultValue": "{\r\n \"Content-Type\":\"application/json;charset=utf-16\",\r\n \"system\":\"204\",\r\n \"global_unique_id\":\"6a297fcb-956e-4228-8c11-017e9bacd629\"\r\n }" }, { "name": "Body", "type": "string", "required": false, "oldName": "Body", "defaultValue": "{}" }, { "name": "Encoding", "type": "string", "required": false, "oldName": "Encoding", "defaultValue": "utf-8" }, { "name": "Result", "type": "HttpResponse", "required": false, "oldName": "Result", "defaultValue": null } ], "oldName": "RestApi" }, { "name": "RestApi_Get", "initCode": "functions://default/RestApi/Get", "initParameters": [ { "name": "Uri", "type": "Uri", "required": true, "oldName": "Uri", "defaultValue": "http://servername:port/resource" }, { "name": "Login", "type": "string", "required": false, "oldName": "Login", "defaultValue": null }, { "name": "Password", "type": "string", "required": false, "oldName": "Password", "defaultValue": null }, { "name": "Headers", "type": "StringDictionary", "required": false, "oldName": "Headers", "defaultValue": "{\r\n \"Content-Type\":\"application/json;charset=utf-16\",\r\n \"system\":\"204\",\r\n \"global_unique_id\":\"6a297fcb-956e-4228-8c11-017e9bacd629\"\r\n }" }, { "name": "Encoding", "type": "string", "required": false, "oldName": "Encoding", "defaultValue": "utf-8" }, { "name": "Result", "type": "HttpResponse", "required": false, "oldName": "Result", "defaultValue": null } ], "oldName": "RestApi_Get" }, { "name": "JsonPath", "initCode": "functions://default//JsonPath", "initParameters": [ { "name": "Response", "type": "HttpResponse", "required": true, "oldName": "Response", "defaultValue": null }, { "name": "Path", "type": "string", "required": false, "oldName": "Path", "defaultValue": "$" }, { "name": "Result", "type": "Json", "required": false, "oldName": "Result", "defaultValue": null } ], "oldName": "JsonPath" }, { "name": "SaveVariable", "initCode": "functions://default//SaveVariable", "initParameters": [ { "name": "VariableName", "type": "string", "required": true, "oldName": "VariableName", "defaultValue": "varName" }, { "name": "Data", "type": "object", "required": true, "oldName": "Data", "defaultValue": "#previous" } ], "oldName": "SaveVariable" }, { "name": "Wait", "initCode": "functions://default//Wait", "initParameters": [ { "name": "millisecondsTimeout", "type": "int", "required": true, "oldName": "millisecondsTimeout", "defaultValue": "1000" } ], "oldName": "Wait" }, { "name": "SQL_Oracle_Query", "initCode": "functions://default//SQL/Oracle/Query", "initParameters": [ { "name": "userID", "type": "string", "required": true, "oldName": "userID", "defaultValue": null }, { "name": "password", "type": "string", "required": false, "oldName": "password", "defaultValue": null }, { "name": "dataSource", "type": "string", "required": false, "oldName": "dataSource", "defaultValue": null }, { "name": "query", "type": "string", "required": false, "oldName": "query", "defaultValue": null }, { "name": "Result", "type": "Collection", "required": false, "oldName": "Result", "defaultValue": null } ], "oldName": "SQL_Oracle_Query" }, { "name": "SQL_Oracle_Command", "initCode": "functions://default//SQL/Oracle/Command", "initParameters": [ { "name": "userID", "type": "string", "required": true, "oldName": "userID", "defaultValue": null }, { "name": "password", "type": "string", "required": false, "oldName": "password", "defaultValue": null }, { "name": "dataSource", "type": "string", "required": false, "oldName": "dataSource", "defaultValue": null }, { "name": "command", "type": "string", "required": false, "oldName": "command", "defaultValue": null }, { "name": "Result", "type": "int", "required": false, "oldName": "Result", "defaultValue": null } ], "oldName": "SQL_Oracle_Command" }] [] - [ { "name": "oracleConfig", "type": "OracleConfig", "initialValue": "{\r\n \"userId\":\"login\",\r\n \"password\":\"password\",\r\n \"dataSource\":\"10.49.1.198:1521/bisdb_prm.kyivstar.ua\"\r\n}\r\n" }, { "name": "httpConfig", "type": "HttpConfig", "initialValue": "{\r\n \"host\":\"https://10.29.101.122\",\r\n \"port\":\"6992\",\r\n \"login\":\"login\",\r\n \"password\":\"password\",\r\n \"encoding\":\"utf-8\",\r\n \"headers\":{\r\n \"Content-Type\":\"application/vnd.api+json\",\r\n \"Accept\":\"application/vnd.api+json\"\r\n }\r\n}\r\n" }, { "name": "sqlConnectionString", "type": "string", "initialValue": "Data Source=sqlserv;Initial Catalog=unibill;User ID=login;Password=password;MultipleActiveResultSets=true;Encrypt=True;TrustServerCertificate=True;Command Timeout=3600" }, { "name": "log", "type": "string", "initialValue": "" }] + [ { "name": "oracleConfig", "type": "OracleConfig", "initialValue": "{\r\n \"userId\":\"login\",\r\n \"password\":\"password\",\r\n \"dataSource\":\"localhost:1521/XEPDB1\"\r\n}\r\n" }, { "name": "httpConfig", "type": "HttpConfig", "initialValue": "{\r\n \"host\":\"https://localhost\",\r\n \"port\":\"6992\",\r\n \"login\":\"login\",\r\n \"password\":\"password\",\r\n \"encoding\":\"utf-8\",\r\n \"headers\":{\r\n \"Content-Type\":\"application/vnd.api+json\",\r\n \"Accept\":\"application/vnd.api+json\"\r\n }\r\n}\r\n" }, { "name": "sqlConnectionString", "type": "string", "initialValue": "Data Source=localhost;Initial Catalog=examples;User ID=login;Password=;MultipleActiveResultSets=true;Encrypt=True;TrustServerCertificate=True;Command Timeout=3600" }, { "name": "log", "type": "string", "initialValue": "" }] { "@type": "ProductOrder", "category": "M2M", "IDType": 0, "IsCheckBallance": 0, "note": [ { "author": "natec/dshershnov", "hostname": "localhost", "text": "This is a M2M product order" } ], "priority": "1", "relatedParty": [ { "@referredType": "Customers", "id": "7702217", "IDType": 0 } ], "requestedCompletionDate": "2023-10-28T02:59:59.997+03:00", "requestedStartDate": "2023-10-28T02:59:59.997+03:00", "ErrFormat": "json", "Accept-Language": "uk", "id": 0, "x-ms-client-request-id": "12345678912345678911", "externalId": [ { "@type": "externalId", "externalIdentifierType": "Extention", "id": "456" } ], "productOrderItem": [ { "id": null, "action": "add", "product": { "productCharacteristic": [ { "id": "ExtentionNumber", "valueType": "String", "value": "0671234568" }, { "id": "Category", "valueType": "Number", "value": 2 }, { "id": "Class", "valueType": "Number", "value": 1 }, { "id": "Status", "valueType": "Number", "value": 2 }, { "id": "StatusModifiedDate", "valueType": "DateTime", "value": "2023-10-10T00:00:00Z" }, { "id": "DateStart", "valueType": "DateTime", "value": "2023-10-10T23:59:59.997Z" }, { "id": "DateEnd", "valueType": "DateTime", "value": "2999-12-31T23:59:59.997Z" }, { "id": "Type", "valueType": "Number", "value": 1 } ], "productSpecification": { "id": "1", "name": "Extention" } } }, { "action": "add", "product": { "productCharacteristic": [ { "id": "PlanGroupID", "valueType": "Number", "value": 152 } ], "productSpecification": { "id": "1", "name": "TariffPlan" } } }, { "action": "add", "product": { "productCharacteristic": [ { "id": "TemplateID", "valueType": "Number", "value": 6229 }, { "id": "DateStart", "valueType": "DateTime", "value": "2023-10-14T00:00:00Z" }, { "id": "DateEnd", "valueType": "DateTime", "value": "2099-12-31T23:59:59.997Z" }, { "id": "TariffBegin", "valueType": "Number", "value": 1 } ], "productSpecification": { "id": "1", "name": "TariffPackage" } } } ]} - { "status": "HttpRequestAttributes", "method": "POST", "examples": { "SUCCESS creating": { "summary": "", "description": "", "value": "{\n \"category\":\"GSM\",\n \"externalId\":[\n {\n \"@type\":\"externalId\",\n \"externalIdentifierType\":\"Extentions\",\n \"id\":\"456\"\n }\n ],\n \"priority\":\"1\",\n \"IDType\":0,\n \"requestedCompletionDate\":\"2023-11-01T00:00:00.000Z\",\n \"requestedStartDate\":\"2023-11-01T00:00:00.000Z\",\n \"note\":[\n {\n \"author\":\"domain+username\",\n \"hostname\":\"192.156.7.77\",\n \"text\":\"This is a GSM product order\"\n }\n ],\n \"productOrderItem\":[\n {\n \"action\":\"add\",\n \"product\":{\n \"productCharacteristic\":[\n {\n \"id\":\"CategoryID\",\n \"@type\":\"Characteristic\",\n \"valueType\":\"Integer\",\n \"value\":2\n },\n {\n \"id\":\"ClassID\",\n \"@type\":\"Characteristic\",\n \"valueType\":\"Integer\",\n \"value\":1\n },\n {\n \"id\":\"StatusID\",\n \"@type\":\"Characteristic\",\n \"valueType\":\"Integer\",\n \"value\":4\n },\n {\n \"id\":\"TypeID\",\n \"@type\":\"Characteristic\",\n \"valueType\":\"Integer\",\n \"value\":1\n },\n {\n \"id\":\"ConnectionPointID\",\n \"@type\":\"Characteristic\",\n \"valueType\":\"Integer\",\n \"value\":1\n },\n {\n \"id\":\"ExtentionNumber\",\n \"@type\":\"Characteristic\",\n \"valueType\":\"String\",\n \"value\":\"38671234567\"\n }\n ],\n \"productSpecification\":{\n \"id\":\"MSISDN\",\n \"@type\":\"ProductSpecificationRef\"\n }\n }\n },\n {\n \"action\":\"add\",\n \"product\":{\n \"productCharacteristic\":[\n {\n \"id\":\"PlanGroupID\",\n \"@type\":\"Characteristic\",\n \"valueType\":\"Integer\",\n \"value\":152\n }\n ],\n \"productSpecification\":{\n \"id\":\"TariffPlan\"\n }\n }\n },\n {\n \"action\":\"add\",\n \"product\":{\n \"productCharacteristic\":[\n {\n \"id\":\"TemplateID\",\n \"@type\":\"Characteristic\",\n \"valueType\":\"Integer\",\n \"value\":6208\n }\n ],\n \"productSpecification\":{\n \"id\":\"TariffPackage\"\n }\n }\n }\n ],\n \"relatedParty\":[\n {\n \"id\":\"7702703\",\n \"@referredType\":\"Customers\"\n }\n ]\n}" }, "MSISDN is binded already": { "summary": "", "description": "", "value": "{\n \"category\":\"GSM\",\n \"externalId\":[\n {\n \"@type\":\"externalId\",\n \"externalIdentifierType\":\"Extentions\",\n \"id\":\"456\"\n }\n ],\n \"priority\":\"1\",\n \"IDType\":0,\n \"requestedCompletionDate\":\"2023-11-01T00:00:00.000Z\",\n \"requestedStartDate\":\"2023-11-01T00:00:00.000Z\",\n \"note\":[\n {\n \"author\":\"domain+username\",\n \"hostname\":\"192.156.7.77\",\n \"text\":\"This is a GSM product order\"\n }\n ],\n \"productOrderItem\":[\n {\n \"action\":\"add\",\n \"product\":{\n \"productCharacteristic\":[\n {\n \"id\":\"CategoryID\",\n \"@type\":\"Characteristic\",\n \"valueType\":\"Integer\",\n \"value\":2\n },\n {\n \"id\":\"ClassID\",\n \"@type\":\"Characteristic\",\n \"valueType\":\"Integer\",\n \"value\":1\n },\n {\n \"id\":\"StatusID\",\n \"@type\":\"Characteristic\",\n \"valueType\":\"Integer\",\n \"value\":4\n },\n {\n \"id\":\"TypeID\",\n \"@type\":\"Characteristic\",\n \"valueType\":\"Integer\",\n \"value\":1\n },\n {\n \"id\":\"ConnectionPointID\",\n \"@type\":\"Characteristic\",\n \"valueType\":\"Integer\",\n \"value\":1\n },\n {\n \"id\":\"ExtentionNumber\",\n \"@type\":\"Characteristic\",\n \"valueType\":\"String\",\n \"value\":\"38671234567\"\n }\n ],\n \"productSpecification\":{\n \"id\":\"MSISDN\",\n \"@type\":\"ProductSpecificationRef\"\n }\n }\n },\n {\n \"action\":\"add\",\n \"product\":{\n \"productCharacteristic\":[\n {\n \"id\":\"PlanGroupID\",\n \"@type\":\"Characteristic\",\n \"valueType\":\"Integer\",\n \"value\":152\n }\n ],\n \"productSpecification\":{\n \"id\":\"TariffPlan\"\n }\n }\n },\n {\n \"action\":\"add\",\n \"product\":{\n \"productCharacteristic\":[\n {\n \"id\":\"TemplateID\",\n \"@type\":\"Characteristic\",\n \"valueType\":\"Integer\",\n \"value\":123\n }\n ],\n \"productSpecification\":{\n \"id\":\"TariffPackage\"\n }\n }\n }\n ],\n \"relatedParty\":[\n {\n \"id\":\"7702209\",\n \"@referredType\":\"Customers\"\n }\n ]\n}" } }} + { "status": "HttpRequestAttributes", "method": "POST", "examples": { "SUCCESS creating": { "summary": "", "description": "", "value": "{\n \"category\":\"GSM\",\n \"externalId\":[\n {\n \"@type\":\"externalId\",\n \"externalIdentifierType\":\"Extentions\",\n \"id\":\"456\"\n }\n ],\n \"priority\":\"1\",\n \"IDType\":0,\n \"requestedCompletionDate\":\"2023-11-01T00:00:00.000Z\",\n \"requestedStartDate\":\"2023-11-01T00:00:00.000Z\",\n \"note\":[\n {\n \"author\":\"domain+username\",\n \"hostname\":\"localhost\",\n \"text\":\"This is a GSM product order\"\n }\n ],\n \"productOrderItem\":[\n {\n \"action\":\"add\",\n \"product\":{\n \"productCharacteristic\":[\n {\n \"id\":\"CategoryID\",\n \"@type\":\"Characteristic\",\n \"valueType\":\"Integer\",\n \"value\":2\n },\n {\n \"id\":\"ClassID\",\n \"@type\":\"Characteristic\",\n \"valueType\":\"Integer\",\n \"value\":1\n },\n {\n \"id\":\"StatusID\",\n \"@type\":\"Characteristic\",\n \"valueType\":\"Integer\",\n \"value\":4\n },\n {\n \"id\":\"TypeID\",\n \"@type\":\"Characteristic\",\n \"valueType\":\"Integer\",\n \"value\":1\n },\n {\n \"id\":\"ConnectionPointID\",\n \"@type\":\"Characteristic\",\n \"valueType\":\"Integer\",\n \"value\":1\n },\n {\n \"id\":\"ExtentionNumber\",\n \"@type\":\"Characteristic\",\n \"valueType\":\"String\",\n \"value\":\"38671234567\"\n }\n ],\n \"productSpecification\":{\n \"id\":\"MSISDN\",\n \"@type\":\"ProductSpecificationRef\"\n }\n }\n },\n {\n \"action\":\"add\",\n \"product\":{\n \"productCharacteristic\":[\n {\n \"id\":\"PlanGroupID\",\n \"@type\":\"Characteristic\",\n \"valueType\":\"Integer\",\n \"value\":152\n }\n ],\n \"productSpecification\":{\n \"id\":\"TariffPlan\"\n }\n }\n },\n {\n \"action\":\"add\",\n \"product\":{\n \"productCharacteristic\":[\n {\n \"id\":\"TemplateID\",\n \"@type\":\"Characteristic\",\n \"valueType\":\"Integer\",\n \"value\":6208\n }\n ],\n \"productSpecification\":{\n \"id\":\"TariffPackage\"\n }\n }\n }\n ],\n \"relatedParty\":[\n {\n \"id\":\"7702703\",\n \"@referredType\":\"Customers\"\n }\n ]\n}" }, "MSISDN is binded already": { "summary": "", "description": "", "value": "{\n \"category\":\"GSM\",\n \"externalId\":[\n {\n \"@type\":\"externalId\",\n \"externalIdentifierType\":\"Extentions\",\n \"id\":\"456\"\n }\n ],\n \"priority\":\"1\",\n \"IDType\":0,\n \"requestedCompletionDate\":\"2023-11-01T00:00:00.000Z\",\n \"requestedStartDate\":\"2023-11-01T00:00:00.000Z\",\n \"note\":[\n {\n \"author\":\"domain+username\",\n \"hostname\":\"localhost\",\n \"text\":\"This is a GSM product order\"\n }\n ],\n \"productOrderItem\":[\n {\n \"action\":\"add\",\n \"product\":{\n \"productCharacteristic\":[\n {\n \"id\":\"CategoryID\",\n \"@type\":\"Characteristic\",\n \"valueType\":\"Integer\",\n \"value\":2\n },\n {\n \"id\":\"ClassID\",\n \"@type\":\"Characteristic\",\n \"valueType\":\"Integer\",\n \"value\":1\n },\n {\n \"id\":\"StatusID\",\n \"@type\":\"Characteristic\",\n \"valueType\":\"Integer\",\n \"value\":4\n },\n {\n \"id\":\"TypeID\",\n \"@type\":\"Characteristic\",\n \"valueType\":\"Integer\",\n \"value\":1\n },\n {\n \"id\":\"ConnectionPointID\",\n \"@type\":\"Characteristic\",\n \"valueType\":\"Integer\",\n \"value\":1\n },\n {\n \"id\":\"ExtentionNumber\",\n \"@type\":\"Characteristic\",\n \"valueType\":\"String\",\n \"value\":\"38671234567\"\n }\n ],\n \"productSpecification\":{\n \"id\":\"MSISDN\",\n \"@type\":\"ProductSpecificationRef\"\n }\n }\n },\n {\n \"action\":\"add\",\n \"product\":{\n \"productCharacteristic\":[\n {\n \"id\":\"PlanGroupID\",\n \"@type\":\"Characteristic\",\n \"valueType\":\"Integer\",\n \"value\":152\n }\n ],\n \"productSpecification\":{\n \"id\":\"TariffPlan\"\n }\n }\n },\n {\n \"action\":\"add\",\n \"product\":{\n \"productCharacteristic\":[\n {\n \"id\":\"TemplateID\",\n \"@type\":\"Characteristic\",\n \"valueType\":\"Integer\",\n \"value\":123\n }\n ],\n \"productSpecification\":{\n \"id\":\"TariffPackage\"\n }\n }\n }\n ],\n \"relatedParty\":[\n {\n \"id\":\"7702209\",\n \"@referredType\":\"Customers\"\n }\n ]\n}" } }} Flow_0xuw6mo diff --git a/tmforum-apis/TMF622_Product_Ordering/TMF622_ProductOrdering.postman_collection.json b/tmforum-apis/TMF622_Product_Ordering/TMF622_ProductOrdering.postman_collection.json index 453447a..3e7f00a 100644 --- a/tmforum-apis/TMF622_Product_Ordering/TMF622_ProductOrdering.postman_collection.json +++ b/tmforum-apis/TMF622_Product_Ordering/TMF622_ProductOrdering.postman_collection.json @@ -66,7 +66,7 @@ ], "body": { "mode": "raw", - "raw": "{\n \"category\":\"GSM\",\n \"externalId\":[\n {\n \"@type\":\"externalId\",\n \"externalIdentifierType\":\"Extentions\",\n \"id\":\"456\"\n }\n ],\n \"priority\":\"1\",\n \"IDType\":0,\n \"requestedCompletionDate\":\"{{getdate}}\",\n \"requestedStartDate\":\"{{getdate}}\",\n \"note\":[\n {\n \"author\":\"domain+username\",\n \"hostname\":\"192.156.7.77\",\n \"text\":\"This is a GSM product order\"\n }\n ],\n \"productOrderItem\":[\n {\n \"action\":\"add\",\n \"product\":{\n \"productCharacteristic\":[\n {\n \"id\":\"CategoryID\",\n \"@type\":\"Characteristic\",\n \"valueType\":\"Integer\",\n \"value\":2\n },\n {\n \"id\":\"ClassID\",\n \"@type\":\"Characteristic\",\n \"valueType\":\"Integer\",\n \"value\":1\n },\n {\n \"id\":\"StatusID\",\n \"@type\":\"Characteristic\",\n \"valueType\":\"Integer\",\n \"value\":4\n },\n {\n \"id\":\"TypeID\",\n \"@type\":\"Characteristic\",\n \"valueType\":\"Integer\",\n \"value\":1\n },\n {\n \"id\":\"ConnectionPointID\",\n \"@type\":\"Characteristic\",\n \"valueType\":\"Integer\",\n \"value\":1\n },\n {\n \"id\":\"ExtentionNumber\",\n \"@type\":\"Characteristic\",\n \"valueType\":\"String\",\n \"value\":\"{{msisdn}}\"\n }\n ],\n \"productSpecification\":{\n \"id\":\"MSISDN\",\n \"@type\":\"ProductSpecificationRef\"\n }\n }\n },\n {\n \"action\":\"add\",\n \"product\":{\n \"productCharacteristic\":[\n {\n \"id\":\"PlanGroupID\",\n \"@type\":\"Characteristic\",\n \"valueType\":\"Integer\",\n \"value\":{{plan_internal_id}}\n }\n ],\n \"productSpecification\":{\n \"id\":\"TariffPlan\"\n }\n }\n },\n {\n \"action\":\"add\",\n \"product\":{\n \"productCharacteristic\":[\n {\n \"id\":\"TemplateID\",\n \"@type\":\"Characteristic\",\n \"valueType\":\"Integer\",\n \"value\":{{package_internal_id}}\n }\n ],\n \"productSpecification\":{\n \"id\":\"TariffPackage\"\n }\n }\n }\n ],\n \"relatedParty\":[\n {\n \"id\":\"{{customer_id}}\",\n \"@referredType\":\"Customers\"\n }\n ]\n}" + "raw": "{\n \"category\":\"GSM\",\n \"externalId\":[\n {\n \"@type\":\"externalId\",\n \"externalIdentifierType\":\"Extentions\",\n \"id\":\"456\"\n }\n ],\n \"priority\":\"1\",\n \"IDType\":0,\n \"requestedCompletionDate\":\"{{getdate}}\",\n \"requestedStartDate\":\"{{getdate}}\",\n \"note\":[\n {\n \"author\":\"domain+username\",\n \"hostname\":\"localhost\",\n \"text\":\"This is a GSM product order\"\n }\n ],\n \"productOrderItem\":[\n {\n \"action\":\"add\",\n \"product\":{\n \"productCharacteristic\":[\n {\n \"id\":\"CategoryID\",\n \"@type\":\"Characteristic\",\n \"valueType\":\"Integer\",\n \"value\":2\n },\n {\n \"id\":\"ClassID\",\n \"@type\":\"Characteristic\",\n \"valueType\":\"Integer\",\n \"value\":1\n },\n {\n \"id\":\"StatusID\",\n \"@type\":\"Characteristic\",\n \"valueType\":\"Integer\",\n \"value\":4\n },\n {\n \"id\":\"TypeID\",\n \"@type\":\"Characteristic\",\n \"valueType\":\"Integer\",\n \"value\":1\n },\n {\n \"id\":\"ConnectionPointID\",\n \"@type\":\"Characteristic\",\n \"valueType\":\"Integer\",\n \"value\":1\n },\n {\n \"id\":\"ExtentionNumber\",\n \"@type\":\"Characteristic\",\n \"valueType\":\"String\",\n \"value\":\"{{msisdn}}\"\n }\n ],\n \"productSpecification\":{\n \"id\":\"MSISDN\",\n \"@type\":\"ProductSpecificationRef\"\n }\n }\n },\n {\n \"action\":\"add\",\n \"product\":{\n \"productCharacteristic\":[\n {\n \"id\":\"PlanGroupID\",\n \"@type\":\"Characteristic\",\n \"valueType\":\"Integer\",\n \"value\":{{plan_internal_id}}\n }\n ],\n \"productSpecification\":{\n \"id\":\"TariffPlan\"\n }\n }\n },\n {\n \"action\":\"add\",\n \"product\":{\n \"productCharacteristic\":[\n {\n \"id\":\"TemplateID\",\n \"@type\":\"Characteristic\",\n \"valueType\":\"Integer\",\n \"value\":{{package_internal_id}}\n }\n ],\n \"productSpecification\":{\n \"id\":\"TariffPackage\"\n }\n }\n }\n ],\n \"relatedParty\":[\n {\n \"id\":\"{{customer_id}}\",\n \"@referredType\":\"Customers\"\n }\n ]\n}" }, "url": { "raw": "{{API}}/api/v2/tmf/productOrder", @@ -109,7 +109,7 @@ ], "body": { "mode": "raw", - "raw": "{\n \"category\":\"GSM\",\n \"externalId\":[\n {\n \"@type\":\"externalId\",\n \"externalIdentifierType\":\"Extentions\",\n \"id\":\"456\"\n }\n ],\n \"priority\":\"1\",\n \"IDType\":0,\n \"requestedCompletionDate\":\"2023-11-01T00:00:00.000Z\",\n \"requestedStartDate\":\"2023-11-01T00:00:00.000Z\",\n \"note\":[\n {\n \"author\":\"domain+username\",\n \"hostname\":\"192.156.7.77\",\n \"text\":\"This is a GSM product order\"\n }\n ],\n \"productOrderItem\":[\n {\n \"action\":\"add\",\n \"product\":{\n \"productCharacteristic\":[\n {\n \"id\":\"CategoryID\",\n \"@type\":\"Characteristic\",\n \"valueType\":\"Integer\",\n \"value\":2\n },\n {\n \"id\":\"ClassID\",\n \"@type\":\"Characteristic\",\n \"valueType\":\"Integer\",\n \"value\":1\n },\n {\n \"id\":\"StatusID\",\n \"@type\":\"Characteristic\",\n \"valueType\":\"Integer\",\n \"value\":4\n },\n {\n \"id\":\"TypeID\",\n \"@type\":\"Characteristic\",\n \"valueType\":\"Integer\",\n \"value\":1\n },\n {\n \"id\":\"ConnectionPointID\",\n \"@type\":\"Characteristic\",\n \"valueType\":\"Integer\",\n \"value\":1\n },\n {\n \"id\":\"ExtentionNumber\",\n \"@type\":\"Characteristic\",\n \"valueType\":\"String\",\n \"value\":\"38671234567\"\n }\n ],\n \"productSpecification\":{\n \"id\":\"MSISDN\",\n \"@type\":\"ProductSpecificationRef\"\n }\n }\n },\n {\n \"action\":\"add\",\n \"product\":{\n \"productCharacteristic\":[\n {\n \"id\":\"PlanGroupID\",\n \"@type\":\"Characteristic\",\n \"valueType\":\"Integer\",\n \"value\":152\n }\n ],\n \"productSpecification\":{\n \"id\":\"TariffPlan\"\n }\n }\n },\n {\n \"action\":\"add\",\n \"product\":{\n \"productCharacteristic\":[\n {\n \"id\":\"TemplateID\",\n \"@type\":\"Characteristic\",\n \"valueType\":\"Integer\",\n \"value\":{{package_internal_id}}\n }\n ],\n \"productSpecification\":{\n \"id\":\"TariffPackage\"\n }\n }\n }\n ],\n \"relatedParty\":[\n {\n \"id\":\"7702209\",\n \"@referredType\":\"Customers\"\n }\n ]\n}" + "raw": "{\n \"category\":\"GSM\",\n \"externalId\":[\n {\n \"@type\":\"externalId\",\n \"externalIdentifierType\":\"Extentions\",\n \"id\":\"456\"\n }\n ],\n \"priority\":\"1\",\n \"IDType\":0,\n \"requestedCompletionDate\":\"2023-11-01T00:00:00.000Z\",\n \"requestedStartDate\":\"2023-11-01T00:00:00.000Z\",\n \"note\":[\n {\n \"author\":\"domain+username\",\n \"hostname\":\"localhost\",\n \"text\":\"This is a GSM product order\"\n }\n ],\n \"productOrderItem\":[\n {\n \"action\":\"add\",\n \"product\":{\n \"productCharacteristic\":[\n {\n \"id\":\"CategoryID\",\n \"@type\":\"Characteristic\",\n \"valueType\":\"Integer\",\n \"value\":2\n },\n {\n \"id\":\"ClassID\",\n \"@type\":\"Characteristic\",\n \"valueType\":\"Integer\",\n \"value\":1\n },\n {\n \"id\":\"StatusID\",\n \"@type\":\"Characteristic\",\n \"valueType\":\"Integer\",\n \"value\":4\n },\n {\n \"id\":\"TypeID\",\n \"@type\":\"Characteristic\",\n \"valueType\":\"Integer\",\n \"value\":1\n },\n {\n \"id\":\"ConnectionPointID\",\n \"@type\":\"Characteristic\",\n \"valueType\":\"Integer\",\n \"value\":1\n },\n {\n \"id\":\"ExtentionNumber\",\n \"@type\":\"Characteristic\",\n \"valueType\":\"String\",\n \"value\":\"38671234567\"\n }\n ],\n \"productSpecification\":{\n \"id\":\"MSISDN\",\n \"@type\":\"ProductSpecificationRef\"\n }\n }\n },\n {\n \"action\":\"add\",\n \"product\":{\n \"productCharacteristic\":[\n {\n \"id\":\"PlanGroupID\",\n \"@type\":\"Characteristic\",\n \"valueType\":\"Integer\",\n \"value\":152\n }\n ],\n \"productSpecification\":{\n \"id\":\"TariffPlan\"\n }\n }\n },\n {\n \"action\":\"add\",\n \"product\":{\n \"productCharacteristic\":[\n {\n \"id\":\"TemplateID\",\n \"@type\":\"Characteristic\",\n \"valueType\":\"Integer\",\n \"value\":{{package_internal_id}}\n }\n ],\n \"productSpecification\":{\n \"id\":\"TariffPackage\"\n }\n }\n }\n ],\n \"relatedParty\":[\n {\n \"id\":\"7702209\",\n \"@referredType\":\"Customers\"\n }\n ]\n}" }, "url": { "raw": "{{API}}/api/v2/tmf/productOrder", @@ -184,7 +184,7 @@ ], "body": { "mode": "raw", - "raw": "{\n \"category\":\"GSM\",\n \"externalId\":[\n {\n \"@type\":\"externalId\",\n \"externalIdentifierType\":\"Extentions\",\n \"id\":\"456\"\n }\n ],\n \"priority\":\"1\",\n \"IDType\":0,\n \"requestedCompletionDate\":\"2023-11-01T00:00:00.000Z\",\n \"requestedStartDate\":\"2023-11-01T00:00:00.000Z\",\n \"note\":[\n {\n \"author\":\"domain+username\",\n \"hostname\":\"192.156.7.77\",\n \"text\":\"This is a GSM product order\"\n }\n ],\n \"productOrderItem\":[\n {\n \"action\":\"add\",\n \"product\":{\n \"productCharacteristic\":[\n {\n \"id\":\"CategoryID\",\n \"@type\":\"Characteristic\",\n \"valueType\":\"Integer\",\n \"value\":2\n },\n {\n \"id\":\"ClassID\",\n \"@type\":\"Characteristic\",\n \"valueType\":\"Integer\",\n \"value\":1\n },\n {\n \"id\":\"StatusID\",\n \"@type\":\"Characteristic\",\n \"valueType\":\"Integer\",\n \"value\":4\n },\n {\n \"id\":\"TypeID\",\n \"@type\":\"Characteristic\",\n \"valueType\":\"Integer\",\n \"value\":1\n },\n {\n \"id\":\"ConnectionPointID\",\n \"@type\":\"Characteristic\",\n \"valueType\":\"Integer\",\n \"value\":1\n },\n {\n \"id\":\"ExtentionNumber\",\n \"@type\":\"Characteristic\",\n \"valueType\":\"String\",\n \"value\":\"38671234560\"\n }\n ],\n \"productSpecification\":{\n \"id\":\"MSISDN\",\n \"@type\":\"ProductSpecificationRef\"\n }\n }\n },\n {\n \"action\":\"add\",\n \"product\":{\n \"productCharacteristic\":[\n {\n \"id\":\"PlanGroupID\",\n \"@type\":\"Characteristic\",\n \"valueType\":\"Integer\",\n \"value\":152\n }\n ],\n \"productSpecification\":{\n \"id\":\"TariffPlan\"\n }\n }\n },\n {\n \"action\":\"add\",\n \"product\":{\n \"productCharacteristic\":[\n {\n \"id\":\"TemplateID\",\n \"@type\":\"Characteristic\",\n \"valueType\":\"Integer\",\n \"value\":{{package_internal_id}}\n }\n ],\n \"productSpecification\":{\n \"id\":\"TariffPackage\"\n }\n }\n }\n ],\n \"relatedParty\":[\n {\n \"id\":\"7702209\",\n \"@referredType\":\"Customers\"\n }\n ]\n}" + "raw": "{\n \"category\":\"GSM\",\n \"externalId\":[\n {\n \"@type\":\"externalId\",\n \"externalIdentifierType\":\"Extentions\",\n \"id\":\"456\"\n }\n ],\n \"priority\":\"1\",\n \"IDType\":0,\n \"requestedCompletionDate\":\"2023-11-01T00:00:00.000Z\",\n \"requestedStartDate\":\"2023-11-01T00:00:00.000Z\",\n \"note\":[\n {\n \"author\":\"domain+username\",\n \"hostname\":\"localhost\",\n \"text\":\"This is a GSM product order\"\n }\n ],\n \"productOrderItem\":[\n {\n \"action\":\"add\",\n \"product\":{\n \"productCharacteristic\":[\n {\n \"id\":\"CategoryID\",\n \"@type\":\"Characteristic\",\n \"valueType\":\"Integer\",\n \"value\":2\n },\n {\n \"id\":\"ClassID\",\n \"@type\":\"Characteristic\",\n \"valueType\":\"Integer\",\n \"value\":1\n },\n {\n \"id\":\"StatusID\",\n \"@type\":\"Characteristic\",\n \"valueType\":\"Integer\",\n \"value\":4\n },\n {\n \"id\":\"TypeID\",\n \"@type\":\"Characteristic\",\n \"valueType\":\"Integer\",\n \"value\":1\n },\n {\n \"id\":\"ConnectionPointID\",\n \"@type\":\"Characteristic\",\n \"valueType\":\"Integer\",\n \"value\":1\n },\n {\n \"id\":\"ExtentionNumber\",\n \"@type\":\"Characteristic\",\n \"valueType\":\"String\",\n \"value\":\"38671234560\"\n }\n ],\n \"productSpecification\":{\n \"id\":\"MSISDN\",\n \"@type\":\"ProductSpecificationRef\"\n }\n }\n },\n {\n \"action\":\"add\",\n \"product\":{\n \"productCharacteristic\":[\n {\n \"id\":\"PlanGroupID\",\n \"@type\":\"Characteristic\",\n \"valueType\":\"Integer\",\n \"value\":152\n }\n ],\n \"productSpecification\":{\n \"id\":\"TariffPlan\"\n }\n }\n },\n {\n \"action\":\"add\",\n \"product\":{\n \"productCharacteristic\":[\n {\n \"id\":\"TemplateID\",\n \"@type\":\"Characteristic\",\n \"valueType\":\"Integer\",\n \"value\":{{package_internal_id}}\n }\n ],\n \"productSpecification\":{\n \"id\":\"TariffPackage\"\n }\n }\n }\n ],\n \"relatedParty\":[\n {\n \"id\":\"7702209\",\n \"@referredType\":\"Customers\"\n }\n ]\n}" }, "url": { "raw": "{{API}}/api/v2/tmf/productOrder", @@ -258,7 +258,7 @@ ], "body": { "mode": "raw", - "raw": "{\n \"category\":\"GSM\",\n \"externalId\":[\n {\n \"@type\":\"externalId\",\n \"externalIdentifierType\":\"Extentions\",\n \"id\":\"456\"\n }\n ],\n \"priority\":\"1\",\n \"IDType\":0,\n \"requestedCompletionDate\":\"{{getdate}}\",\n \"requestedStartDate\":\"{{getdate}}\",\n \"note\":[\n {\n \"author\":\"domain+username\",\n \"hostname\":\"192.156.7.77\",\n \"text\":\"This is a GSM product order\"\n }\n ],\n \"productOrderItem\":[\n {\n \"action\":\"add\",\n \"product\":{\n \"productCharacteristic\":[\n {\n \"id\":\"CategoryID\",\n \"@type\":\"Characteristic\",\n \"valueType\":\"Integer\",\n \"value\":2\n },\n {\n \"id\":\"ClassID\",\n \"@type\":\"Characteristic\",\n \"valueType\":\"Integer\",\n \"value\":1\n },\n {\n \"id\":\"StatusID\",\n \"@type\":\"Characteristic\",\n \"valueType\":\"Integer\",\n \"value\":4\n },\n {\n \"id\":\"TypeID\",\n \"@type\":\"Characteristic\",\n \"valueType\":\"Integer\",\n \"value\":1\n },\n {\n \"id\":\"ConnectionPointID\",\n \"@type\":\"Characteristic\",\n \"valueType\":\"Integer\",\n \"value\":1\n },\n {\n \"id\":\"ExtentionNumber\",\n \"@type\":\"Characteristic\",\n \"valueType\":\"String\",\n \"value\":\"{{msisdn}}\"\n }\n ],\n \"productSpecification\":{\n \"id\":\"MSISDN\",\n \"@type\":\"ProductSpecificationRef\"\n }\n }\n },\n {\n \"action\":\"add\",\n \"product\":{\n \"productCharacteristic\":[\n {\n \"id\":\"PlanGroupID\",\n \"@type\":\"Characteristic\",\n \"valueType\":\"Integer\",\n \"value\":{{plan_internal_id}}\n }\n ],\n \"productSpecification\":{\n \"id\":\"TariffPlan\"\n }\n }\n },\n {\n \"action\":\"add\",\n \"product\":{\n \"productCharacteristic\":[\n {\n \"id\":\"TemplateID\",\n \"@type\":\"Characteristic\",\n \"valueType\":\"Integer\",\n \"value\":{{package_internal_id}}\n }\n ],\n \"productSpecification\":{\n \"id\":\"TariffPackage\"\n }\n }\n }\n ],\n \"relatedParty\":[\n {\n \"id\":\"{{customer_id}}\",\n \"@referredType\":\"Customers\"\n }\n ]\n}" + "raw": "{\n \"category\":\"GSM\",\n \"externalId\":[\n {\n \"@type\":\"externalId\",\n \"externalIdentifierType\":\"Extentions\",\n \"id\":\"456\"\n }\n ],\n \"priority\":\"1\",\n \"IDType\":0,\n \"requestedCompletionDate\":\"{{getdate}}\",\n \"requestedStartDate\":\"{{getdate}}\",\n \"note\":[\n {\n \"author\":\"domain+username\",\n \"hostname\":\"localhost\",\n \"text\":\"This is a GSM product order\"\n }\n ],\n \"productOrderItem\":[\n {\n \"action\":\"add\",\n \"product\":{\n \"productCharacteristic\":[\n {\n \"id\":\"CategoryID\",\n \"@type\":\"Characteristic\",\n \"valueType\":\"Integer\",\n \"value\":2\n },\n {\n \"id\":\"ClassID\",\n \"@type\":\"Characteristic\",\n \"valueType\":\"Integer\",\n \"value\":1\n },\n {\n \"id\":\"StatusID\",\n \"@type\":\"Characteristic\",\n \"valueType\":\"Integer\",\n \"value\":4\n },\n {\n \"id\":\"TypeID\",\n \"@type\":\"Characteristic\",\n \"valueType\":\"Integer\",\n \"value\":1\n },\n {\n \"id\":\"ConnectionPointID\",\n \"@type\":\"Characteristic\",\n \"valueType\":\"Integer\",\n \"value\":1\n },\n {\n \"id\":\"ExtentionNumber\",\n \"@type\":\"Characteristic\",\n \"valueType\":\"String\",\n \"value\":\"{{msisdn}}\"\n }\n ],\n \"productSpecification\":{\n \"id\":\"MSISDN\",\n \"@type\":\"ProductSpecificationRef\"\n }\n }\n },\n {\n \"action\":\"add\",\n \"product\":{\n \"productCharacteristic\":[\n {\n \"id\":\"PlanGroupID\",\n \"@type\":\"Characteristic\",\n \"valueType\":\"Integer\",\n \"value\":{{plan_internal_id}}\n }\n ],\n \"productSpecification\":{\n \"id\":\"TariffPlan\"\n }\n }\n },\n {\n \"action\":\"add\",\n \"product\":{\n \"productCharacteristic\":[\n {\n \"id\":\"TemplateID\",\n \"@type\":\"Characteristic\",\n \"valueType\":\"Integer\",\n \"value\":{{package_internal_id}}\n }\n ],\n \"productSpecification\":{\n \"id\":\"TariffPackage\"\n }\n }\n }\n ],\n \"relatedParty\":[\n {\n \"id\":\"{{customer_id}}\",\n \"@referredType\":\"Customers\"\n }\n ]\n}" }, "url": { "raw": "{{API}}/api/v2/tmf/productOrder", @@ -505,7 +505,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"priority\":\"1\",\r\n \"IDType\":0,\r\n \"requestedCompletionDate\":\"{{effective_date}}\",\r\n \"requestedStartDate\":\"{{effective_date}}\",\r\n \"note\":[\r\n {\r\n \"author\":\"domain+username\",\r\n \"hostname\":\"192.156.7.77\",\r\n \"text\":\"This is Tariff Package change\",\r\n \"@type\":\"Note\"\r\n }\r\n ],\r\n \"productOrderItem\":[\r\n {\r\n \"id\": \"{{msisdn_instance_id}}\",\r\n \"action\":\"change\",\r\n \"product\": {\r\n \"productCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ExtentionNumber\",\r\n \"value\": \"{{new_msisdn}}\",\r\n \"valueType\": \"String\"\r\n }\r\n ],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"MSISDN\",\r\n \"name\": \"MSISDN\"\r\n }\r\n }\r\n }\r\n ]\r\n}" + "raw": "{\r\n \"priority\":\"1\",\r\n \"IDType\":0,\r\n \"requestedCompletionDate\":\"{{effective_date}}\",\r\n \"requestedStartDate\":\"{{effective_date}}\",\r\n \"note\":[\r\n {\r\n \"author\":\"domain+username\",\r\n \"hostname\":\"localhost\",\r\n \"text\":\"This is Tariff Package change\",\r\n \"@type\":\"Note\"\r\n }\r\n ],\r\n \"productOrderItem\":[\r\n {\r\n \"id\": \"{{msisdn_instance_id}}\",\r\n \"action\":\"change\",\r\n \"product\": {\r\n \"productCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ExtentionNumber\",\r\n \"value\": \"{{new_msisdn}}\",\r\n \"valueType\": \"String\"\r\n }\r\n ],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"MSISDN\",\r\n \"name\": \"MSISDN\"\r\n }\r\n }\r\n }\r\n ]\r\n}" }, "url": { "raw": "{{API}}/api/v2/tmf/productOrder/2285544", @@ -549,7 +549,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"priority\":\"1\",\r\n \"IDType\":0,\r\n \"requestedCompletionDate\":\"{{effective_date}}\",\r\n \"requestedStartDate\":\"{{effective_date}}\",\r\n \"note\":[\r\n {\r\n \"author\":\"domain+username\",\r\n \"hostname\":\"192.156.7.77\",\r\n \"text\":\"This is Tariff Package change\",\r\n \"@type\":\"Note\"\r\n }\r\n ],\r\n \"productOrderItem\":[\r\n {\r\n \"id\": \"{{msisdn_instance_id}}\",\r\n \"action\":\"change\",\r\n \"product\": {\r\n \"productCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ExtentionNumber\",\r\n \"value\": \"{{new_msisdn}}\",\r\n \"valueType\": \"String\"\r\n }\r\n ],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"MSISDN\",\r\n \"name\": \"MSISDN\"\r\n }\r\n }\r\n }\r\n ]\r\n}" + "raw": "{\r\n \"priority\":\"1\",\r\n \"IDType\":0,\r\n \"requestedCompletionDate\":\"{{effective_date}}\",\r\n \"requestedStartDate\":\"{{effective_date}}\",\r\n \"note\":[\r\n {\r\n \"author\":\"domain+username\",\r\n \"hostname\":\"localhost\",\r\n \"text\":\"This is Tariff Package change\",\r\n \"@type\":\"Note\"\r\n }\r\n ],\r\n \"productOrderItem\":[\r\n {\r\n \"id\": \"{{msisdn_instance_id}}\",\r\n \"action\":\"change\",\r\n \"product\": {\r\n \"productCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ExtentionNumber\",\r\n \"value\": \"{{new_msisdn}}\",\r\n \"valueType\": \"String\"\r\n }\r\n ],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"MSISDN\",\r\n \"name\": \"MSISDN\"\r\n }\r\n }\r\n }\r\n ]\r\n}" }, "url": { "raw": "{{API}}/api/v2/tmf/productOrder/2285544", @@ -648,7 +648,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"priority\":\"1\",\r\n \"IDType\":0,\r\n \"requestedCompletionDate\":\"{{effective_date}}\",\r\n \"requestedStartDate\":\"{{effective_date}}\",\r\n \"note\":[\r\n {\r\n \"author\":\"domain+username\",\r\n \"hostname\":\"192.156.7.77\",\r\n \"text\":\"This is EDRPOU change\",\r\n \"@type\":\"Note\"\r\n }\r\n ],\r\n \"relatedParty\":[\r\n {\r\n \"id\":\"{{new_customer_id}}\",\r\n \"@referredType\":\"Customers\"\r\n }\r\n ]\r\n}" + "raw": "{\r\n \"priority\":\"1\",\r\n \"IDType\":0,\r\n \"requestedCompletionDate\":\"{{effective_date}}\",\r\n \"requestedStartDate\":\"{{effective_date}}\",\r\n \"note\":[\r\n {\r\n \"author\":\"domain+username\",\r\n \"hostname\":\"localhost\",\r\n \"text\":\"This is EDRPOU change\",\r\n \"@type\":\"Note\"\r\n }\r\n ],\r\n \"relatedParty\":[\r\n {\r\n \"id\":\"{{new_customer_id}}\",\r\n \"@referredType\":\"Customers\"\r\n }\r\n ]\r\n}" }, "url": { "raw": "{{API}}/api/v2/tmf/productOrder/2285544", @@ -708,7 +708,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"priority\":\"1\",\r\n \"IDType\":0,\r\n \"requestedCompletionDate\":\"{{effective_date}}\",\r\n \"requestedStartDate\":\"{{effective_date}}\",\r\n \"note\":[\r\n {\r\n \"author\":\"domain+username\",\r\n \"hostname\":\"192.156.7.77\",\r\n \"text\":\"This is Tariff Package change\",\r\n \"@type\":\"Note\"\r\n }\r\n ],\r\n \"productOrderItem\":[\r\n {\r\n \"id\":\"{{package_instance_id}}\",\r\n \"action\":\"change\",\r\n \"product\":{\r\n \"productCharacteristic\":[\r\n {\r\n \"id\":\"tp_Code\",\r\n \"valueType\":\"String\",\r\n \"value\":{{new_package_external_id}}\r\n }\r\n ],\r\n \"productSpecification\":{\r\n \"id\":\"TariffPackage\"\r\n }\r\n }\r\n }\r\n ]\r\n}" + "raw": "{\r\n \"priority\":\"1\",\r\n \"IDType\":0,\r\n \"requestedCompletionDate\":\"{{effective_date}}\",\r\n \"requestedStartDate\":\"{{effective_date}}\",\r\n \"note\":[\r\n {\r\n \"author\":\"domain+username\",\r\n \"hostname\":\"localhost\",\r\n \"text\":\"This is Tariff Package change\",\r\n \"@type\":\"Note\"\r\n }\r\n ],\r\n \"productOrderItem\":[\r\n {\r\n \"id\":\"{{package_instance_id}}\",\r\n \"action\":\"change\",\r\n \"product\":{\r\n \"productCharacteristic\":[\r\n {\r\n \"id\":\"tp_Code\",\r\n \"valueType\":\"String\",\r\n \"value\":{{new_package_external_id}}\r\n }\r\n ],\r\n \"productSpecification\":{\r\n \"id\":\"TariffPackage\"\r\n }\r\n }\r\n }\r\n ]\r\n}" }, "url": { "raw": "{{API}}/api/v2/tmf/productOrder/2285544", @@ -752,7 +752,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"priority\":\"1\",\r\n \"IDType\":0,\r\n \"requestedCompletionDate\":\"2023-11-01T00:00:00.000Z\",\r\n \"requestedStartDate\":\"2023-11-01T00:00:00.000Z\",\r\n \"note\":[\r\n {\r\n \"author\":\"domain+username\",\r\n \"hostname\":\"192.156.7.77\",\r\n \"text\":\"This is a GSM product order change\",\r\n \"@type\":\"Note\"\r\n }\r\n ],\r\n \"productOrderItem\":[\r\n {\r\n \"id\":\"6295394\",\r\n \"action\":\"change\",\r\n \"product\":{\r\n \"productCharacteristic\":[\r\n {\r\n \"id\":\"tp_Code\",\r\n \"valueType\":\"String\",\r\n \"value\":\"1821205\"\r\n }\r\n ],\r\n \"productSpecification\":{\r\n \"id\":\"TariffPackage\"\r\n }\r\n }\r\n }\r\n ],\r\n \"relatedParty\":[\r\n {\r\n \"id\":\"7702703\",\r\n \"@referredType\":\"Customers\"\r\n }\r\n ]\r\n}" + "raw": "{\r\n \"priority\":\"1\",\r\n \"IDType\":0,\r\n \"requestedCompletionDate\":\"2023-11-01T00:00:00.000Z\",\r\n \"requestedStartDate\":\"2023-11-01T00:00:00.000Z\",\r\n \"note\":[\r\n {\r\n \"author\":\"domain+username\",\r\n \"hostname\":\"localhost\",\r\n \"text\":\"This is a GSM product order change\",\r\n \"@type\":\"Note\"\r\n }\r\n ],\r\n \"productOrderItem\":[\r\n {\r\n \"id\":\"6295394\",\r\n \"action\":\"change\",\r\n \"product\":{\r\n \"productCharacteristic\":[\r\n {\r\n \"id\":\"tp_Code\",\r\n \"valueType\":\"String\",\r\n \"value\":\"1821205\"\r\n }\r\n ],\r\n \"productSpecification\":{\r\n \"id\":\"TariffPackage\"\r\n }\r\n }\r\n }\r\n ],\r\n \"relatedParty\":[\r\n {\r\n \"id\":\"7702703\",\r\n \"@referredType\":\"Customers\"\r\n }\r\n ]\r\n}" }, "url": { "raw": "{{API}}/api/v2/tmf/productOrder/2285690", @@ -863,7 +863,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"priority\":\"1\",\r\n \"IDType\":0,\r\n \"requestedCompletionDate\":\"{{effective_date}}\",\r\n \"requestedStartDate\":\"{{effective_date}}\",\r\n \"note\":[\r\n {\r\n \"author\":\"domain+username\",\r\n \"hostname\":\"192.156.7.77\",\r\n \"text\":\"This is Tariff Package change\",\r\n \"@type\":\"Note\"\r\n }\r\n ],\r\n \"productOrderItem\":[\r\n {\r\n \"id\":\"{{plan_instance_id}}\",\r\n \"action\":\"change\",\r\n \"product\":{\r\n \"productCharacteristic\":[\r\n {\r\n \"id\":\"PlanGroupCode\",\r\n \"valueType\":\"Integer\",\r\n \"value\":{{new_plan_external_id}}\r\n }\r\n ],\r\n \"productSpecification\":{\r\n \"id\":\"TariffPlan\"\r\n }\r\n }\r\n }\r\n ]\r\n}" + "raw": "{\r\n \"priority\":\"1\",\r\n \"IDType\":0,\r\n \"requestedCompletionDate\":\"{{effective_date}}\",\r\n \"requestedStartDate\":\"{{effective_date}}\",\r\n \"note\":[\r\n {\r\n \"author\":\"domain+username\",\r\n \"hostname\":\"localhost\",\r\n \"text\":\"This is Tariff Package change\",\r\n \"@type\":\"Note\"\r\n }\r\n ],\r\n \"productOrderItem\":[\r\n {\r\n \"id\":\"{{plan_instance_id}}\",\r\n \"action\":\"change\",\r\n \"product\":{\r\n \"productCharacteristic\":[\r\n {\r\n \"id\":\"PlanGroupCode\",\r\n \"valueType\":\"Integer\",\r\n \"value\":{{new_plan_external_id}}\r\n }\r\n ],\r\n \"productSpecification\":{\r\n \"id\":\"TariffPlan\"\r\n }\r\n }\r\n }\r\n ]\r\n}" }, "url": { "raw": "{{API}}/api/v2/tmf/productOrder/2285544", @@ -907,7 +907,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"priority\":\"1\",\r\n \"IDType\":0,\r\n \"requestedCompletionDate\":\"{{effective_date}}\",\r\n \"requestedStartDate\":\"{{effective_date}}\",\r\n \"note\":[\r\n {\r\n \"author\":\"domain+username\",\r\n \"hostname\":\"192.156.7.77\",\r\n \"text\":\"This is Tariff Package change\",\r\n \"@type\":\"Note\"\r\n }\r\n ],\r\n \"productOrderItem\":[\r\n {\r\n \"id\":\"{{plan_instance_id}}\",\r\n \"action\":\"change\",\r\n \"product\":{\r\n \"productCharacteristic\":[\r\n {\r\n \"id\":\"PlanGroupCode\",\r\n \"valueType\":\"Integer\",\r\n \"value\":{{new_plan_external_id}}\r\n }\r\n ],\r\n \"productSpecification\":{\r\n \"id\":\"TariffPlan\"\r\n }\r\n }\r\n }\r\n ]\r\n}" + "raw": "{\r\n \"priority\":\"1\",\r\n \"IDType\":0,\r\n \"requestedCompletionDate\":\"{{effective_date}}\",\r\n \"requestedStartDate\":\"{{effective_date}}\",\r\n \"note\":[\r\n {\r\n \"author\":\"domain+username\",\r\n \"hostname\":\"localhost\",\r\n \"text\":\"This is Tariff Package change\",\r\n \"@type\":\"Note\"\r\n }\r\n ],\r\n \"productOrderItem\":[\r\n {\r\n \"id\":\"{{plan_instance_id}}\",\r\n \"action\":\"change\",\r\n \"product\":{\r\n \"productCharacteristic\":[\r\n {\r\n \"id\":\"PlanGroupCode\",\r\n \"valueType\":\"Integer\",\r\n \"value\":{{new_plan_external_id}}\r\n }\r\n ],\r\n \"productSpecification\":{\r\n \"id\":\"TariffPlan\"\r\n }\r\n }\r\n }\r\n ]\r\n}" }, "url": { "raw": "{{API}}/api/v2/tmf/productOrder/2285544", @@ -1250,7 +1250,7 @@ } ], "cookie": [], - "body": "[\r\n{\r\n \"category\": \"PSTN\",\r\n \"productOrderItem\": [\r\n {\r\n \"product\": {\r\n \"name\": \"21727_00780030-0066-0035-3300-310033006200\",\r\n \"@type\": \"ProductValue\",\r\n \"productCharacteristic\": [],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"MSISDN\",\r\n \"name\": \"MSISDN\"\r\n },\r\n \"id\": \"01-21727\"\r\n },\r\n \"id\": \"01-21857\",\r\n \"state\": \"added\",\r\n \"productOrderItemRelationship\": [\r\n {\r\n \"@referredtype\": \"Extentions\",\r\n \"id\": \"21727\",\r\n \"type\": \"cross-ref\"\r\n }\r\n ],\r\n \"@type\": \"ProductOrderItem\"\r\n },\r\n {\r\n \"product\": {\r\n \"name\": \"SIP-Тест\",\r\n \"@type\": \"ProductValue\",\r\n \"productCharacteristic\": [],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"TariffPlan\",\r\n \"name\": \"TariffPlan\"\r\n },\r\n \"id\": \"02-45\"\r\n },\r\n \"id\": \"02-8211\",\r\n \"state\": \"added\",\r\n \"productOrderItemRelationship\": [\r\n {\r\n \"@referredtype\": \"Agreements\",\r\n \"id\": \"8211\",\r\n \"type\": \"cross-ref\"\r\n }\r\n ],\r\n \"@type\": \"ProductOrderItem\"\r\n },\r\n {\r\n \"product\": {\r\n \"name\": \"PSTN Трафик ''SIP-Тест''\",\r\n \"@type\": \"ProductValue\",\r\n \"isBundle\": false,\r\n \"productCharacteristic\": [],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"TariffPackage\",\r\n \"name\": \"TariffPackage\"\r\n },\r\n \"id\": \"03-198\"\r\n },\r\n \"id\": \"03-148974\",\r\n \"state\": \"added\",\r\n \"productOrderItemRelationship\": [\r\n {\r\n \"@referredtype\": \"TemplateSubscriptions\",\r\n \"id\": \"148974\",\r\n \"type\": \"cross-ref\"\r\n }\r\n ],\r\n \"@type\": \"ProductOrderItem\"\r\n },\r\n {\r\n \"product\": {\r\n \"name\": \"PSTN Исходящий местный (Черновцы)\",\r\n \"@type\": \"ProductValue\",\r\n \"isBundle\": false,\r\n \"productCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"lbl_Role\",\r\n \"name\": \"lbl_Role\",\r\n \"value\": \"Discount\",\r\n \"valueType\": \"String\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"tp_Code\",\r\n \"name\": \"tp_Code\",\r\n \"value\": \"30174\",\r\n \"valueType\": \"String\"\r\n }\r\n ],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"TariffPackage\",\r\n \"name\": \"TariffPackage\"\r\n },\r\n \"id\": \"03-587\"\r\n },\r\n \"id\": \"03-148975\",\r\n \"state\": \"added\",\r\n \"productOrderItemRelationship\": [\r\n {\r\n \"@referredtype\": \"TemplateSubscriptions\",\r\n \"id\": \"148975\",\r\n \"type\": \"cross-ref\"\r\n }\r\n ],\r\n \"@type\": \"ProductOrderItem\"\r\n },\r\n {\r\n \"product\": {\r\n \"name\": \"Emergency Free Numbers\",\r\n \"@type\": \"ProductValue\",\r\n \"isBundle\": false,\r\n \"productCharacteristic\": [],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"TariffPackage\",\r\n \"name\": \"TariffPackage\"\r\n },\r\n \"id\": \"03-5642\"\r\n },\r\n \"id\": \"03-243002\",\r\n \"state\": \"added\",\r\n \"productOrderItemRelationship\": [\r\n {\r\n \"@referredtype\": \"TemplateSubscriptions\",\r\n \"id\": \"243002\",\r\n \"type\": \"cross-ref\"\r\n }\r\n ],\r\n \"@type\": \"ProductOrderItem\"\r\n },\r\n {\r\n \"product\": {\r\n \"name\": \"SIP 40\",\r\n \"@type\": \"ProductValue\",\r\n \"isBundle\": false,\r\n \"productCharacteristic\": [],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"TariffPackage\",\r\n \"name\": \"TariffPackage\"\r\n },\r\n \"id\": \"03-190\"\r\n },\r\n \"id\": \"03-148972\",\r\n \"state\": \"added\",\r\n \"productOrderItemRelationship\": [\r\n {\r\n \"@referredtype\": \"TemplateSubscriptions\",\r\n \"id\": \"148972\",\r\n \"type\": \"cross-ref\"\r\n }\r\n ],\r\n \"@type\": \"ProductOrderItem\"\r\n }\r\n ],\r\n \"id\": 8211,\r\n \"orderRelationship\": [\r\n {\r\n \"id\": \"01-302259\",\r\n \"type\": \"cross-ref\",\r\n \"@referredType\": \"Service\"\r\n }\r\n ],\r\n \"state\": \"Completed\"\r\n},\n{\r\n \"category\": \"PSTN\",\r\n \"productOrderItem\": [\r\n {\r\n \"product\": {\r\n \"name\": \"59335_00780030-0030-0030-3700-380064003900\",\r\n \"@type\": \"ProductValue\",\r\n \"productCharacteristic\": [],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"MSISDN\",\r\n \"name\": \"MSISDN\"\r\n },\r\n \"id\": \"01-59335\"\r\n },\r\n \"id\": \"01-59465\",\r\n \"state\": \"added\",\r\n \"productOrderItemRelationship\": [\r\n {\r\n \"@referredtype\": \"Extentions\",\r\n \"id\": \"59335\",\r\n \"type\": \"cross-ref\"\r\n }\r\n ],\r\n \"@type\": \"ProductOrderItem\"\r\n },\r\n {\r\n \"product\": {\r\n \"name\": \"Інтернет/Зона 2\",\r\n \"@type\": \"ProductValue\",\r\n \"productCharacteristic\": [],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"TariffPlan\",\r\n \"name\": \"TariffPlan\"\r\n },\r\n \"id\": \"02-25\"\r\n },\r\n \"id\": \"02-22448\",\r\n \"state\": \"added\",\r\n \"productOrderItemRelationship\": [\r\n {\r\n \"@referredtype\": \"Agreements\",\r\n \"id\": \"22448\",\r\n \"type\": \"cross-ref\"\r\n }\r\n ],\r\n \"@type\": \"ProductOrderItem\"\r\n },\r\n {\r\n \"product\": {\r\n \"name\": \"Абон.плата Інтернет - 4200 грн без ПДВ\",\r\n \"@type\": \"ProductValue\",\r\n \"isBundle\": false,\r\n \"productCharacteristic\": [],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"TariffPackage\",\r\n \"name\": \"TariffPackage\"\r\n },\r\n \"id\": \"03-4283\"\r\n },\r\n \"id\": \"03-118441\",\r\n \"state\": \"added\",\r\n \"productOrderItemRelationship\": [\r\n {\r\n \"@referredtype\": \"TemplateSubscriptions\",\r\n \"id\": \"118441\",\r\n \"type\": \"cross-ref\"\r\n }\r\n ],\r\n \"@type\": \"ProductOrderItem\"\r\n }\r\n ],\r\n \"id\": 22448,\r\n \"orderRelationship\": [\r\n {\r\n \"id\": \"01-316465\",\r\n \"type\": \"cross-ref\",\r\n \"@referredType\": \"Service\"\r\n }\r\n ],\r\n \"state\": \"Completed\"\r\n},\n{\r\n \"category\": \"PSTN\",\r\n \"productOrderItem\": [\r\n {\r\n \"product\": {\r\n \"name\": \"68619_00780030-0032-0031-3900-630066006400\",\r\n \"@type\": \"ProductValue\",\r\n \"productCharacteristic\": [],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"MSISDN\",\r\n \"name\": \"MSISDN\"\r\n },\r\n \"id\": \"01-68619\"\r\n },\r\n \"id\": \"01-68749\",\r\n \"state\": \"added\",\r\n \"productOrderItemRelationship\": [\r\n {\r\n \"@referredtype\": \"Extentions\",\r\n \"id\": \"68619\",\r\n \"type\": \"cross-ref\"\r\n }\r\n ],\r\n \"@type\": \"ProductOrderItem\"\r\n },\r\n {\r\n \"product\": {\r\n \"name\": \"68620_00780030-0037-0066-6600-350064006500\",\r\n \"@type\": \"ProductValue\",\r\n \"productCharacteristic\": [],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"MSISDN\",\r\n \"name\": \"MSISDN\"\r\n },\r\n \"id\": \"01-68620\"\r\n },\r\n \"id\": \"01-68750\",\r\n \"state\": \"added\",\r\n \"productOrderItemRelationship\": [\r\n {\r\n \"@referredtype\": \"Extentions\",\r\n \"id\": \"68620\",\r\n \"type\": \"cross-ref\"\r\n }\r\n ],\r\n \"@type\": \"ProductOrderItem\"\r\n },\r\n {\r\n \"product\": {\r\n \"name\": \"Основний\",\r\n \"@type\": \"ProductValue\",\r\n \"productCharacteristic\": [],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"TariffPlan\",\r\n \"name\": \"TariffPlan\"\r\n },\r\n \"id\": \"02-42\"\r\n },\r\n \"id\": \"02-25835\",\r\n \"state\": \"added\",\r\n \"productOrderItemRelationship\": [\r\n {\r\n \"@referredtype\": \"Agreements\",\r\n \"id\": \"25835\",\r\n \"type\": \"cross-ref\"\r\n }\r\n ],\r\n \"@type\": \"ProductOrderItem\"\r\n },\r\n {\r\n \"product\": {\r\n \"name\": \"PSTN Исходящий местный (Киев)\",\r\n \"@type\": \"ProductValue\",\r\n \"isBundle\": false,\r\n \"productCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"lbl_Role\",\r\n \"name\": \"lbl_Role\",\r\n \"value\": \"Discount\",\r\n \"valueType\": \"String\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"tp_Code\",\r\n \"name\": \"tp_Code\",\r\n \"value\": \"30099\",\r\n \"valueType\": \"String\"\r\n }\r\n ],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"TariffPackage\",\r\n \"name\": \"TariffPackage\"\r\n },\r\n \"id\": \"03-361\"\r\n },\r\n \"id\": \"03-72198\",\r\n \"state\": \"added\",\r\n \"productOrderItemRelationship\": [\r\n {\r\n \"@referredtype\": \"TemplateSubscriptions\",\r\n \"id\": \"72198\",\r\n \"type\": \"cross-ref\"\r\n }\r\n ],\r\n \"@type\": \"ProductOrderItem\"\r\n },\r\n {\r\n \"product\": {\r\n \"name\": \"Пакет  26,25 грн без ПДВ\",\r\n \"@type\": \"ProductValue\",\r\n \"isBundle\": false,\r\n \"productCharacteristic\": [],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"TariffPackage\",\r\n \"name\": \"TariffPackage\"\r\n },\r\n \"id\": \"03-3988\"\r\n },\r\n \"id\": \"03-72201\",\r\n \"state\": \"added\",\r\n \"productOrderItemRelationship\": [\r\n {\r\n \"@referredtype\": \"TemplateSubscriptions\",\r\n \"id\": \"72201\",\r\n \"type\": \"cross-ref\"\r\n }\r\n ],\r\n \"@type\": \"ProductOrderItem\"\r\n },\r\n {\r\n \"product\": {\r\n \"name\": \"Emergency Free Numbers\",\r\n \"@type\": \"ProductValue\",\r\n \"isBundle\": false,\r\n \"productCharacteristic\": [],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"TariffPackage\",\r\n \"name\": \"TariffPackage\"\r\n },\r\n \"id\": \"03-5642\"\r\n },\r\n \"id\": \"03-245940\",\r\n \"state\": \"added\",\r\n \"productOrderItemRelationship\": [\r\n {\r\n \"@referredtype\": \"TemplateSubscriptions\",\r\n \"id\": \"245940\",\r\n \"type\": \"cross-ref\"\r\n }\r\n ],\r\n \"@type\": \"ProductOrderItem\"\r\n },\r\n {\r\n \"product\": {\r\n \"name\": \"PSTN Трафик \\\"Основний\\\"\",\r\n \"@type\": \"ProductValue\",\r\n \"isBundle\": false,\r\n \"productCharacteristic\": [],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"TariffPackage\",\r\n \"name\": \"TariffPackage\"\r\n },\r\n \"id\": \"03-423\"\r\n },\r\n \"id\": \"03-72197\",\r\n \"state\": \"added\",\r\n \"productOrderItemRelationship\": [\r\n {\r\n \"@referredtype\": \"TemplateSubscriptions\",\r\n \"id\": \"72197\",\r\n \"type\": \"cross-ref\"\r\n }\r\n ],\r\n \"@type\": \"ProductOrderItem\"\r\n }\r\n ],\r\n \"id\": 25835,\r\n \"orderRelationship\": [\r\n {\r\n \"id\": \"01-319854\",\r\n \"type\": \"cross-ref\",\r\n \"@referredType\": \"Service\"\r\n }\r\n ],\r\n \"state\": \"Completed\"\r\n},\n{\r\n \"category\": \"PSTN\",\r\n \"productOrderItem\": [\r\n {\r\n \"product\": {\r\n \"name\": \"77704_00780030-0033-0031-3300-370034006100\",\r\n \"@type\": \"ProductValue\",\r\n \"productCharacteristic\": [],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"MSISDN\",\r\n \"name\": \"MSISDN\"\r\n },\r\n \"id\": \"01-77704\"\r\n },\r\n \"id\": \"01-77834\",\r\n \"state\": \"added\",\r\n \"productOrderItemRelationship\": [\r\n {\r\n \"@referredtype\": \"Extentions\",\r\n \"id\": \"77704\",\r\n \"type\": \"cross-ref\"\r\n }\r\n ],\r\n \"@type\": \"ProductOrderItem\"\r\n },\r\n {\r\n \"product\": {\r\n \"name\": \"Основний\",\r\n \"@type\": \"ProductValue\",\r\n \"productCharacteristic\": [],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"TariffPlan\",\r\n \"name\": \"TariffPlan\"\r\n },\r\n \"id\": \"02-42\"\r\n },\r\n \"id\": \"02-29268\",\r\n \"state\": \"added\",\r\n \"productOrderItemRelationship\": [\r\n {\r\n \"@referredtype\": \"Agreements\",\r\n \"id\": \"29268\",\r\n \"type\": \"cross-ref\"\r\n }\r\n ],\r\n \"@type\": \"ProductOrderItem\"\r\n },\r\n {\r\n \"product\": {\r\n \"name\": \"PSTN Исходящий местный (Запорожье) \",\r\n \"@type\": \"ProductValue\",\r\n \"isBundle\": false,\r\n \"productCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"lbl_Role\",\r\n \"name\": \"lbl_Role\",\r\n \"value\": \"Discount\",\r\n \"valueType\": \"String\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"tp_Code\",\r\n \"name\": \"tp_Code\",\r\n \"value\": \"30071\",\r\n \"valueType\": \"String\"\r\n }\r\n ],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"TariffPackage\",\r\n \"name\": \"TariffPackage\"\r\n },\r\n \"id\": \"03-126\"\r\n },\r\n \"id\": \"03-79077\",\r\n \"state\": \"added\",\r\n \"productOrderItemRelationship\": [\r\n {\r\n \"@referredtype\": \"TemplateSubscriptions\",\r\n \"id\": \"79077\",\r\n \"type\": \"cross-ref\"\r\n }\r\n ],\r\n \"@type\": \"ProductOrderItem\"\r\n },\r\n {\r\n \"product\": {\r\n \"name\": \"Пакет  26,25 грн без ПДВ\",\r\n \"@type\": \"ProductValue\",\r\n \"isBundle\": false,\r\n \"productCharacteristic\": [],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"TariffPackage\",\r\n \"name\": \"TariffPackage\"\r\n },\r\n \"id\": \"03-3988\"\r\n },\r\n \"id\": \"03-79095\",\r\n \"state\": \"added\",\r\n \"productOrderItemRelationship\": [\r\n {\r\n \"@referredtype\": \"TemplateSubscriptions\",\r\n \"id\": \"79095\",\r\n \"type\": \"cross-ref\"\r\n }\r\n ],\r\n \"@type\": \"ProductOrderItem\"\r\n },\r\n {\r\n \"product\": {\r\n \"name\": \"Emergency Free Numbers\",\r\n \"@type\": \"ProductValue\",\r\n \"isBundle\": false,\r\n \"productCharacteristic\": [],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"TariffPackage\",\r\n \"name\": \"TariffPackage\"\r\n },\r\n \"id\": \"03-5642\"\r\n },\r\n \"id\": \"03-261976\",\r\n \"state\": \"added\",\r\n \"productOrderItemRelationship\": [\r\n {\r\n \"@referredtype\": \"TemplateSubscriptions\",\r\n \"id\": \"261976\",\r\n \"type\": \"cross-ref\"\r\n }\r\n ],\r\n \"@type\": \"ProductOrderItem\"\r\n },\r\n {\r\n \"product\": {\r\n \"name\": \"PSTN Трафик \\\"Основний\\\"\",\r\n \"@type\": \"ProductValue\",\r\n \"isBundle\": false,\r\n \"productCharacteristic\": [],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"TariffPackage\",\r\n \"name\": \"TariffPackage\"\r\n },\r\n \"id\": \"03-423\"\r\n },\r\n \"id\": \"03-79079\",\r\n \"state\": \"added\",\r\n \"productOrderItemRelationship\": [\r\n {\r\n \"@referredtype\": \"TemplateSubscriptions\",\r\n \"id\": \"79079\",\r\n \"type\": \"cross-ref\"\r\n }\r\n ],\r\n \"@type\": \"ProductOrderItem\"\r\n }\r\n ],\r\n \"id\": 29268,\r\n \"orderRelationship\": [\r\n {\r\n \"id\": \"01-323277\",\r\n \"type\": \"cross-ref\",\r\n \"@referredType\": \"Service\"\r\n }\r\n ],\r\n \"state\": \"Completed\"\r\n},\n{\r\n \"category\": \"PSTN\",\r\n \"productOrderItem\": [\r\n {\r\n \"product\": {\r\n \"name\": \"122613_00780030-0032-0034-6400-300039003600\",\r\n \"@type\": \"ProductValue\",\r\n \"productCharacteristic\": [],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"MSISDN\",\r\n \"name\": \"MSISDN\"\r\n },\r\n \"id\": \"01-122613\"\r\n },\r\n \"id\": \"01-122743\",\r\n \"state\": \"added\",\r\n \"productOrderItemRelationship\": [\r\n {\r\n \"@referredtype\": \"Extentions\",\r\n \"id\": \"122613\",\r\n \"type\": \"cross-ref\"\r\n }\r\n ],\r\n \"@type\": \"ProductOrderItem\"\r\n },\r\n {\r\n \"product\": {\r\n \"name\": \"123677_00780030-0039-0032-6300-320061006300\",\r\n \"@type\": \"ProductValue\",\r\n \"productCharacteristic\": [],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"MSISDN\",\r\n \"name\": \"MSISDN\"\r\n },\r\n \"id\": \"01-123677\"\r\n },\r\n \"id\": \"01-123807\",\r\n \"state\": \"added\",\r\n \"productOrderItemRelationship\": [\r\n {\r\n \"@referredtype\": \"Extentions\",\r\n \"id\": \"123677\",\r\n \"type\": \"cross-ref\"\r\n }\r\n ],\r\n \"@type\": \"ProductOrderItem\"\r\n },\r\n {\r\n \"product\": {\r\n \"name\": \"124531_00780030-0065-0066-3200-390036003800\",\r\n \"@type\": \"ProductValue\",\r\n \"productCharacteristic\": [],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"MSISDN\",\r\n \"name\": \"MSISDN\"\r\n },\r\n \"id\": \"01-124531\"\r\n },\r\n \"id\": \"01-124661\",\r\n \"state\": \"added\",\r\n \"productOrderItemRelationship\": [\r\n {\r\n \"@referredtype\": \"Extentions\",\r\n \"id\": \"124531\",\r\n \"type\": \"cross-ref\"\r\n }\r\n ],\r\n \"@type\": \"ProductOrderItem\"\r\n },\r\n {\r\n \"product\": {\r\n \"name\": \"124532_00780030-0031-0066-3100-660038006100\",\r\n \"@type\": \"ProductValue\",\r\n \"productCharacteristic\": [],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"MSISDN\",\r\n \"name\": \"MSISDN\"\r\n },\r\n \"id\": \"01-124532\"\r\n },\r\n \"id\": \"01-124662\",\r\n \"state\": \"added\",\r\n \"productOrderItemRelationship\": [\r\n {\r\n \"@referredtype\": \"Extentions\",\r\n \"id\": \"124532\",\r\n \"type\": \"cross-ref\"\r\n }\r\n ],\r\n \"@type\": \"ProductOrderItem\"\r\n },\r\n {\r\n \"product\": {\r\n \"name\": \"124533_00780030-0061-0062-6400-640032003600\",\r\n \"@type\": \"ProductValue\",\r\n \"productCharacteristic\": [],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"MSISDN\",\r\n \"name\": \"MSISDN\"\r\n },\r\n \"id\": \"01-124533\"\r\n },\r\n \"id\": \"01-124663\",\r\n \"state\": \"added\",\r\n \"productOrderItemRelationship\": [\r\n {\r\n \"@referredtype\": \"Extentions\",\r\n \"id\": \"124533\",\r\n \"type\": \"cross-ref\"\r\n }\r\n ],\r\n \"@type\": \"ProductOrderItem\"\r\n },\r\n {\r\n \"product\": {\r\n \"name\": \"124534_00780030-0039-0035-3800-390030003900\",\r\n \"@type\": \"ProductValue\",\r\n \"productCharacteristic\": [],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"MSISDN\",\r\n \"name\": \"MSISDN\"\r\n },\r\n \"id\": \"01-124534\"\r\n },\r\n \"id\": \"01-124664\",\r\n \"state\": \"added\",\r\n \"productOrderItemRelationship\": [\r\n {\r\n \"@referredtype\": \"Extentions\",\r\n \"id\": \"124534\",\r\n \"type\": \"cross-ref\"\r\n }\r\n ],\r\n \"@type\": \"ProductOrderItem\"\r\n },\r\n {\r\n \"product\": {\r\n \"name\": \"124535_00780030-0037-0036-6100-390036003600\",\r\n \"@type\": \"ProductValue\",\r\n \"productCharacteristic\": [],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"MSISDN\",\r\n \"name\": \"MSISDN\"\r\n },\r\n \"id\": \"01-124535\"\r\n },\r\n \"id\": \"01-124665\",\r\n \"state\": \"added\",\r\n \"productOrderItemRelationship\": [\r\n {\r\n \"@referredtype\": \"Extentions\",\r\n \"id\": \"124535\",\r\n \"type\": \"cross-ref\"\r\n }\r\n ],\r\n \"@type\": \"ProductOrderItem\"\r\n },\r\n {\r\n \"product\": {\r\n \"name\": \"124536_00780030-0066-0035-3900-320038003600\",\r\n \"@type\": \"ProductValue\",\r\n \"productCharacteristic\": [],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"MSISDN\",\r\n \"name\": \"MSISDN\"\r\n },\r\n \"id\": \"01-124536\"\r\n },\r\n \"id\": \"01-124666\",\r\n \"state\": \"added\",\r\n \"productOrderItemRelationship\": [\r\n {\r\n \"@referredtype\": \"Extentions\",\r\n \"id\": \"124536\",\r\n \"type\": \"cross-ref\"\r\n }\r\n ],\r\n \"@type\": \"ProductOrderItem\"\r\n },\r\n {\r\n \"product\": {\r\n \"name\": \"124537_00780030-0036-0066-3700-650061006500\",\r\n \"@type\": \"ProductValue\",\r\n \"productCharacteristic\": [],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"MSISDN\",\r\n \"name\": \"MSISDN\"\r\n },\r\n \"id\": \"01-124537\"\r\n },\r\n \"id\": \"01-124667\",\r\n \"state\": \"added\",\r\n \"productOrderItemRelationship\": [\r\n {\r\n \"@referredtype\": \"Extentions\",\r\n \"id\": \"124537\",\r\n \"type\": \"cross-ref\"\r\n }\r\n ],\r\n \"@type\": \"ProductOrderItem\"\r\n },\r\n {\r\n \"product\": {\r\n \"name\": \"124737_00780030-0066-0036-6600-640033003100\",\r\n \"@type\": \"ProductValue\",\r\n \"productCharacteristic\": [],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"MSISDN\",\r\n \"name\": \"MSISDN\"\r\n },\r\n \"id\": \"01-124737\"\r\n },\r\n \"id\": \"01-124867\",\r\n \"state\": \"added\",\r\n \"productOrderItemRelationship\": [\r\n {\r\n \"@referredtype\": \"Extentions\",\r\n \"id\": \"124737\",\r\n \"type\": \"cross-ref\"\r\n }\r\n ],\r\n \"@type\": \"ProductOrderItem\"\r\n },\r\n {\r\n \"product\": {\r\n \"name\": \"SIP-Тест\",\r\n \"@type\": \"ProductValue\",\r\n \"productCharacteristic\": [],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"TariffPlan\",\r\n \"name\": \"TariffPlan\"\r\n },\r\n \"id\": \"02-45\"\r\n },\r\n \"id\": \"02-46012\",\r\n \"state\": \"added\",\r\n \"productOrderItemRelationship\": [\r\n {\r\n \"@referredtype\": \"Agreements\",\r\n \"id\": \"46012\",\r\n \"type\": \"cross-ref\"\r\n }\r\n ],\r\n \"@type\": \"ProductOrderItem\"\r\n },\r\n {\r\n \"product\": {\r\n \"name\": \"TSU 3G 0,456 ГРН з ПДВ\",\r\n \"@type\": \"ProductValue\",\r\n \"isBundle\": false,\r\n \"productCharacteristic\": [],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"TariffPackage\",\r\n \"name\": \"TariffPackage\"\r\n },\r\n \"id\": \"03-5169\"\r\n },\r\n \"id\": \"03-170126\",\r\n \"state\": \"added\",\r\n \"productOrderItemRelationship\": [\r\n {\r\n \"@referredtype\": \"TemplateSubscriptions\",\r\n \"id\": \"170126\",\r\n \"type\": \"cross-ref\"\r\n }\r\n ],\r\n \"@type\": \"ProductOrderItem\"\r\n },\r\n {\r\n \"product\": {\r\n \"name\": \"Ukrtelecom 0,38 ГРН без ПДВ\",\r\n \"@type\": \"ProductValue\",\r\n \"isBundle\": false,\r\n \"productCharacteristic\": [],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"TariffPackage\",\r\n \"name\": \"TariffPackage\"\r\n },\r\n \"id\": \"03-5140\"\r\n },\r\n \"id\": \"03-170125\",\r\n \"state\": \"added\",\r\n \"productOrderItemRelationship\": [\r\n {\r\n \"@referredtype\": \"TemplateSubscriptions\",\r\n \"id\": \"170125\",\r\n \"type\": \"cross-ref\"\r\n }\r\n ],\r\n \"@type\": \"ProductOrderItem\"\r\n },\r\n {\r\n \"product\": {\r\n \"name\": \"Astelit 0,38 ГРН без ПДВ\",\r\n \"@type\": \"ProductValue\",\r\n \"isBundle\": false,\r\n \"productCharacteristic\": [],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"TariffPackage\",\r\n \"name\": \"TariffPackage\"\r\n },\r\n \"id\": \"03-5117\"\r\n },\r\n \"id\": \"03-170124\",\r\n \"state\": \"added\",\r\n \"productOrderItemRelationship\": [\r\n {\r\n \"@referredtype\": \"TemplateSubscriptions\",\r\n \"id\": \"170124\",\r\n \"type\": \"cross-ref\"\r\n }\r\n ],\r\n \"@type\": \"ProductOrderItem\"\r\n },\r\n {\r\n \"product\": {\r\n \"name\": \"PSTN Трафик ''SIP-Тест''\",\r\n \"@type\": \"ProductValue\",\r\n \"isBundle\": false,\r\n \"productCharacteristic\": [],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"TariffPackage\",\r\n \"name\": \"TariffPackage\"\r\n },\r\n \"id\": \"03-198\"\r\n },\r\n \"id\": \"03-170128\",\r\n \"state\": \"added\",\r\n \"productOrderItemRelationship\": [\r\n {\r\n \"@referredtype\": \"TemplateSubscriptions\",\r\n \"id\": \"170128\",\r\n \"type\": \"cross-ref\"\r\n }\r\n ],\r\n \"@type\": \"ProductOrderItem\"\r\n },\r\n {\r\n \"product\": {\r\n \"name\": \"Пакет АП 30 грн без ПДВ\",\r\n \"@type\": \"ProductValue\",\r\n \"isBundle\": false,\r\n \"productCharacteristic\": [],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"TariffPackage\",\r\n \"name\": \"TariffPackage\"\r\n },\r\n \"id\": \"03-5597\"\r\n },\r\n \"id\": \"03-179194\",\r\n \"state\": \"added\",\r\n \"productOrderItemRelationship\": [\r\n {\r\n \"@referredtype\": \"TemplateSubscriptions\",\r\n \"id\": \"179194\",\r\n \"type\": \"cross-ref\"\r\n }\r\n ],\r\n \"@type\": \"ProductOrderItem\"\r\n },\r\n {\r\n \"product\": {\r\n \"name\": \"MTS 0,38 ГРН без ПДВ\",\r\n \"@type\": \"ProductValue\",\r\n \"isBundle\": false,\r\n \"productCharacteristic\": [],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"TariffPackage\",\r\n \"name\": \"TariffPackage\"\r\n },\r\n \"id\": \"03-5103\"\r\n },\r\n \"id\": \"03-170121\",\r\n \"state\": \"added\",\r\n \"productOrderItemRelationship\": [\r\n {\r\n \"@referredtype\": \"TemplateSubscriptions\",\r\n \"id\": \"170121\",\r\n \"type\": \"cross-ref\"\r\n }\r\n ],\r\n \"@type\": \"ProductOrderItem\"\r\n },\r\n {\r\n \"product\": {\r\n \"name\": \"Cellular Network Kyivstar GSM 0,18 ГРН без ПДВ\",\r\n \"@type\": \"ProductValue\",\r\n \"isBundle\": false,\r\n \"productCharacteristic\": [],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"TariffPackage\",\r\n \"name\": \"TariffPackage\"\r\n },\r\n \"id\": \"03-5203\"\r\n },\r\n \"id\": \"03-170127\",\r\n \"state\": \"added\",\r\n \"productOrderItemRelationship\": [\r\n {\r\n \"@referredtype\": \"TemplateSubscriptions\",\r\n \"id\": \"170127\",\r\n \"type\": \"cross-ref\"\r\n }\r\n ],\r\n \"@type\": \"ProductOrderItem\"\r\n },\r\n {\r\n \"product\": {\r\n \"name\": \"Emergency Free Numbers\",\r\n \"@type\": \"ProductValue\",\r\n \"isBundle\": false,\r\n \"productCharacteristic\": [],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"TariffPackage\",\r\n \"name\": \"TariffPackage\"\r\n },\r\n \"id\": \"03-5642\"\r\n },\r\n \"id\": \"03-238640\",\r\n \"state\": \"added\",\r\n \"productOrderItemRelationship\": [\r\n {\r\n \"@referredtype\": \"TemplateSubscriptions\",\r\n \"id\": \"238640\",\r\n \"type\": \"cross-ref\"\r\n }\r\n ],\r\n \"@type\": \"ProductOrderItem\"\r\n },\r\n {\r\n \"product\": {\r\n \"name\": \"PSTN Исходящий местный (Одесса)\",\r\n \"@type\": \"ProductValue\",\r\n \"isBundle\": false,\r\n \"productCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"lbl_Role\",\r\n \"name\": \"lbl_Role\",\r\n \"value\": \"Discount\",\r\n \"valueType\": \"String\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"tp_Code\",\r\n \"name\": \"tp_Code\",\r\n \"value\": \"30152\",\r\n \"valueType\": \"String\"\r\n }\r\n ],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"TariffPackage\",\r\n \"name\": \"TariffPackage\"\r\n },\r\n \"id\": \"03-561\"\r\n },\r\n \"id\": \"03-170129\",\r\n \"state\": \"added\",\r\n \"productOrderItemRelationship\": [\r\n {\r\n \"@referredtype\": \"TemplateSubscriptions\",\r\n \"id\": \"170129\",\r\n \"type\": \"cross-ref\"\r\n }\r\n ],\r\n \"@type\": \"ProductOrderItem\"\r\n },\r\n {\r\n \"product\": {\r\n \"name\": \"Intertelecom 0,38 ГРН без ПДВ\",\r\n \"@type\": \"ProductValue\",\r\n \"isBundle\": false,\r\n \"productCharacteristic\": [],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"TariffPackage\",\r\n \"name\": \"TariffPackage\"\r\n },\r\n \"id\": \"03-5155\"\r\n },\r\n \"id\": \"03-170147\",\r\n \"state\": \"added\",\r\n \"productOrderItemRelationship\": [\r\n {\r\n \"@referredtype\": \"TemplateSubscriptions\",\r\n \"id\": \"170147\",\r\n \"type\": \"cross-ref\"\r\n }\r\n ],\r\n \"@type\": \"ProductOrderItem\"\r\n }\r\n ],\r\n \"id\": 46012,\r\n \"orderRelationship\": [\r\n {\r\n \"id\": \"01-339704\",\r\n \"type\": \"cross-ref\",\r\n \"@referredType\": \"Service\"\r\n }\r\n ],\r\n \"state\": \"Completed\"\r\n},\n{\r\n \"category\": \"FTTB\",\r\n \"id\": 53770,\r\n \"orderRelationship\": [\r\n {\r\n \"id\": \"01-357390\",\r\n \"type\": \"cross-ref\",\r\n \"@referredType\": \"Service\"\r\n }\r\n ],\r\n \"state\": \"Completed\"\r\n},\n{\r\n \"category\": \"GSM\",\r\n \"productOrderItem\": [\r\n {\r\n \"product\": {\r\n \"name\": \"2045728_00780030-0066-0039-3100-620034003000\",\r\n \"@type\": \"ProductValue\",\r\n \"productCharacteristic\": [],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"MSISDN\",\r\n \"name\": \"MSISDN\"\r\n },\r\n \"id\": \"01-2045728\"\r\n },\r\n \"id\": \"01-2047839\",\r\n \"state\": \"added\",\r\n \"productOrderItemRelationship\": [\r\n {\r\n \"@referredtype\": \"Extentions\",\r\n \"id\": \"2045728\",\r\n \"type\": \"cross-ref\"\r\n }\r\n ],\r\n \"@type\": \"ProductOrderItem\"\r\n },\r\n {\r\n \"product\": {\r\n \"name\": \"Киевстар Семья\",\r\n \"@type\": \"ProductValue\",\r\n \"productCharacteristic\": [],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"TariffPlan\",\r\n \"name\": \"TariffPlan\"\r\n },\r\n \"id\": \"02-66\"\r\n },\r\n \"id\": \"02-1394999\",\r\n \"state\": \"added\",\r\n \"productOrderItemRelationship\": [\r\n {\r\n \"@referredtype\": \"Agreements\",\r\n \"id\": \"1394999\",\r\n \"type\": \"cross-ref\"\r\n }\r\n ],\r\n \"@type\": \"ProductOrderItem\"\r\n }\r\n ],\r\n \"id\": 1394999,\r\n \"orderRelationship\": [\r\n {\r\n \"id\": \"01-3026998\",\r\n \"type\": \"cross-ref\",\r\n \"@referredType\": \"Service\"\r\n }\r\n ],\r\n \"state\": \"Completed\"\r\n},\n{\r\n \"category\": \"GSM\",\r\n \"productOrderItem\": [\r\n {\r\n \"product\": {\r\n \"name\": \"2045729_00780030-0038-0061-3600-360066003300\",\r\n \"@type\": \"ProductValue\",\r\n \"productCharacteristic\": [],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"MSISDN\",\r\n \"name\": \"MSISDN\"\r\n },\r\n \"id\": \"01-2045729\"\r\n },\r\n \"id\": \"01-2047840\",\r\n \"state\": \"added\",\r\n \"productOrderItemRelationship\": [\r\n {\r\n \"@referredtype\": \"Extentions\",\r\n \"id\": \"2045729\",\r\n \"type\": \"cross-ref\"\r\n }\r\n ],\r\n \"@type\": \"ProductOrderItem\"\r\n },\r\n {\r\n \"product\": {\r\n \"name\": \"Киевстар Семья\",\r\n \"@type\": \"ProductValue\",\r\n \"productCharacteristic\": [],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"TariffPlan\",\r\n \"name\": \"TariffPlan\"\r\n },\r\n \"id\": \"02-66\"\r\n },\r\n \"id\": \"02-1395000\",\r\n \"state\": \"added\",\r\n \"productOrderItemRelationship\": [\r\n {\r\n \"@referredtype\": \"Agreements\",\r\n \"id\": \"1395000\",\r\n \"type\": \"cross-ref\"\r\n }\r\n ],\r\n \"@type\": \"ProductOrderItem\"\r\n }\r\n ],\r\n \"id\": 1395000,\r\n \"orderRelationship\": [\r\n {\r\n \"id\": \"01-3026999\",\r\n \"type\": \"cross-ref\",\r\n \"@referredType\": \"Service\"\r\n }\r\n ],\r\n \"state\": \"Completed\"\r\n},\n{\r\n \"category\": \"GSM\",\r\n \"productOrderItem\": [\r\n {\r\n \"product\": {\r\n \"name\": \"2045730_00780030-0039-0065-3300-640034006400\",\r\n \"@type\": \"ProductValue\",\r\n \"productCharacteristic\": [],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"MSISDN\",\r\n \"name\": \"MSISDN\"\r\n },\r\n \"id\": \"01-2045730\"\r\n },\r\n \"id\": \"01-2047841\",\r\n \"state\": \"added\",\r\n \"productOrderItemRelationship\": [\r\n {\r\n \"@referredtype\": \"Extentions\",\r\n \"id\": \"2045730\",\r\n \"type\": \"cross-ref\"\r\n }\r\n ],\r\n \"@type\": \"ProductOrderItem\"\r\n },\r\n {\r\n \"product\": {\r\n \"name\": \"Smart+ (ММС)\",\r\n \"@type\": \"ProductValue\",\r\n \"productCharacteristic\": [],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"TariffPlan\",\r\n \"name\": \"TariffPlan\"\r\n },\r\n \"id\": \"02-55\"\r\n },\r\n \"id\": \"02-1395001\",\r\n \"state\": \"added\",\r\n \"productOrderItemRelationship\": [\r\n {\r\n \"@referredtype\": \"Agreements\",\r\n \"id\": \"1395001\",\r\n \"type\": \"cross-ref\"\r\n }\r\n ],\r\n \"@type\": \"ProductOrderItem\"\r\n }\r\n ],\r\n \"id\": 1395001,\r\n \"orderRelationship\": [\r\n {\r\n \"id\": \"01-3027000\",\r\n \"type\": \"cross-ref\",\r\n \"@referredType\": \"Service\"\r\n }\r\n ],\r\n \"state\": \"Completed\"\r\n},\n{\r\n \"category\": \"GSM\",\r\n \"productOrderItem\": [\r\n {\r\n \"product\": {\r\n \"name\": \"2045731_00780030-0065-0066-3900-660031006200\",\r\n \"@type\": \"ProductValue\",\r\n \"productCharacteristic\": [],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"MSISDN\",\r\n \"name\": \"MSISDN\"\r\n },\r\n \"id\": \"01-2045731\"\r\n },\r\n \"id\": \"01-2047842\",\r\n \"state\": \"added\",\r\n \"productOrderItemRelationship\": [\r\n {\r\n \"@referredtype\": \"Extentions\",\r\n \"id\": \"2045731\",\r\n \"type\": \"cross-ref\"\r\n }\r\n ],\r\n \"@type\": \"ProductOrderItem\"\r\n },\r\n {\r\n \"product\": {\r\n \"name\": \"Smart+ (ММС)\",\r\n \"@type\": \"ProductValue\",\r\n \"productCharacteristic\": [],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"TariffPlan\",\r\n \"name\": \"TariffPlan\"\r\n },\r\n \"id\": \"02-55\"\r\n },\r\n \"id\": \"02-1395002\",\r\n \"state\": \"added\",\r\n \"productOrderItemRelationship\": [\r\n {\r\n \"@referredtype\": \"Agreements\",\r\n \"id\": \"1395002\",\r\n \"type\": \"cross-ref\"\r\n }\r\n ],\r\n \"@type\": \"ProductOrderItem\"\r\n }\r\n ],\r\n \"id\": 1395002,\r\n \"orderRelationship\": [\r\n {\r\n \"id\": \"01-3027001\",\r\n \"type\": \"cross-ref\",\r\n \"@referredType\": \"Service\"\r\n }\r\n ],\r\n \"state\": \"Completed\"\r\n}\r\n]\r\n" + "body": "[\r\n{\r\n \"category\": \"PSTN\",\r\n \"productOrderItem\": [\r\n {\r\n \"product\": {\r\n \"name\": \"21727_00780030-0066-0035-3300-310033006200\",\r\n \"@type\": \"ProductValue\",\r\n \"productCharacteristic\": [],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"MSISDN\",\r\n \"name\": \"MSISDN\"\r\n },\r\n \"id\": \"01-21727\"\r\n },\r\n \"id\": \"01-21857\",\r\n \"state\": \"added\",\r\n \"productOrderItemRelationship\": [\r\n {\r\n \"@referredtype\": \"Extentions\",\r\n \"id\": \"21727\",\r\n \"type\": \"cross-ref\"\r\n }\r\n ],\r\n \"@type\": \"ProductOrderItem\"\r\n },\r\n {\r\n \"product\": {\r\n \"name\": \"SIP-Тест\",\r\n \"@type\": \"ProductValue\",\r\n \"productCharacteristic\": [],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"TariffPlan\",\r\n \"name\": \"TariffPlan\"\r\n },\r\n \"id\": \"02-45\"\r\n },\r\n \"id\": \"02-8211\",\r\n \"state\": \"added\",\r\n \"productOrderItemRelationship\": [\r\n {\r\n \"@referredtype\": \"Agreements\",\r\n \"id\": \"8211\",\r\n \"type\": \"cross-ref\"\r\n }\r\n ],\r\n \"@type\": \"ProductOrderItem\"\r\n },\r\n {\r\n \"product\": {\r\n \"name\": \"PSTN Трафик ''SIP-Тест''\",\r\n \"@type\": \"ProductValue\",\r\n \"isBundle\": false,\r\n \"productCharacteristic\": [],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"TariffPackage\",\r\n \"name\": \"TariffPackage\"\r\n },\r\n \"id\": \"03-198\"\r\n },\r\n \"id\": \"03-148974\",\r\n \"state\": \"added\",\r\n \"productOrderItemRelationship\": [\r\n {\r\n \"@referredtype\": \"TemplateSubscriptions\",\r\n \"id\": \"148974\",\r\n \"type\": \"cross-ref\"\r\n }\r\n ],\r\n \"@type\": \"ProductOrderItem\"\r\n },\r\n {\r\n \"product\": {\r\n \"name\": \"PSTN Исходящий местный (Черновцы)\",\r\n \"@type\": \"ProductValue\",\r\n \"isBundle\": false,\r\n \"productCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"lbl_Role\",\r\n \"name\": \"lbl_Role\",\r\n \"value\": \"Discount\",\r\n \"valueType\": \"String\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"tp_Code\",\r\n \"name\": \"tp_Code\",\r\n \"value\": \"30174\",\r\n \"valueType\": \"String\"\r\n }\r\n ],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"TariffPackage\",\r\n \"name\": \"TariffPackage\"\r\n },\r\n \"id\": \"03-587\"\r\n },\r\n \"id\": \"03-148975\",\r\n \"state\": \"added\",\r\n \"productOrderItemRelationship\": [\r\n {\r\n \"@referredtype\": \"TemplateSubscriptions\",\r\n \"id\": \"148975\",\r\n \"type\": \"cross-ref\"\r\n }\r\n ],\r\n \"@type\": \"ProductOrderItem\"\r\n },\r\n {\r\n \"product\": {\r\n \"name\": \"Emergency Free Numbers\",\r\n \"@type\": \"ProductValue\",\r\n \"isBundle\": false,\r\n \"productCharacteristic\": [],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"TariffPackage\",\r\n \"name\": \"TariffPackage\"\r\n },\r\n \"id\": \"03-5642\"\r\n },\r\n \"id\": \"03-243002\",\r\n \"state\": \"added\",\r\n \"productOrderItemRelationship\": [\r\n {\r\n \"@referredtype\": \"TemplateSubscriptions\",\r\n \"id\": \"243002\",\r\n \"type\": \"cross-ref\"\r\n }\r\n ],\r\n \"@type\": \"ProductOrderItem\"\r\n },\r\n {\r\n \"product\": {\r\n \"name\": \"SIP 40\",\r\n \"@type\": \"ProductValue\",\r\n \"isBundle\": false,\r\n \"productCharacteristic\": [],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"TariffPackage\",\r\n \"name\": \"TariffPackage\"\r\n },\r\n \"id\": \"03-190\"\r\n },\r\n \"id\": \"03-148972\",\r\n \"state\": \"added\",\r\n \"productOrderItemRelationship\": [\r\n {\r\n \"@referredtype\": \"TemplateSubscriptions\",\r\n \"id\": \"148972\",\r\n \"type\": \"cross-ref\"\r\n }\r\n ],\r\n \"@type\": \"ProductOrderItem\"\r\n }\r\n ],\r\n \"id\": 8211,\r\n \"orderRelationship\": [\r\n {\r\n \"id\": \"01-302259\",\r\n \"type\": \"cross-ref\",\r\n \"@referredType\": \"Service\"\r\n }\r\n ],\r\n \"state\": \"Completed\"\r\n},\n{\r\n \"category\": \"PSTN\",\r\n \"productOrderItem\": [\r\n {\r\n \"product\": {\r\n \"name\": \"59335_00780030-0030-0030-3700-380064003900\",\r\n \"@type\": \"ProductValue\",\r\n \"productCharacteristic\": [],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"MSISDN\",\r\n \"name\": \"MSISDN\"\r\n },\r\n \"id\": \"01-59335\"\r\n },\r\n \"id\": \"01-59465\",\r\n \"state\": \"added\",\r\n \"productOrderItemRelationship\": [\r\n {\r\n \"@referredtype\": \"Extentions\",\r\n \"id\": \"59335\",\r\n \"type\": \"cross-ref\"\r\n }\r\n ],\r\n \"@type\": \"ProductOrderItem\"\r\n },\r\n {\r\n \"product\": {\r\n \"name\": \"Інтернет/Зона 2\",\r\n \"@type\": \"ProductValue\",\r\n \"productCharacteristic\": [],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"TariffPlan\",\r\n \"name\": \"TariffPlan\"\r\n },\r\n \"id\": \"02-25\"\r\n },\r\n \"id\": \"02-22448\",\r\n \"state\": \"added\",\r\n \"productOrderItemRelationship\": [\r\n {\r\n \"@referredtype\": \"Agreements\",\r\n \"id\": \"22448\",\r\n \"type\": \"cross-ref\"\r\n }\r\n ],\r\n \"@type\": \"ProductOrderItem\"\r\n },\r\n {\r\n \"product\": {\r\n \"name\": \"Абон.плата Інтернет - 4200 грн без ПДВ\",\r\n \"@type\": \"ProductValue\",\r\n \"isBundle\": false,\r\n \"productCharacteristic\": [],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"TariffPackage\",\r\n \"name\": \"TariffPackage\"\r\n },\r\n \"id\": \"03-4283\"\r\n },\r\n \"id\": \"03-118441\",\r\n \"state\": \"added\",\r\n \"productOrderItemRelationship\": [\r\n {\r\n \"@referredtype\": \"TemplateSubscriptions\",\r\n \"id\": \"118441\",\r\n \"type\": \"cross-ref\"\r\n }\r\n ],\r\n \"@type\": \"ProductOrderItem\"\r\n }\r\n ],\r\n \"id\": 22448,\r\n \"orderRelationship\": [\r\n {\r\n \"id\": \"01-316465\",\r\n \"type\": \"cross-ref\",\r\n \"@referredType\": \"Service\"\r\n }\r\n ],\r\n \"state\": \"Completed\"\r\n},\n{\r\n \"category\": \"PSTN\",\r\n \"productOrderItem\": [\r\n {\r\n \"product\": {\r\n \"name\": \"68619_00780030-0032-0031-3900-630066006400\",\r\n \"@type\": \"ProductValue\",\r\n \"productCharacteristic\": [],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"MSISDN\",\r\n \"name\": \"MSISDN\"\r\n },\r\n \"id\": \"01-68619\"\r\n },\r\n \"id\": \"01-68749\",\r\n \"state\": \"added\",\r\n \"productOrderItemRelationship\": [\r\n {\r\n \"@referredtype\": \"Extentions\",\r\n \"id\": \"68619\",\r\n \"type\": \"cross-ref\"\r\n }\r\n ],\r\n \"@type\": \"ProductOrderItem\"\r\n },\r\n {\r\n \"product\": {\r\n \"name\": \"68620_00780030-0037-0066-6600-350064006500\",\r\n \"@type\": \"ProductValue\",\r\n \"productCharacteristic\": [],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"MSISDN\",\r\n \"name\": \"MSISDN\"\r\n },\r\n \"id\": \"01-68620\"\r\n },\r\n \"id\": \"01-68750\",\r\n \"state\": \"added\",\r\n \"productOrderItemRelationship\": [\r\n {\r\n \"@referredtype\": \"Extentions\",\r\n \"id\": \"68620\",\r\n \"type\": \"cross-ref\"\r\n }\r\n ],\r\n \"@type\": \"ProductOrderItem\"\r\n },\r\n {\r\n \"product\": {\r\n \"name\": \"Основний\",\r\n \"@type\": \"ProductValue\",\r\n \"productCharacteristic\": [],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"TariffPlan\",\r\n \"name\": \"TariffPlan\"\r\n },\r\n \"id\": \"02-42\"\r\n },\r\n \"id\": \"02-25835\",\r\n \"state\": \"added\",\r\n \"productOrderItemRelationship\": [\r\n {\r\n \"@referredtype\": \"Agreements\",\r\n \"id\": \"25835\",\r\n \"type\": \"cross-ref\"\r\n }\r\n ],\r\n \"@type\": \"ProductOrderItem\"\r\n },\r\n {\r\n \"product\": {\r\n \"name\": \"PSTN Исходящий местный (Киев)\",\r\n \"@type\": \"ProductValue\",\r\n \"isBundle\": false,\r\n \"productCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"lbl_Role\",\r\n \"name\": \"lbl_Role\",\r\n \"value\": \"Discount\",\r\n \"valueType\": \"String\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"tp_Code\",\r\n \"name\": \"tp_Code\",\r\n \"value\": \"30099\",\r\n \"valueType\": \"String\"\r\n }\r\n ],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"TariffPackage\",\r\n \"name\": \"TariffPackage\"\r\n },\r\n \"id\": \"03-361\"\r\n },\r\n \"id\": \"03-72198\",\r\n \"state\": \"added\",\r\n \"productOrderItemRelationship\": [\r\n {\r\n \"@referredtype\": \"TemplateSubscriptions\",\r\n \"id\": \"72198\",\r\n \"type\": \"cross-ref\"\r\n }\r\n ],\r\n \"@type\": \"ProductOrderItem\"\r\n },\r\n {\r\n \"product\": {\r\n \"name\": \"Пакет  26,25 грн без ПДВ\",\r\n \"@type\": \"ProductValue\",\r\n \"isBundle\": false,\r\n \"productCharacteristic\": [],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"TariffPackage\",\r\n \"name\": \"TariffPackage\"\r\n },\r\n \"id\": \"03-3988\"\r\n },\r\n \"id\": \"03-72201\",\r\n \"state\": \"added\",\r\n \"productOrderItemRelationship\": [\r\n {\r\n \"@referredtype\": \"TemplateSubscriptions\",\r\n \"id\": \"72201\",\r\n \"type\": \"cross-ref\"\r\n }\r\n ],\r\n \"@type\": \"ProductOrderItem\"\r\n },\r\n {\r\n \"product\": {\r\n \"name\": \"Emergency Free Numbers\",\r\n \"@type\": \"ProductValue\",\r\n \"isBundle\": false,\r\n \"productCharacteristic\": [],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"TariffPackage\",\r\n \"name\": \"TariffPackage\"\r\n },\r\n \"id\": \"03-5642\"\r\n },\r\n \"id\": \"03-245940\",\r\n \"state\": \"added\",\r\n \"productOrderItemRelationship\": [\r\n {\r\n \"@referredtype\": \"TemplateSubscriptions\",\r\n \"id\": \"245940\",\r\n \"type\": \"cross-ref\"\r\n }\r\n ],\r\n \"@type\": \"ProductOrderItem\"\r\n },\r\n {\r\n \"product\": {\r\n \"name\": \"PSTN Трафик \\\"Основний\\\"\",\r\n \"@type\": \"ProductValue\",\r\n \"isBundle\": false,\r\n \"productCharacteristic\": [],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"TariffPackage\",\r\n \"name\": \"TariffPackage\"\r\n },\r\n \"id\": \"03-423\"\r\n },\r\n \"id\": \"03-72197\",\r\n \"state\": \"added\",\r\n \"productOrderItemRelationship\": [\r\n {\r\n \"@referredtype\": \"TemplateSubscriptions\",\r\n \"id\": \"72197\",\r\n \"type\": \"cross-ref\"\r\n }\r\n ],\r\n \"@type\": \"ProductOrderItem\"\r\n }\r\n ],\r\n \"id\": 25835,\r\n \"orderRelationship\": [\r\n {\r\n \"id\": \"01-319854\",\r\n \"type\": \"cross-ref\",\r\n \"@referredType\": \"Service\"\r\n }\r\n ],\r\n \"state\": \"Completed\"\r\n},\n{\r\n \"category\": \"PSTN\",\r\n \"productOrderItem\": [\r\n {\r\n \"product\": {\r\n \"name\": \"77704_00780030-0033-0031-3300-370034006100\",\r\n \"@type\": \"ProductValue\",\r\n \"productCharacteristic\": [],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"MSISDN\",\r\n \"name\": \"MSISDN\"\r\n },\r\n \"id\": \"01-77704\"\r\n },\r\n \"id\": \"01-77834\",\r\n \"state\": \"added\",\r\n \"productOrderItemRelationship\": [\r\n {\r\n \"@referredtype\": \"Extentions\",\r\n \"id\": \"77704\",\r\n \"type\": \"cross-ref\"\r\n }\r\n ],\r\n \"@type\": \"ProductOrderItem\"\r\n },\r\n {\r\n \"product\": {\r\n \"name\": \"Основний\",\r\n \"@type\": \"ProductValue\",\r\n \"productCharacteristic\": [],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"TariffPlan\",\r\n \"name\": \"TariffPlan\"\r\n },\r\n \"id\": \"02-42\"\r\n },\r\n \"id\": \"02-29268\",\r\n \"state\": \"added\",\r\n \"productOrderItemRelationship\": [\r\n {\r\n \"@referredtype\": \"Agreements\",\r\n \"id\": \"29268\",\r\n \"type\": \"cross-ref\"\r\n }\r\n ],\r\n \"@type\": \"ProductOrderItem\"\r\n },\r\n {\r\n \"product\": {\r\n \"name\": \"PSTN Исходящий местный (Запорожье) \",\r\n \"@type\": \"ProductValue\",\r\n \"isBundle\": false,\r\n \"productCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"lbl_Role\",\r\n \"name\": \"lbl_Role\",\r\n \"value\": \"Discount\",\r\n \"valueType\": \"String\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"tp_Code\",\r\n \"name\": \"tp_Code\",\r\n \"value\": \"30071\",\r\n \"valueType\": \"String\"\r\n }\r\n ],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"TariffPackage\",\r\n \"name\": \"TariffPackage\"\r\n },\r\n \"id\": \"03-126\"\r\n },\r\n \"id\": \"03-79077\",\r\n \"state\": \"added\",\r\n \"productOrderItemRelationship\": [\r\n {\r\n \"@referredtype\": \"TemplateSubscriptions\",\r\n \"id\": \"79077\",\r\n \"type\": \"cross-ref\"\r\n }\r\n ],\r\n \"@type\": \"ProductOrderItem\"\r\n },\r\n {\r\n \"product\": {\r\n \"name\": \"Пакет  26,25 грн без ПДВ\",\r\n \"@type\": \"ProductValue\",\r\n \"isBundle\": false,\r\n \"productCharacteristic\": [],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"TariffPackage\",\r\n \"name\": \"TariffPackage\"\r\n },\r\n \"id\": \"03-3988\"\r\n },\r\n \"id\": \"03-79095\",\r\n \"state\": \"added\",\r\n \"productOrderItemRelationship\": [\r\n {\r\n \"@referredtype\": \"TemplateSubscriptions\",\r\n \"id\": \"79095\",\r\n \"type\": \"cross-ref\"\r\n }\r\n ],\r\n \"@type\": \"ProductOrderItem\"\r\n },\r\n {\r\n \"product\": {\r\n \"name\": \"Emergency Free Numbers\",\r\n \"@type\": \"ProductValue\",\r\n \"isBundle\": false,\r\n \"productCharacteristic\": [],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"TariffPackage\",\r\n \"name\": \"TariffPackage\"\r\n },\r\n \"id\": \"03-5642\"\r\n },\r\n \"id\": \"03-261976\",\r\n \"state\": \"added\",\r\n \"productOrderItemRelationship\": [\r\n {\r\n \"@referredtype\": \"TemplateSubscriptions\",\r\n \"id\": \"261976\",\r\n \"type\": \"cross-ref\"\r\n }\r\n ],\r\n \"@type\": \"ProductOrderItem\"\r\n },\r\n {\r\n \"product\": {\r\n \"name\": \"PSTN Трафик \\\"Основний\\\"\",\r\n \"@type\": \"ProductValue\",\r\n \"isBundle\": false,\r\n \"productCharacteristic\": [],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"TariffPackage\",\r\n \"name\": \"TariffPackage\"\r\n },\r\n \"id\": \"03-423\"\r\n },\r\n \"id\": \"03-79079\",\r\n \"state\": \"added\",\r\n \"productOrderItemRelationship\": [\r\n {\r\n \"@referredtype\": \"TemplateSubscriptions\",\r\n \"id\": \"79079\",\r\n \"type\": \"cross-ref\"\r\n }\r\n ],\r\n \"@type\": \"ProductOrderItem\"\r\n }\r\n ],\r\n \"id\": 29268,\r\n \"orderRelationship\": [\r\n {\r\n \"id\": \"01-323277\",\r\n \"type\": \"cross-ref\",\r\n \"@referredType\": \"Service\"\r\n }\r\n ],\r\n \"state\": \"Completed\"\r\n},\n{\r\n \"category\": \"PSTN\",\r\n \"productOrderItem\": [\r\n {\r\n \"product\": {\r\n \"name\": \"122613_00780030-0032-0034-6400-300039003600\",\r\n \"@type\": \"ProductValue\",\r\n \"productCharacteristic\": [],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"MSISDN\",\r\n \"name\": \"MSISDN\"\r\n },\r\n \"id\": \"01-122613\"\r\n },\r\n \"id\": \"01-122743\",\r\n \"state\": \"added\",\r\n \"productOrderItemRelationship\": [\r\n {\r\n \"@referredtype\": \"Extentions\",\r\n \"id\": \"122613\",\r\n \"type\": \"cross-ref\"\r\n }\r\n ],\r\n \"@type\": \"ProductOrderItem\"\r\n },\r\n {\r\n \"product\": {\r\n \"name\": \"123677_00780030-0039-0032-6300-320061006300\",\r\n \"@type\": \"ProductValue\",\r\n \"productCharacteristic\": [],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"MSISDN\",\r\n \"name\": \"MSISDN\"\r\n },\r\n \"id\": \"01-123677\"\r\n },\r\n \"id\": \"01-123807\",\r\n \"state\": \"added\",\r\n \"productOrderItemRelationship\": [\r\n {\r\n \"@referredtype\": \"Extentions\",\r\n \"id\": \"123677\",\r\n \"type\": \"cross-ref\"\r\n }\r\n ],\r\n \"@type\": \"ProductOrderItem\"\r\n },\r\n {\r\n \"product\": {\r\n \"name\": \"124531_00780030-0065-0066-3200-390036003800\",\r\n \"@type\": \"ProductValue\",\r\n \"productCharacteristic\": [],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"MSISDN\",\r\n \"name\": \"MSISDN\"\r\n },\r\n \"id\": \"01-124531\"\r\n },\r\n \"id\": \"01-124661\",\r\n \"state\": \"added\",\r\n \"productOrderItemRelationship\": [\r\n {\r\n \"@referredtype\": \"Extentions\",\r\n \"id\": \"124531\",\r\n \"type\": \"cross-ref\"\r\n }\r\n ],\r\n \"@type\": \"ProductOrderItem\"\r\n },\r\n {\r\n \"product\": {\r\n \"name\": \"124532_00780030-0031-0066-3100-660038006100\",\r\n \"@type\": \"ProductValue\",\r\n \"productCharacteristic\": [],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"MSISDN\",\r\n \"name\": \"MSISDN\"\r\n },\r\n \"id\": \"01-124532\"\r\n },\r\n \"id\": \"01-124662\",\r\n \"state\": \"added\",\r\n \"productOrderItemRelationship\": [\r\n {\r\n \"@referredtype\": \"Extentions\",\r\n \"id\": \"124532\",\r\n \"type\": \"cross-ref\"\r\n }\r\n ],\r\n \"@type\": \"ProductOrderItem\"\r\n },\r\n {\r\n \"product\": {\r\n \"name\": \"124533_00780030-0061-0062-6400-640032003600\",\r\n \"@type\": \"ProductValue\",\r\n \"productCharacteristic\": [],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"MSISDN\",\r\n \"name\": \"MSISDN\"\r\n },\r\n \"id\": \"01-124533\"\r\n },\r\n \"id\": \"01-124663\",\r\n \"state\": \"added\",\r\n \"productOrderItemRelationship\": [\r\n {\r\n \"@referredtype\": \"Extentions\",\r\n \"id\": \"124533\",\r\n \"type\": \"cross-ref\"\r\n }\r\n ],\r\n \"@type\": \"ProductOrderItem\"\r\n },\r\n {\r\n \"product\": {\r\n \"name\": \"124534_00780030-0039-0035-3800-390030003900\",\r\n \"@type\": \"ProductValue\",\r\n \"productCharacteristic\": [],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"MSISDN\",\r\n \"name\": \"MSISDN\"\r\n },\r\n \"id\": \"01-124534\"\r\n },\r\n \"id\": \"01-124664\",\r\n \"state\": \"added\",\r\n \"productOrderItemRelationship\": [\r\n {\r\n \"@referredtype\": \"Extentions\",\r\n \"id\": \"124534\",\r\n \"type\": \"cross-ref\"\r\n }\r\n ],\r\n \"@type\": \"ProductOrderItem\"\r\n },\r\n {\r\n \"product\": {\r\n \"name\": \"124535_00780030-0037-0036-6100-390036003600\",\r\n \"@type\": \"ProductValue\",\r\n \"productCharacteristic\": [],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"MSISDN\",\r\n \"name\": \"MSISDN\"\r\n },\r\n \"id\": \"01-124535\"\r\n },\r\n \"id\": \"01-124665\",\r\n \"state\": \"added\",\r\n \"productOrderItemRelationship\": [\r\n {\r\n \"@referredtype\": \"Extentions\",\r\n \"id\": \"124535\",\r\n \"type\": \"cross-ref\"\r\n }\r\n ],\r\n \"@type\": \"ProductOrderItem\"\r\n },\r\n {\r\n \"product\": {\r\n \"name\": \"124536_00780030-0066-0035-3900-320038003600\",\r\n \"@type\": \"ProductValue\",\r\n \"productCharacteristic\": [],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"MSISDN\",\r\n \"name\": \"MSISDN\"\r\n },\r\n \"id\": \"01-124536\"\r\n },\r\n \"id\": \"01-124666\",\r\n \"state\": \"added\",\r\n \"productOrderItemRelationship\": [\r\n {\r\n \"@referredtype\": \"Extentions\",\r\n \"id\": \"124536\",\r\n \"type\": \"cross-ref\"\r\n }\r\n ],\r\n \"@type\": \"ProductOrderItem\"\r\n },\r\n {\r\n \"product\": {\r\n \"name\": \"124537_00780030-0036-0066-3700-650061006500\",\r\n \"@type\": \"ProductValue\",\r\n \"productCharacteristic\": [],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"MSISDN\",\r\n \"name\": \"MSISDN\"\r\n },\r\n \"id\": \"01-124537\"\r\n },\r\n \"id\": \"01-124667\",\r\n \"state\": \"added\",\r\n \"productOrderItemRelationship\": [\r\n {\r\n \"@referredtype\": \"Extentions\",\r\n \"id\": \"124537\",\r\n \"type\": \"cross-ref\"\r\n }\r\n ],\r\n \"@type\": \"ProductOrderItem\"\r\n },\r\n {\r\n \"product\": {\r\n \"name\": \"124737_00780030-0066-0036-6600-640033003100\",\r\n \"@type\": \"ProductValue\",\r\n \"productCharacteristic\": [],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"MSISDN\",\r\n \"name\": \"MSISDN\"\r\n },\r\n \"id\": \"01-124737\"\r\n },\r\n \"id\": \"01-124867\",\r\n \"state\": \"added\",\r\n \"productOrderItemRelationship\": [\r\n {\r\n \"@referredtype\": \"Extentions\",\r\n \"id\": \"124737\",\r\n \"type\": \"cross-ref\"\r\n }\r\n ],\r\n \"@type\": \"ProductOrderItem\"\r\n },\r\n {\r\n \"product\": {\r\n \"name\": \"SIP-Тест\",\r\n \"@type\": \"ProductValue\",\r\n \"productCharacteristic\": [],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"TariffPlan\",\r\n \"name\": \"TariffPlan\"\r\n },\r\n \"id\": \"02-45\"\r\n },\r\n \"id\": \"02-46012\",\r\n \"state\": \"added\",\r\n \"productOrderItemRelationship\": [\r\n {\r\n \"@referredtype\": \"Agreements\",\r\n \"id\": \"46012\",\r\n \"type\": \"cross-ref\"\r\n }\r\n ],\r\n \"@type\": \"ProductOrderItem\"\r\n },\r\n {\r\n \"product\": {\r\n \"name\": \"TSU 3G 0,456 ГРН з ПДВ\",\r\n \"@type\": \"ProductValue\",\r\n \"isBundle\": false,\r\n \"productCharacteristic\": [],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"TariffPackage\",\r\n \"name\": \"TariffPackage\"\r\n },\r\n \"id\": \"03-5169\"\r\n },\r\n \"id\": \"03-170126\",\r\n \"state\": \"added\",\r\n \"productOrderItemRelationship\": [\r\n {\r\n \"@referredtype\": \"TemplateSubscriptions\",\r\n \"id\": \"170126\",\r\n \"type\": \"cross-ref\"\r\n }\r\n ],\r\n \"@type\": \"ProductOrderItem\"\r\n },\r\n {\r\n \"product\": {\r\n \"name\": \"Ukrtelecom 0,38 ГРН без ПДВ\",\r\n \"@type\": \"ProductValue\",\r\n \"isBundle\": false,\r\n \"productCharacteristic\": [],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"TariffPackage\",\r\n \"name\": \"TariffPackage\"\r\n },\r\n \"id\": \"03-5140\"\r\n },\r\n \"id\": \"03-170125\",\r\n \"state\": \"added\",\r\n \"productOrderItemRelationship\": [\r\n {\r\n \"@referredtype\": \"TemplateSubscriptions\",\r\n \"id\": \"170125\",\r\n \"type\": \"cross-ref\"\r\n }\r\n ],\r\n \"@type\": \"ProductOrderItem\"\r\n },\r\n {\r\n \"product\": {\r\n \"name\": \"Astelit 0,38 ГРН без ПДВ\",\r\n \"@type\": \"ProductValue\",\r\n \"isBundle\": false,\r\n \"productCharacteristic\": [],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"TariffPackage\",\r\n \"name\": \"TariffPackage\"\r\n },\r\n \"id\": \"03-5117\"\r\n },\r\n \"id\": \"03-170124\",\r\n \"state\": \"added\",\r\n \"productOrderItemRelationship\": [\r\n {\r\n \"@referredtype\": \"TemplateSubscriptions\",\r\n \"id\": \"170124\",\r\n \"type\": \"cross-ref\"\r\n }\r\n ],\r\n \"@type\": \"ProductOrderItem\"\r\n },\r\n {\r\n \"product\": {\r\n \"name\": \"PSTN Трафик ''SIP-Тест''\",\r\n \"@type\": \"ProductValue\",\r\n \"isBundle\": false,\r\n \"productCharacteristic\": [],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"TariffPackage\",\r\n \"name\": \"TariffPackage\"\r\n },\r\n \"id\": \"03-198\"\r\n },\r\n \"id\": \"03-170128\",\r\n \"state\": \"added\",\r\n \"productOrderItemRelationship\": [\r\n {\r\n \"@referredtype\": \"TemplateSubscriptions\",\r\n \"id\": \"170128\",\r\n \"type\": \"cross-ref\"\r\n }\r\n ],\r\n \"@type\": \"ProductOrderItem\"\r\n },\r\n {\r\n \"product\": {\r\n \"name\": \"Пакет АП 30 грн без ПДВ\",\r\n \"@type\": \"ProductValue\",\r\n \"isBundle\": false,\r\n \"productCharacteristic\": [],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"TariffPackage\",\r\n \"name\": \"TariffPackage\"\r\n },\r\n \"id\": \"03-5597\"\r\n },\r\n \"id\": \"03-179194\",\r\n \"state\": \"added\",\r\n \"productOrderItemRelationship\": [\r\n {\r\n \"@referredtype\": \"TemplateSubscriptions\",\r\n \"id\": \"179194\",\r\n \"type\": \"cross-ref\"\r\n }\r\n ],\r\n \"@type\": \"ProductOrderItem\"\r\n },\r\n {\r\n \"product\": {\r\n \"name\": \"MTS 0,38 ГРН без ПДВ\",\r\n \"@type\": \"ProductValue\",\r\n \"isBundle\": false,\r\n \"productCharacteristic\": [],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"TariffPackage\",\r\n \"name\": \"TariffPackage\"\r\n },\r\n \"id\": \"03-5103\"\r\n },\r\n \"id\": \"03-170121\",\r\n \"state\": \"added\",\r\n \"productOrderItemRelationship\": [\r\n {\r\n \"@referredtype\": \"TemplateSubscriptions\",\r\n \"id\": \"170121\",\r\n \"type\": \"cross-ref\"\r\n }\r\n ],\r\n \"@type\": \"ProductOrderItem\"\r\n },\r\n {\r\n \"product\": {\r\n \"name\": \"Cellular Network Example Telecom GSM 0,18 ГРН без ПДВ\",\r\n \"@type\": \"ProductValue\",\r\n \"isBundle\": false,\r\n \"productCharacteristic\": [],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"TariffPackage\",\r\n \"name\": \"TariffPackage\"\r\n },\r\n \"id\": \"03-5203\"\r\n },\r\n \"id\": \"03-170127\",\r\n \"state\": \"added\",\r\n \"productOrderItemRelationship\": [\r\n {\r\n \"@referredtype\": \"TemplateSubscriptions\",\r\n \"id\": \"170127\",\r\n \"type\": \"cross-ref\"\r\n }\r\n ],\r\n \"@type\": \"ProductOrderItem\"\r\n },\r\n {\r\n \"product\": {\r\n \"name\": \"Emergency Free Numbers\",\r\n \"@type\": \"ProductValue\",\r\n \"isBundle\": false,\r\n \"productCharacteristic\": [],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"TariffPackage\",\r\n \"name\": \"TariffPackage\"\r\n },\r\n \"id\": \"03-5642\"\r\n },\r\n \"id\": \"03-238640\",\r\n \"state\": \"added\",\r\n \"productOrderItemRelationship\": [\r\n {\r\n \"@referredtype\": \"TemplateSubscriptions\",\r\n \"id\": \"238640\",\r\n \"type\": \"cross-ref\"\r\n }\r\n ],\r\n \"@type\": \"ProductOrderItem\"\r\n },\r\n {\r\n \"product\": {\r\n \"name\": \"PSTN Исходящий местный (Одесса)\",\r\n \"@type\": \"ProductValue\",\r\n \"isBundle\": false,\r\n \"productCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"lbl_Role\",\r\n \"name\": \"lbl_Role\",\r\n \"value\": \"Discount\",\r\n \"valueType\": \"String\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"tp_Code\",\r\n \"name\": \"tp_Code\",\r\n \"value\": \"30152\",\r\n \"valueType\": \"String\"\r\n }\r\n ],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"TariffPackage\",\r\n \"name\": \"TariffPackage\"\r\n },\r\n \"id\": \"03-561\"\r\n },\r\n \"id\": \"03-170129\",\r\n \"state\": \"added\",\r\n \"productOrderItemRelationship\": [\r\n {\r\n \"@referredtype\": \"TemplateSubscriptions\",\r\n \"id\": \"170129\",\r\n \"type\": \"cross-ref\"\r\n }\r\n ],\r\n \"@type\": \"ProductOrderItem\"\r\n },\r\n {\r\n \"product\": {\r\n \"name\": \"Intertelecom 0,38 ГРН без ПДВ\",\r\n \"@type\": \"ProductValue\",\r\n \"isBundle\": false,\r\n \"productCharacteristic\": [],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"TariffPackage\",\r\n \"name\": \"TariffPackage\"\r\n },\r\n \"id\": \"03-5155\"\r\n },\r\n \"id\": \"03-170147\",\r\n \"state\": \"added\",\r\n \"productOrderItemRelationship\": [\r\n {\r\n \"@referredtype\": \"TemplateSubscriptions\",\r\n \"id\": \"170147\",\r\n \"type\": \"cross-ref\"\r\n }\r\n ],\r\n \"@type\": \"ProductOrderItem\"\r\n }\r\n ],\r\n \"id\": 46012,\r\n \"orderRelationship\": [\r\n {\r\n \"id\": \"01-339704\",\r\n \"type\": \"cross-ref\",\r\n \"@referredType\": \"Service\"\r\n }\r\n ],\r\n \"state\": \"Completed\"\r\n},\n{\r\n \"category\": \"FTTB\",\r\n \"id\": 53770,\r\n \"orderRelationship\": [\r\n {\r\n \"id\": \"01-357390\",\r\n \"type\": \"cross-ref\",\r\n \"@referredType\": \"Service\"\r\n }\r\n ],\r\n \"state\": \"Completed\"\r\n},\n{\r\n \"category\": \"GSM\",\r\n \"productOrderItem\": [\r\n {\r\n \"product\": {\r\n \"name\": \"2045728_00780030-0066-0039-3100-620034003000\",\r\n \"@type\": \"ProductValue\",\r\n \"productCharacteristic\": [],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"MSISDN\",\r\n \"name\": \"MSISDN\"\r\n },\r\n \"id\": \"01-2045728\"\r\n },\r\n \"id\": \"01-2047839\",\r\n \"state\": \"added\",\r\n \"productOrderItemRelationship\": [\r\n {\r\n \"@referredtype\": \"Extentions\",\r\n \"id\": \"2045728\",\r\n \"type\": \"cross-ref\"\r\n }\r\n ],\r\n \"@type\": \"ProductOrderItem\"\r\n },\r\n {\r\n \"product\": {\r\n \"name\": \"Киевстар Семья\",\r\n \"@type\": \"ProductValue\",\r\n \"productCharacteristic\": [],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"TariffPlan\",\r\n \"name\": \"TariffPlan\"\r\n },\r\n \"id\": \"02-66\"\r\n },\r\n \"id\": \"02-1394999\",\r\n \"state\": \"added\",\r\n \"productOrderItemRelationship\": [\r\n {\r\n \"@referredtype\": \"Agreements\",\r\n \"id\": \"1394999\",\r\n \"type\": \"cross-ref\"\r\n }\r\n ],\r\n \"@type\": \"ProductOrderItem\"\r\n }\r\n ],\r\n \"id\": 1394999,\r\n \"orderRelationship\": [\r\n {\r\n \"id\": \"01-3026998\",\r\n \"type\": \"cross-ref\",\r\n \"@referredType\": \"Service\"\r\n }\r\n ],\r\n \"state\": \"Completed\"\r\n},\n{\r\n \"category\": \"GSM\",\r\n \"productOrderItem\": [\r\n {\r\n \"product\": {\r\n \"name\": \"2045729_00780030-0038-0061-3600-360066003300\",\r\n \"@type\": \"ProductValue\",\r\n \"productCharacteristic\": [],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"MSISDN\",\r\n \"name\": \"MSISDN\"\r\n },\r\n \"id\": \"01-2045729\"\r\n },\r\n \"id\": \"01-2047840\",\r\n \"state\": \"added\",\r\n \"productOrderItemRelationship\": [\r\n {\r\n \"@referredtype\": \"Extentions\",\r\n \"id\": \"2045729\",\r\n \"type\": \"cross-ref\"\r\n }\r\n ],\r\n \"@type\": \"ProductOrderItem\"\r\n },\r\n {\r\n \"product\": {\r\n \"name\": \"Киевстар Семья\",\r\n \"@type\": \"ProductValue\",\r\n \"productCharacteristic\": [],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"TariffPlan\",\r\n \"name\": \"TariffPlan\"\r\n },\r\n \"id\": \"02-66\"\r\n },\r\n \"id\": \"02-1395000\",\r\n \"state\": \"added\",\r\n \"productOrderItemRelationship\": [\r\n {\r\n \"@referredtype\": \"Agreements\",\r\n \"id\": \"1395000\",\r\n \"type\": \"cross-ref\"\r\n }\r\n ],\r\n \"@type\": \"ProductOrderItem\"\r\n }\r\n ],\r\n \"id\": 1395000,\r\n \"orderRelationship\": [\r\n {\r\n \"id\": \"01-3026999\",\r\n \"type\": \"cross-ref\",\r\n \"@referredType\": \"Service\"\r\n }\r\n ],\r\n \"state\": \"Completed\"\r\n},\n{\r\n \"category\": \"GSM\",\r\n \"productOrderItem\": [\r\n {\r\n \"product\": {\r\n \"name\": \"2045730_00780030-0039-0065-3300-640034006400\",\r\n \"@type\": \"ProductValue\",\r\n \"productCharacteristic\": [],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"MSISDN\",\r\n \"name\": \"MSISDN\"\r\n },\r\n \"id\": \"01-2045730\"\r\n },\r\n \"id\": \"01-2047841\",\r\n \"state\": \"added\",\r\n \"productOrderItemRelationship\": [\r\n {\r\n \"@referredtype\": \"Extentions\",\r\n \"id\": \"2045730\",\r\n \"type\": \"cross-ref\"\r\n }\r\n ],\r\n \"@type\": \"ProductOrderItem\"\r\n },\r\n {\r\n \"product\": {\r\n \"name\": \"Smart+ (ММС)\",\r\n \"@type\": \"ProductValue\",\r\n \"productCharacteristic\": [],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"TariffPlan\",\r\n \"name\": \"TariffPlan\"\r\n },\r\n \"id\": \"02-55\"\r\n },\r\n \"id\": \"02-1395001\",\r\n \"state\": \"added\",\r\n \"productOrderItemRelationship\": [\r\n {\r\n \"@referredtype\": \"Agreements\",\r\n \"id\": \"1395001\",\r\n \"type\": \"cross-ref\"\r\n }\r\n ],\r\n \"@type\": \"ProductOrderItem\"\r\n }\r\n ],\r\n \"id\": 1395001,\r\n \"orderRelationship\": [\r\n {\r\n \"id\": \"01-3027000\",\r\n \"type\": \"cross-ref\",\r\n \"@referredType\": \"Service\"\r\n }\r\n ],\r\n \"state\": \"Completed\"\r\n},\n{\r\n \"category\": \"GSM\",\r\n \"productOrderItem\": [\r\n {\r\n \"product\": {\r\n \"name\": \"2045731_00780030-0065-0066-3900-660031006200\",\r\n \"@type\": \"ProductValue\",\r\n \"productCharacteristic\": [],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"MSISDN\",\r\n \"name\": \"MSISDN\"\r\n },\r\n \"id\": \"01-2045731\"\r\n },\r\n \"id\": \"01-2047842\",\r\n \"state\": \"added\",\r\n \"productOrderItemRelationship\": [\r\n {\r\n \"@referredtype\": \"Extentions\",\r\n \"id\": \"2045731\",\r\n \"type\": \"cross-ref\"\r\n }\r\n ],\r\n \"@type\": \"ProductOrderItem\"\r\n },\r\n {\r\n \"product\": {\r\n \"name\": \"Smart+ (ММС)\",\r\n \"@type\": \"ProductValue\",\r\n \"productCharacteristic\": [],\r\n \"productSpecification\": {\r\n \"@type\": \"ProductSpecificationRef\",\r\n \"id\": \"TariffPlan\",\r\n \"name\": \"TariffPlan\"\r\n },\r\n \"id\": \"02-55\"\r\n },\r\n \"id\": \"02-1395002\",\r\n \"state\": \"added\",\r\n \"productOrderItemRelationship\": [\r\n {\r\n \"@referredtype\": \"Agreements\",\r\n \"id\": \"1395002\",\r\n \"type\": \"cross-ref\"\r\n }\r\n ],\r\n \"@type\": \"ProductOrderItem\"\r\n }\r\n ],\r\n \"id\": 1395002,\r\n \"orderRelationship\": [\r\n {\r\n \"id\": \"01-3027001\",\r\n \"type\": \"cross-ref\",\r\n \"@referredType\": \"Service\"\r\n }\r\n ],\r\n \"state\": \"Completed\"\r\n}\r\n]\r\n" }, { "name": "by ID", diff --git a/tmforum-apis/TMF622_Product_Ordering/TMF622_Put_ProductOrder.bpmn b/tmforum-apis/TMF622_Product_Ordering/TMF622_Put_ProductOrder.bpmn index f6b6ff8..b9b3298 100644 --- a/tmforum-apis/TMF622_Product_Ordering/TMF622_Put_ProductOrder.bpmn +++ b/tmforum-apis/TMF622_Product_Ordering/TMF622_Put_ProductOrder.bpmn @@ -3,17 +3,17 @@ [ "Action", "Function"] [ { "name": "Addressable_FVO", "definition": "/// <summary>\r\n/// Base schema for adressable entities\r\n/// </summary>\r\npublic sealed class Addressable_FVO\r\n{\r\n \r\n private string _id;\r\n \r\n /// <summary>\r\n /// unique identifier\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Addressable_MVO", "definition": "/// <summary>\r\n/// Base schema for adressable entities\r\n/// </summary>\r\npublic sealed class Addressable_MVO\r\n{\r\n \r\n private string _id;\r\n \r\n /// <summary>\r\n /// unique identifier\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "AgreementItemRef", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class AgreementItemRef\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _agreementName;\r\n \r\n private string _agreementHref;\r\n \r\n private string _referredType;\r\n \r\n private string _agreementId;\r\n \r\n private string _agreementItemId;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the related entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"agreementName\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string agreementName\r\n {\r\n get\r\n {\r\n return this._agreementName;\r\n }\r\n set\r\n {\r\n this._agreementName = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Reference of the related entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"agreementHref\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string agreementHref\r\n {\r\n get\r\n {\r\n return this._agreementHref;\r\n }\r\n set\r\n {\r\n this._agreementHref = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Unique identifier of a related entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"agreementId\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string agreementId\r\n {\r\n get\r\n {\r\n return this._agreementId;\r\n }\r\n set\r\n {\r\n this._agreementId = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Id of an item of a Agreement\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"agreementItemId\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string agreementItemId\r\n {\r\n get\r\n {\r\n return this._agreementItemId;\r\n }\r\n set\r\n {\r\n this._agreementItemId = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "AgreementRef_FVO", "definition": "/// <summary>\r\n/// Agreement reference. An agreement represents a contract or arrangement, either written or verbal and sometimes enforceable by law, such as a service level agreement or a customer price agreement. An agreement involves a number of other business entities, such as products, services, and resources and/or their specifications.\r\n/// </summary>\r\npublic sealed class AgreementRef_FVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _href;\r\n \r\n private string _id;\r\n \r\n private string _name;\r\n \r\n private string _referredType;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Identifier of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "AgreementRef_MVO", "definition": "/// <summary>\r\n/// Agreement reference. An agreement represents a contract or arrangement, either written or verbal and sometimes enforceable by law, such as a service level agreement or a customer price agreement. An agreement involves a number of other business entities, such as products, services, and resources and/or their specifications.\r\n/// </summary>\r\npublic sealed class AgreementRef_MVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _href;\r\n \r\n private string _id;\r\n \r\n private string _name;\r\n \r\n private string _referredType;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Identifier of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "AppointmentRef", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class AppointmentRef\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _href;\r\n \r\n private string _id;\r\n \r\n private string _name;\r\n \r\n private string _referredType;\r\n \r\n private string _description;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Identifier of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// An explanatory text regarding the appointment made with a party\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"description\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string description\r\n {\r\n get\r\n {\r\n return this._description;\r\n }\r\n set\r\n {\r\n this._description = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "AppointmentRef_FVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class AppointmentRef_FVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _href;\r\n \r\n private string _id;\r\n \r\n private string _name;\r\n \r\n private string _referredType;\r\n \r\n private string _description;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Identifier of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// An explanatory text regarding the appointment made with a party\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"description\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string description\r\n {\r\n get\r\n {\r\n return this._description;\r\n }\r\n set\r\n {\r\n this._description = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "AppointmentRef_MVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class AppointmentRef_MVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _href;\r\n \r\n private string _id;\r\n \r\n private string _name;\r\n \r\n private string _referredType;\r\n \r\n private string _description;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Identifier of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// An explanatory text regarding the appointment made with a party\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"description\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string description\r\n {\r\n get\r\n {\r\n return this._description;\r\n }\r\n set\r\n {\r\n this._description = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "BillingAccountRef", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class BillingAccountRef\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _href;\r\n \r\n private string _id;\r\n \r\n private string _name;\r\n \r\n private string _referredType;\r\n \r\n private string _ratingType;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Identifier of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Indicates whether the account follows a specific payment option such as prepaid or postpaid\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"ratingType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string ratingType\r\n {\r\n get\r\n {\r\n return this._ratingType;\r\n }\r\n set\r\n {\r\n this._ratingType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "BillingAccountRef_FVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class BillingAccountRef_FVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _href;\r\n \r\n private string _id;\r\n \r\n private string _name;\r\n \r\n private string _referredType;\r\n \r\n private string _ratingType;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Identifier of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Indicates whether the account follows a specific payment option such as prepaid or postpaid\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"ratingType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string ratingType\r\n {\r\n get\r\n {\r\n return this._ratingType;\r\n }\r\n set\r\n {\r\n this._ratingType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "BillingAccountRef_MVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class BillingAccountRef_MVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _href;\r\n \r\n private string _id;\r\n \r\n private string _name;\r\n \r\n private string _referredType;\r\n \r\n private string _ratingType;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Identifier of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Indicates whether the account follows a specific payment option such as prepaid or postpaid\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"ratingType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string ratingType\r\n {\r\n get\r\n {\r\n return this._ratingType;\r\n }\r\n set\r\n {\r\n this._ratingType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Characteristic", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class Characteristic\r\n{\r\n \r\n private string _type;\r\n \r\n private string _id;\r\n \r\n private string _name;\r\n \r\n private string _value;\r\n \r\n private string _valueType;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private CharacteristicRelationship[] _characteristicRelationship;\r\n \r\n /// <summary>\r\n /// The @type attribute represents the actual class type of an entity. LOV: Characteristic\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Unique identifier of the characteristic. LOV: Сharacteristic value, provided by BSS template\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Code of the characteristic. LOV: Сharacteristic value, provided by BSS template\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A Value of the characteristic. LOV: Сharacteristic value\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"value\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string value\r\n {\r\n get\r\n {\r\n return this._value;\r\n }\r\n set\r\n {\r\n this._value = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A simple type of characteristic value. LOV: Integer, date-time, string, number\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"valueType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string valueType\r\n {\r\n get\r\n {\r\n return this._valueType;\r\n }\r\n set\r\n {\r\n this._valueType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"characteristicRelationship\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public CharacteristicRelationship[] characteristicRelationship\r\n {\r\n get\r\n {\r\n return this._characteristicRelationship;\r\n }\r\n set\r\n {\r\n this._characteristicRelationship = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "CharacteristicRelationship", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class CharacteristicRelationship\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _id;\r\n \r\n private string _relationshipType;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Unique identifier of the characteristic\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The type of relationship\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"relationshipType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string relationshipType\r\n {\r\n get\r\n {\r\n return this._relationshipType;\r\n }\r\n set\r\n {\r\n this._relationshipType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Duration", "definition": "/// <summary>\r\n/// A time interval in a given unit of time\r\n/// </summary>\r\npublic sealed class Duration\r\n{\r\n \r\n private System.Int32? _amount;\r\n \r\n private string _units;\r\n \r\n /// <summary>\r\n /// Time interval (number of seconds, minutes, hours, etc.)\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"amount\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? amount\r\n {\r\n get\r\n {\r\n return this._amount;\r\n }\r\n set\r\n {\r\n this._amount = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Unit of time (seconds, minutes, hours, etc.)\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"units\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string units\r\n {\r\n get\r\n {\r\n return this._units;\r\n }\r\n set\r\n {\r\n this._units = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Entity_FVO", "definition": "/// <summary>\r\n/// Base entity schema for use in TMForum Open-APIs. Property.\r\n/// </summary>\r\npublic sealed class Entity_FVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _id;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// unique identifier\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Entity_MVO", "definition": "/// <summary>\r\n/// Base entity schema for use in TMForum Open-APIs. Property.\r\n/// </summary>\r\npublic sealed class Entity_MVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _id;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// unique identifier\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "EntityRef", "definition": "/// <summary>\r\n/// Entity reference schema to be use for all entityRef class.\r\n/// </summary>\r\npublic sealed class EntityRef\r\n{\r\n \r\n private string _href;\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Error", "definition": "{\r\n\t\"$schema\": \"http://json-schema.org/draft-06/schema#\",\r\n\t\"$ref\": \"#/definitions/Error\",\r\n\t\"definitions\": {\r\n\t\t\"Error\": {\r\n\t\t\t\"type\": \"object\",\r\n\t\t\t\"additionalProperties\": false,\r\n\t\t\t\"properties\": {\r\n\t\t\t\t\"code\": {\r\n\t\t\t\t\t\"type\": \"string\",\r\n\t\t\t\t\t\"description\": \"Application relevant detail, defined in the API or a common list\"\r\n\t\t\t\t},\r\n\t\t\t\t\"reason\": {\r\n\t\t\t\t\t\"type\": \"string\"\r\n\t\t\t\t},\r\n\t\t\t\t\"message\": {\r\n\t\t\t\t\t\"type\": \"string\"\r\n\t\t\t\t},\r\n\t\t\t\t\"status\": {\r\n\t\t\t\t\t\"type\": \"string\"\r\n\t\t\t\t},\r\n\t\t\t\t\"referenceError\":{\r\n\t\t\t\t\t\"type\": \"string\"\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t\"title\": \"Error\"\r\n\t\t}\r\n\t}\r\n}", "isNativeDefinition": false }, { "name": "ErrorMessage", "definition": "/// <summary>\r\n/// represents an Error\r\n/// </summary>\r\npublic sealed class ErrorMessage\r\n{\r\n \r\n private System.Int32? _code;\r\n \r\n private string _reason;\r\n \r\n private string _message;\r\n \r\n private string _status;\r\n \r\n private string _referenceError;\r\n \r\n /// <summary>\r\n /// error code\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"code\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? code\r\n {\r\n get\r\n {\r\n return this._code;\r\n }\r\n set\r\n {\r\n this._code = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Explanation of the reason for the error\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"reason\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string reason\r\n {\r\n get\r\n {\r\n return this._reason;\r\n }\r\n set\r\n {\r\n this._reason = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// More details and corrective actions related to the error\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"message\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string message\r\n {\r\n get\r\n {\r\n return this._message;\r\n }\r\n set\r\n {\r\n this._message = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// error code extension like sys-ABC-2001\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"status\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string status\r\n {\r\n get\r\n {\r\n return this._status;\r\n }\r\n set\r\n {\r\n this._status = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// URI of documentation describing the error\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"referenceError\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string referenceError\r\n {\r\n get\r\n {\r\n return this._referenceError;\r\n }\r\n set\r\n {\r\n this._referenceError = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ErrorResponse", "definition": "{\r\n \"$schema\": \"http://json-schema.org/draft-06/schema#\",\r\n \"$ref\": \"#/definitions/ErrorResponse\",\r\n \"definitions\": {\r\n \"ErrorResponse\": {\r\n \"type\": \"object\",\r\n \"additionalProperties\": true,\r\n \"properties\": {\r\n \"LevelMessage\": {\r\n \"title\": \"The Error level\",\r\n \"type\": \"string\"\r\n },\r\n \"statusCode\": {\r\n \"title\": \"The Error Status Code\",\r\n \"type\": \"integer\"\r\n },\r\n \"ErrNumber\": {\r\n \"title\": \"The Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Message\": {\r\n \"title\": \"The Error Message\",\r\n \"type\": \"string\"\r\n },\r\n \"State\": {\r\n \"title\": \"The Error State\",\r\n \"type\": \"string\"\r\n },\r\n \"HelpLink\": {\r\n \"title\": \"The Help Link\",\r\n \"type\": \"string\"\r\n },\r\n \"errNumberReason\": {\r\n \"title\": \"The initial Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Data\": {\r\n \"title\": \"The Error Data\",\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"LevelMessage\": {\r\n \"title\": \"The Error level\",\r\n \"type\": \"string\"\r\n },\r\n \"statusCode\": {\r\n \"title\": \"The Error Status Code\",\r\n \"type\": \"integer\"\r\n },\r\n \"ErrNumber\": {\r\n \"title\": \"The Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Message\": {\r\n \"title\": \"The Error Message\",\r\n \"type\": \"string\"\r\n },\r\n \"State\": {\r\n \"title\": \"The Error State\",\r\n \"type\": \"string\"\r\n },\r\n \"HelpLink\": {\r\n \"title\": \"The Help Link\",\r\n \"type\": \"string\"\r\n },\r\n \"errNumberReason\": {\r\n \"title\": \"The initial Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Data\": {\r\n \"title\": \"The Data Schema\",\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"LevelMessage\": {\r\n \"title\": \"The Error level\",\r\n \"type\": \"string\"\r\n },\r\n \"statusCode\": {\r\n \"title\": \"The Error Status Code\",\r\n \"type\": \"integer\"\r\n },\r\n \"ErrNumber\": {\r\n \"title\": \"The Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Message\": {\r\n \"title\": \"The Error Message\",\r\n \"type\": \"string\"\r\n },\r\n \"State\": {\r\n \"title\": \"The Error State\",\r\n \"type\": \"string\"\r\n },\r\n \"HelpLink\": {\r\n \"title\": \"The Help Link\",\r\n \"type\": \"string\"\r\n },\r\n \"errNumberReason\": {\r\n \"title\": \"The initial Error Number\",\r\n \"type\": \"string\"\r\n }\r\n }\r\n },\r\n \"ResolveUrl\": {\r\n \"title\": \"The Resolve Url Link\",\r\n \"type\": \"string\"\r\n }\r\n }\r\n },\r\n \"ResolveUrl\": {\r\n \"title\": \"The Resolve Url Link\",\r\n \"type\": \"string\"\r\n },\r\n \"extraData\": {\r\n \"title\": \"The Error Extra Data \",\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"operationDuration\": {\r\n \"title\": \"The Operation Duration\",\r\n \"type\": \"integer\"\r\n }\r\n }\r\n }\r\n },\r\n \"title\": \"ErrorResponse\"\r\n }\r\n }\r\n}", "isNativeDefinition": false }, { "name": "ExceptionExtensions", "definition": "public static class ExceptionExtensions\n {\n internal enum ReasonCodes\n {\n ServiceAccessError = 0x1,\n UnderConstruction = 0x64,\n PreventiveStop = 0X65\n }\n\n class BaseSqlExceptionModel\n {\n public int LevelMessage { get; set; }\n public int ErrNumber { get; set; }\n public int ErrNumberReason { get; set; }\n public long State { get; set; }\n public string HelpLink { get; set; }\n public string ResolveUrl { get; set; }\n public int? Number { get; set; }\n public string Message { get; set; }\n public BaseSqlExceptionModel Data { get; set; }\n\n public Error ToError(string statusArg = null)\n {\n return new Error()\n {\n code = (ErrNumber > 0) ? ErrNumber.ToString() : Number.GetValueOrDefault().ToString(),\n message = this.Message,\n reason = ErrNumberReason.ToString(),\n referenceError = ResolveUrl,\n status = statusArg\n };\n }\n }\n\n #region [const]\n private const int DeadlockErrorNumber = 1205;\n private const int LockingErrorNumber = 1222;\n private const int UpdateConflictErrorNumber = 3960;\n //для ретрай - функционала\n private const int TimeoutExpiredErrorNumber = -2;\n private const int CouldNotOpenConnectionErrorNumber = 53;\n private const int TransportFailErrorNumber = 121;\n //РІРѕС‚ тут РЅРµ надо ретрай\n private const int HandledDeadlockErrorNumber = 50999;\n private const int SQLErrorNumber = 50000;\n\n public static IEnumerable<int> DeadLockFeatures\n {\n get\n {\n yield return DeadlockErrorNumber;\n yield return LockingErrorNumber;\n yield return UpdateConflictErrorNumber;\n yield break;\n }\n }\n\n public static IEnumerable<int> RetryNeededFeatures\n {\n get\n {\n yield return DeadlockErrorNumber;\n //yield return TimeoutExpiredErrorNumber;\n yield return CouldNotOpenConnectionErrorNumber;\n yield return TransportFailErrorNumber;\n yield break;\n }\n }\n\n #endregion\n\n public static Error GetError(this Exception exception, string statusCode)\n {\n if (exception is SqlException)\n return (exception as SqlException).GetError();\n else\n if (exception is WorkflowInvokeActionException)\n {\n return new Error()\n {\n code = exception?.InnerException?.HResult.ToString(),\n message = $\"{exception.Message} : {exception.InnerException?.Message}\",\n reason = exception?.InnerException?.GetType().Name,\n referenceError = null,\n status = statusCode\n };\n }\n else\n return new Error()\n {\n code = exception.HResult.ToString(),\n message = exception.Message,\n reason = exception.GetType().Name,\n referenceError = null,\n status = statusCode\n };\n }\n public static Error GetError(this SqlException sqlException)\n {\n BaseSqlExceptionModel errorModel = null;\n int actualStatusCode = 500;\n\n #region [Deadlock]\n if (sqlException.Number == ExceptionExtensions.HandledDeadlockErrorNumber)\n {\n return new Error()\n {\n code = sqlException.Number.ToString(), //RequestTimeout\n message = $\"Request timeout - retry operation should be used\",\n reason = \"RequestTimeout\",\n referenceError = null,\n status = \"408\"\n };\n }\n\n #endregion\n\n try\n {\n var sqlExceptionMessage = sqlException.Errors.Cast<SqlError>()\n .Where(se => (se.Class > 0) &&\n (se.Message.Trim().StartsWith(\"{\")) &&\n (se.Message.Trim().EndsWith(\"}\"))).\n Select(se => se.Message).\n FirstOrDefault();\n errorModel = JsonConvert.DeserializeObject<BaseSqlExceptionModel>(sqlExceptionMessage);\n }\n catch (Exception) { }\n\n if (errorModel != null)\n {\n errorModel.Number = sqlException.Number;\n\n var resultErrorModel = errorModel.ToError(\"500\");\n\n if (errorModel.ErrNumber == ExceptionExtensions.HandledDeadlockErrorNumber)\n {\n resultErrorModel.status = \"408\";\n resultErrorModel.reason = \"RequestTimeout\";\n }\n return resultErrorModel;\n }\n\n actualStatusCode = ResolveActualStatusCode(sqlException);\n\n var result = new Error()\n {\n code = sqlException.Number.ToString(),\n message = sqlException.Message,\n referenceError = null,\n status = actualStatusCode.ToString()\n };\n if (actualStatusCode == 500)\n {\n result.reason = \"Internal Server Error\";\n }\n else\n if (actualStatusCode == 503)\n {\n result.reason = \"Service Unavailable\";\n }\n else\n {\n result.reason = \"Service Unavailable\";\n }\n return result;\n }\n private static int ResolveActualStatusCode(SqlException sqlException)\n {\n int actualStatusCode = 500;\n //Ошибка 503 - TimeoutExpiredErrorNumber ИЛИ Количество ретраев исчерпано Рё РќР• DeadLockFeatures\n //Ошибка 408 - DeadLockFeatures И Количество ретраев исчерпано\n //РїСЃ. этот РєРѕРґ РІ принципе будет выполняться только после исчерпания попыток\n //если дедлок\n if (sqlException.IsDeadLockException())\n return 408;\n else\n if (sqlException.Number == TimeoutExpiredErrorNumber) // Истекло время ожидание \n return 503;\n else\n if (sqlException.Number == 50101 || sqlException.Number == 50100 || sqlException.Number == 50182)\t// Значит, что произошла РЅРµ фатальная ошибка.\n {\n }\n else\n if ((sqlException.Class >= 12 && sqlException.Class <= 14) || (sqlException.Class >= 18 && sqlException.Class <= 24))\t// Значит, что произошла ошибка, РёР·-Р·Р° которой соединение разорвано. Ощибки СЃ классом 17 - обработаннЫе нами\n {\n return 503;\n }\n else\n if (sqlException.Class == 11 || sqlException.Class == 15 || sqlException.Class == 16)\t// Значит, что произошла ошибка.\n {\n return 503;\n }\n else\n if (sqlException.Number >= 0 && sqlException.Number <= 10)\t// Значит, что произошла РЅРµ фатальная ошибка.\n {\n }\n else\n if (sqlException.Number >= 0 && sqlException.Number <= 24)\n {\n }\n return actualStatusCode;\n }\n\n #region [IsDeadLock]\n public static bool IsDeadLockException(this SqlException exception)\n {\n if (exception == null)\n return false;\n else\n return DeadLockFeatures.Contains(exception.Number) ||\n exception.Errors.IsDeadLockException();\n }\n\n public static bool IsDeadLockException(this SqlError error)\n {\n if (error == null)\n return false;\n else\n return DeadLockFeatures.Contains(error.Number);\n }\n\n public static bool IsDeadLockException(this SqlErrorCollection sqlErrorCollection)\n {\n if (sqlErrorCollection == null)\n return false;\n else\n return sqlErrorCollection.Cast<SqlError>().Any(error => error.IsDeadLockException());\n }\n #endregion\n\n #region [IsRetryNeeded]\n public static bool IsRetryNeeded(this SqlException exception)\n {\n if (exception == null)\n return false;\n else\n return RetryNeededFeatures.Contains(exception.Number) ||\n exception.Errors.IsRetryNeeded();\n }\n\n public static bool IsRetryNeeded(this SqlError error)\n {\n if (error == null)\n return false;\n else\n return RetryNeededFeatures.Contains(error.Number);\n }\n\n public static bool IsRetryNeeded(this SqlErrorCollection sqlErrorCollection)\n {\n if (sqlErrorCollection == null)\n return false;\n else\n return sqlErrorCollection.Cast<SqlError>().Any(error => error.IsRetryNeeded());\n }\n #endregion\n }", "isNativeDefinition": true }, { "name": "Extensible", "definition": "/// <summary>\r\n/// Base Extensible schema for use in TMForum Open-APIs - When used for in a schema it means that the Entity described by the schema MUST be extended with the @type\r\n/// </summary>\r\npublic sealed class Extensible\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Extensible_FVO", "definition": "/// <summary>\r\n/// Base Extensible schema for use in TMForum Open-APIs - When used for in a schema it means that the Entity described by the schema MUST be extended with the @type\r\n/// </summary>\r\npublic sealed class Extensible_FVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Extensible_MVO", "definition": "/// <summary>\r\n/// Base Extensible schema for use in TMForum Open-APIs - When used for in a schema it means that the Entity described by the schema MUST be extended with the @type\r\n/// </summary>\r\npublic sealed class Extensible_MVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ExternalId", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class ExternalId\r\n{\r\n \r\n private string _type;\r\n \r\n private string _externalIdentifierType;\r\n \r\n private string _id;\r\n \r\n /// <summary>\r\n /// The @type attribute represents the actual class type of an entity. LOV: An Attribute Format value of the Object\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Resource name (WideCoup BSS Entity name). LOV: Extentions\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"externalIdentifierType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string externalIdentifierType\r\n {\r\n get\r\n {\r\n return this._externalIdentifierType;\r\n }\r\n set\r\n {\r\n this._externalIdentifierType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Unique value for synchronizing of externalIdentifierType with an external system. LOV: Unique value from External system\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ExternalIdentifier_FVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class ExternalIdentifier_FVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _owner;\r\n \r\n private string _externalIdentifierType;\r\n \r\n private string _id;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the external system that owns the entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"owner\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string owner\r\n {\r\n get\r\n {\r\n return this._owner;\r\n }\r\n set\r\n {\r\n this._owner = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Type of the identification, typically would be the type of the entity within the external system\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"externalIdentifierType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string externalIdentifierType\r\n {\r\n get\r\n {\r\n return this._externalIdentifierType;\r\n }\r\n set\r\n {\r\n this._externalIdentifierType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// identification of the entity within the external system.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ExternalIdentifier_MVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class ExternalIdentifier_MVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _owner;\r\n \r\n private string _externalIdentifierType;\r\n \r\n private string _id;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the external system that owns the entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"owner\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string owner\r\n {\r\n get\r\n {\r\n return this._owner;\r\n }\r\n set\r\n {\r\n this._owner = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Type of the identification, typically would be the type of the entity within the external system\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"externalIdentifierType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string externalIdentifierType\r\n {\r\n get\r\n {\r\n return this._externalIdentifierType;\r\n }\r\n set\r\n {\r\n this._externalIdentifierType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// identification of the entity within the external system.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "HttpConfig", "definition": "{\r\n \"$schema\":\"http://natec.tech/simpleschema\",\r\n \"$ref\":\"#/definitions/HttpConfig\",\r\n \"definitions\":{\r\n \"HttpConfig\":{\r\n \"type\":\"object\",\r\n \"properties\":{\r\n \"host\":{\r\n \"type\":\"string\"\r\n },\r\n \"port\":{\r\n \"type\":\"string\"\r\n },\r\n \"login\":{\r\n \"type\":\"string\"\r\n },\r\n \"password\":{\r\n \"type\":\"string\"\r\n },\r\n \"encoding\":{\r\n \"type\":\"string\"\r\n },\r\n \"headers\":{\r\n \"type\":\"StringDictionary<string, string>\"\r\n }\r\n },\r\n \"required\": [\"host\", \"encoding\", \"headers\"],\r\n \"title\":\"HttpConfig\"\r\n }\r\n }\r\n}", "isNativeDefinition": false }, { "name": "InitialProductOrderStateType", "definition": "/// <summary>\r\n/// Possible values for the requested initial state of the order from client- by default acknowledged is considered\r\n/// </summary>\r\npublic sealed class InitialProductOrderStateType\r\n{\r\n}\r\n", "isNativeDefinition": true }, { "name": "ItemActionType", "definition": "/// <summary>\r\n/// action to be performed on the entity managed by the item\r\n/// </summary>\r\npublic sealed class ItemActionType\r\n{\r\n}\r\n", "isNativeDefinition": true }, { "name": "JeopardyAlert_FVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class JeopardyAlert_FVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _id;\r\n \r\n private System.DateTime? _alertDate;\r\n \r\n private string _name;\r\n \r\n private string _jeopardyType;\r\n \r\n private string _exception;\r\n \r\n private string _message;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// identifier of the JeopardyAlert\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A date time( DateTime). The date that the alert issued\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"alertDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? alertDate\r\n {\r\n get\r\n {\r\n return this._alertDate;\r\n }\r\n set\r\n {\r\n this._alertDate = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A string used to give a name to the jeopardy alert\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A string represents the type of jeopardy/risk like Normal, Hazard, Critical, ...\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"jeopardyType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string jeopardyType\r\n {\r\n get\r\n {\r\n return this._jeopardyType;\r\n }\r\n set\r\n {\r\n this._jeopardyType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The exception associated with this jeopardy alert\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"exception\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string exception\r\n {\r\n get\r\n {\r\n return this._exception;\r\n }\r\n set\r\n {\r\n this._exception = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A string represents the message of the alert\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"message\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string message\r\n {\r\n get\r\n {\r\n return this._message;\r\n }\r\n set\r\n {\r\n this._message = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "JeopardyAlert_MVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class JeopardyAlert_MVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _id;\r\n \r\n private System.DateTime? _alertDate;\r\n \r\n private string _name;\r\n \r\n private string _jeopardyType;\r\n \r\n private string _exception;\r\n \r\n private string _message;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// identifier of the JeopardyAlert\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A date time( DateTime). The date that the alert issued\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"alertDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? alertDate\r\n {\r\n get\r\n {\r\n return this._alertDate;\r\n }\r\n set\r\n {\r\n this._alertDate = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A string used to give a name to the jeopardy alert\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A string represents the type of jeopardy/risk like Normal, Hazard, Critical, ...\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"jeopardyType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string jeopardyType\r\n {\r\n get\r\n {\r\n return this._jeopardyType;\r\n }\r\n set\r\n {\r\n this._jeopardyType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The exception associated with this jeopardy alert\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"exception\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string exception\r\n {\r\n get\r\n {\r\n return this._exception;\r\n }\r\n set\r\n {\r\n this._exception = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A string represents the message of the alert\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"message\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string message\r\n {\r\n get\r\n {\r\n return this._message;\r\n }\r\n set\r\n {\r\n this._message = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Milestone_FVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class Milestone_FVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _description;\r\n \r\n private string _id;\r\n \r\n private string _status;\r\n \r\n private System.DateTime? _milestoneDate;\r\n \r\n private string _name;\r\n \r\n private string _message;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// free-text description of the Milestone\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"description\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string description\r\n {\r\n get\r\n {\r\n return this._description;\r\n }\r\n set\r\n {\r\n this._description = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// identifier of the Milestone\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The milestone status\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"status\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string status\r\n {\r\n get\r\n {\r\n return this._status;\r\n }\r\n set\r\n {\r\n this._status = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A date time( DateTime). The date that the milestone happens\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"milestoneDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? milestoneDate\r\n {\r\n get\r\n {\r\n return this._milestoneDate;\r\n }\r\n set\r\n {\r\n this._milestoneDate = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A string used to give a name to the milestone\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A string represents the message of the milestone\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"message\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string message\r\n {\r\n get\r\n {\r\n return this._message;\r\n }\r\n set\r\n {\r\n this._message = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Milestone_MVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class Milestone_MVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _description;\r\n \r\n private string _id;\r\n \r\n private string _status;\r\n \r\n private System.DateTime? _milestoneDate;\r\n \r\n private string _name;\r\n \r\n private string _message;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// free-text description of the Milestone\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"description\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string description\r\n {\r\n get\r\n {\r\n return this._description;\r\n }\r\n set\r\n {\r\n this._description = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// identifier of the Milestone\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The milestone status\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"status\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string status\r\n {\r\n get\r\n {\r\n return this._status;\r\n }\r\n set\r\n {\r\n this._status = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A date time( DateTime). The date that the milestone happens\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"milestoneDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? milestoneDate\r\n {\r\n get\r\n {\r\n return this._milestoneDate;\r\n }\r\n set\r\n {\r\n this._milestoneDate = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A string used to give a name to the milestone\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A string represents the message of the milestone\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"message\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string message\r\n {\r\n get\r\n {\r\n return this._message;\r\n }\r\n set\r\n {\r\n this._message = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Money", "definition": "/// <summary>\r\n/// A base / value business entity used to represent money\r\n/// </summary>\r\npublic sealed class Money\r\n{\r\n \r\n private string _unit;\r\n \r\n private System.Decimal? _value;\r\n \r\n /// <summary>\r\n /// Currency (ISO4217 norm uses 3 letters to define the currency)\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"unit\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string unit\r\n {\r\n get\r\n {\r\n return this._unit;\r\n }\r\n set\r\n {\r\n this._unit = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A signed floating point number, the meaning of the sign is according to the context of the API that uses this Data type\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"value\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Decimal? value\r\n {\r\n get\r\n {\r\n return this._value;\r\n }\r\n set\r\n {\r\n this._value = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Note", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class Note\r\n{\r\n \r\n private string _type;\r\n \r\n private string _author;\r\n \r\n private string _hostname;\r\n \r\n private string _text;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private System.DateTime? _date;\r\n \r\n private string _id;\r\n \r\n /// <summary>\r\n /// The @type attribute represents the actual class type of an entity. LOV: An Attribute Format value of the Object\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Author of this change. LOV: Username - user from the context, NULL - if unknown\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"author\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string author\r\n {\r\n get\r\n {\r\n return this._author;\r\n }\r\n set\r\n {\r\n this._author = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// hostname of this change. LOV: origin hostname or IP-address\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"hostname\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string hostname\r\n {\r\n get\r\n {\r\n return this._hostname;\r\n }\r\n set\r\n {\r\n this._hostname = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Comment for this change. LOV: String value greater than or equal to 10 characters\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"text\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string text\r\n {\r\n get\r\n {\r\n return this._text;\r\n }\r\n set\r\n {\r\n this._text = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Date of the note\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"date\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? date\r\n {\r\n get\r\n {\r\n return this._date;\r\n }\r\n set\r\n {\r\n this._date = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Identifier of the note within its containing entity\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Note_FVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class Note_FVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _author;\r\n \r\n private System.DateTime? _date;\r\n \r\n private string _id;\r\n \r\n private string _text;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Author of the note\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"author\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string author\r\n {\r\n get\r\n {\r\n return this._author;\r\n }\r\n set\r\n {\r\n this._author = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Date of the note\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"date\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? date\r\n {\r\n get\r\n {\r\n return this._date;\r\n }\r\n set\r\n {\r\n this._date = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Identifier of the note within its containing entity\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Text of the note\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"text\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string text\r\n {\r\n get\r\n {\r\n return this._text;\r\n }\r\n set\r\n {\r\n this._text = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Note_MVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class Note_MVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _author;\r\n \r\n private System.DateTime? _date;\r\n \r\n private string _id;\r\n \r\n private string _text;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Author of the note\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"author\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string author\r\n {\r\n get\r\n {\r\n return this._author;\r\n }\r\n set\r\n {\r\n this._author = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Date of the note\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"date\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? date\r\n {\r\n get\r\n {\r\n return this._date;\r\n }\r\n set\r\n {\r\n this._date = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Identifier of the note within its containing entity\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Text of the note\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"text\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string text\r\n {\r\n get\r\n {\r\n return this._text;\r\n }\r\n set\r\n {\r\n this._text = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "OracleConfig", "definition": "{\r\n \"$schema\":\"http://natec.tech/simpleschema\",\r\n \"$ref\":\"#/definitions/OracleConfig\",\r\n \"definitions\":{\r\n \"OracleConfig\":{\r\n \"type\":\"object\",\r\n \"properties\":{\r\n \"userId\":{\r\n \"type\":\"string\"\r\n },\r\n \"password\":{\r\n \"type\":\"string\"\r\n },\r\n \"dataSource\":{\r\n \"type\":\"string\"\r\n }\r\n },\r\n \"required\": [\"userId\", \"password\", \"dataSource\"],\r\n \"title\":\"OracleConfig\"\r\n }\r\n }\r\n}", "isNativeDefinition": false }, { "name": "OrderItemRelationship", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class OrderItemRelationship\r\n{\r\n \r\n private string _referredtype;\r\n \r\n private string _id;\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _relationshipType;\r\n \r\n /// <summary>\r\n /// A Referred Entity name. LOV: Extentions, Agreements, TemplateSubscriptions\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredtype\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredtype\r\n {\r\n get\r\n {\r\n return this._referredtype;\r\n }\r\n set\r\n {\r\n this._referredtype = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// In case of “cross-ref”, consists the unique identifier of an instantiated Resource to keep track of their state and changes. LOV: Provided by order management system, contains the cross-reference ID to the corresponding resourceOrder\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The type of related order, can be : “dependency” if the order needs to be “not started” until another order item is complete or “cross-ref” to keep track of the related Service Feature. LOV: supported value is \"cross-ref\"\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Relationship type as relies on, bundles, etc...\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"relationshipType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string relationshipType\r\n {\r\n get\r\n {\r\n return this._relationshipType;\r\n }\r\n set\r\n {\r\n this._relationshipType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "OrderItemRelationship_FVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class OrderItemRelationship_FVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _id;\r\n \r\n private string _relationshipType;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Id of the related Order item (must be in the same Order)\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Relationship type as relies on, bundles, etc...\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"relationshipType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string relationshipType\r\n {\r\n get\r\n {\r\n return this._relationshipType;\r\n }\r\n set\r\n {\r\n this._relationshipType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "OrderItemRelationship_MVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class OrderItemRelationship_MVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _id;\r\n \r\n private string _relationshipType;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Id of the related Order item (must be in the same Order)\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Relationship type as relies on, bundles, etc...\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"relationshipType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string relationshipType\r\n {\r\n get\r\n {\r\n return this._relationshipType;\r\n }\r\n set\r\n {\r\n this._relationshipType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "OrderPrice", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class OrderPrice\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _description;\r\n \r\n private string _name;\r\n \r\n private ProductOfferingPriceRef _productOfferingPrice;\r\n \r\n private string _recurringChargePeriod;\r\n \r\n private string _unitOfMeasure;\r\n \r\n private BillingAccountRef _billingAccount;\r\n \r\n private PriceAlteration[] _priceAlteration;\r\n \r\n private Price _price;\r\n \r\n private string _priceType;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A narrative that explains in detail the semantics of this order item price.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"description\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string description\r\n {\r\n get\r\n {\r\n return this._description;\r\n }\r\n set\r\n {\r\n this._description = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A short descriptive name such as \"Subscription price\".\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// ProductPriceOffering reference. An amount, usually of money, that is asked for or allowed when a ProductOffering is bought, rented, or leased\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOfferingPrice\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ProductOfferingPriceRef productOfferingPrice\r\n {\r\n get\r\n {\r\n return this._productOfferingPrice;\r\n }\r\n set\r\n {\r\n this._productOfferingPrice = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Could be month, week...\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"recurringChargePeriod\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string recurringChargePeriod\r\n {\r\n get\r\n {\r\n return this._recurringChargePeriod;\r\n }\r\n set\r\n {\r\n this._recurringChargePeriod = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Could be minutes, GB...\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"unitOfMeasure\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string unitOfMeasure\r\n {\r\n get\r\n {\r\n return this._unitOfMeasure;\r\n }\r\n set\r\n {\r\n this._unitOfMeasure = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"billingAccount\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public BillingAccountRef billingAccount\r\n {\r\n get\r\n {\r\n return this._billingAccount;\r\n }\r\n set\r\n {\r\n this._billingAccount = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// a strucuture used to describe a price alteration\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"priceAlteration\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public PriceAlteration[] priceAlteration\r\n {\r\n get\r\n {\r\n return this._priceAlteration;\r\n }\r\n set\r\n {\r\n this._priceAlteration = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"price\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public Price price\r\n {\r\n get\r\n {\r\n return this._price;\r\n }\r\n set\r\n {\r\n this._price = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// indicate if the price is for recurrent or no-recurrent charge\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"priceType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string priceType\r\n {\r\n get\r\n {\r\n return this._priceType;\r\n }\r\n set\r\n {\r\n this._priceType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "OrderPrice_FVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class OrderPrice_FVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _description;\r\n \r\n private string _name;\r\n \r\n private ProductOfferingPriceRef_FVO _productOfferingPrice;\r\n \r\n private string _recurringChargePeriod;\r\n \r\n private string _unitOfMeasure;\r\n \r\n private BillingAccountRef_FVO _billingAccount;\r\n \r\n private PriceAlteration_FVO[] _priceAlteration;\r\n \r\n private Price_FVO _price;\r\n \r\n private string _priceType;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A narrative that explains in detail the semantics of this order item price.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"description\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string description\r\n {\r\n get\r\n {\r\n return this._description;\r\n }\r\n set\r\n {\r\n this._description = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A short descriptive name such as \"Subscription price\".\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// ProductPriceOffering reference. An amount, usually of money, that is asked for or allowed when a ProductOffering is bought, rented, or leased\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOfferingPrice\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ProductOfferingPriceRef_FVO productOfferingPrice\r\n {\r\n get\r\n {\r\n return this._productOfferingPrice;\r\n }\r\n set\r\n {\r\n this._productOfferingPrice = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Could be month, week...\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"recurringChargePeriod\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string recurringChargePeriod\r\n {\r\n get\r\n {\r\n return this._recurringChargePeriod;\r\n }\r\n set\r\n {\r\n this._recurringChargePeriod = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Could be minutes, GB...\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"unitOfMeasure\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string unitOfMeasure\r\n {\r\n get\r\n {\r\n return this._unitOfMeasure;\r\n }\r\n set\r\n {\r\n this._unitOfMeasure = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"billingAccount\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public BillingAccountRef_FVO billingAccount\r\n {\r\n get\r\n {\r\n return this._billingAccount;\r\n }\r\n set\r\n {\r\n this._billingAccount = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// a strucuture used to describe a price alteration\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"priceAlteration\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public PriceAlteration_FVO[] priceAlteration\r\n {\r\n get\r\n {\r\n return this._priceAlteration;\r\n }\r\n set\r\n {\r\n this._priceAlteration = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"price\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public Price_FVO price\r\n {\r\n get\r\n {\r\n return this._price;\r\n }\r\n set\r\n {\r\n this._price = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// indicate if the price is for recurrent or no-recurrent charge\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"priceType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string priceType\r\n {\r\n get\r\n {\r\n return this._priceType;\r\n }\r\n set\r\n {\r\n this._priceType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "OrderPrice_MVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class OrderPrice_MVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _description;\r\n \r\n private string _name;\r\n \r\n private ProductOfferingPriceRef_MVO _productOfferingPrice;\r\n \r\n private string _recurringChargePeriod;\r\n \r\n private string _unitOfMeasure;\r\n \r\n private BillingAccountRef_MVO _billingAccount;\r\n \r\n private PriceAlteration_MVO[] _priceAlteration;\r\n \r\n private Price_MVO _price;\r\n \r\n private string _priceType;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A narrative that explains in detail the semantics of this order item price.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"description\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string description\r\n {\r\n get\r\n {\r\n return this._description;\r\n }\r\n set\r\n {\r\n this._description = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A short descriptive name such as \"Subscription price\".\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// ProductPriceOffering reference. An amount, usually of money, that is asked for or allowed when a ProductOffering is bought, rented, or leased\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOfferingPrice\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ProductOfferingPriceRef_MVO productOfferingPrice\r\n {\r\n get\r\n {\r\n return this._productOfferingPrice;\r\n }\r\n set\r\n {\r\n this._productOfferingPrice = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Could be month, week...\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"recurringChargePeriod\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string recurringChargePeriod\r\n {\r\n get\r\n {\r\n return this._recurringChargePeriod;\r\n }\r\n set\r\n {\r\n this._recurringChargePeriod = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Could be minutes, GB...\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"unitOfMeasure\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string unitOfMeasure\r\n {\r\n get\r\n {\r\n return this._unitOfMeasure;\r\n }\r\n set\r\n {\r\n this._unitOfMeasure = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"billingAccount\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public BillingAccountRef_MVO billingAccount\r\n {\r\n get\r\n {\r\n return this._billingAccount;\r\n }\r\n set\r\n {\r\n this._billingAccount = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// a strucuture used to describe a price alteration\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"priceAlteration\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public PriceAlteration_MVO[] priceAlteration\r\n {\r\n get\r\n {\r\n return this._priceAlteration;\r\n }\r\n set\r\n {\r\n this._priceAlteration = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"price\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public Price_MVO price\r\n {\r\n get\r\n {\r\n return this._price;\r\n }\r\n set\r\n {\r\n this._price = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// indicate if the price is for recurrent or no-recurrent charge\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"priceType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string priceType\r\n {\r\n get\r\n {\r\n return this._priceType;\r\n }\r\n set\r\n {\r\n this._priceType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "OrderRelationship", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class OrderRelationship\r\n{\r\n \r\n private string _referredtype;\r\n \r\n private string _id;\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _href;\r\n \r\n private string _referredType;\r\n \r\n private string _relationshipType;\r\n \r\n /// <summary>\r\n /// A Referred Entity name. LOV: supported value is \"Service\"\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredtype\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredtype\r\n {\r\n get\r\n {\r\n return this._referredtype;\r\n }\r\n set\r\n {\r\n this._referredtype = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Unique identifier of the dependened Customer Facing Service order to keep track of their state and changes. LOV: Provided by order management system, contains the cross-reference ID to the CustomerFacingService\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The type of related Service order, namely “cross-ref” to keep track of the related Customer Facing Service. LOV: supported value is \"cross-ref\"\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Relationship type as correlates, triggers, etc...\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"relationshipType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string relationshipType\r\n {\r\n get\r\n {\r\n return this._relationshipType;\r\n }\r\n set\r\n {\r\n this._relationshipType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "OrderRelationship_FVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class OrderRelationship_FVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _href;\r\n \r\n private string _referredType;\r\n \r\n private string _id;\r\n \r\n private string _relationshipType;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Id of the related order\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Relationship type as correlates, triggers, etc...\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"relationshipType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string relationshipType\r\n {\r\n get\r\n {\r\n return this._relationshipType;\r\n }\r\n set\r\n {\r\n this._relationshipType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "OrderRelationship_MVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class OrderRelationship_MVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _href;\r\n \r\n private string _referredType;\r\n \r\n private string _id;\r\n \r\n private string _relationshipType;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Id of the related order\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Relationship type as correlates, triggers, etc...\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"relationshipType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string relationshipType\r\n {\r\n get\r\n {\r\n return this._relationshipType;\r\n }\r\n set\r\n {\r\n this._relationshipType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "OrderTerm", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class OrderTerm\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _description;\r\n \r\n private Duration _duration;\r\n \r\n private string _name;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Description of the productOrderTerm\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"description\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string description\r\n {\r\n get\r\n {\r\n return this._description;\r\n }\r\n set\r\n {\r\n this._description = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A time interval in a given unit of time\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"duration\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public Duration duration\r\n {\r\n get\r\n {\r\n return this._duration;\r\n }\r\n set\r\n {\r\n this._duration = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the productOrderTerm\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "OrderTerm_FVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class OrderTerm_FVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _description;\r\n \r\n private Duration _duration;\r\n \r\n private string _name;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Description of the productOrderTerm\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"description\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string description\r\n {\r\n get\r\n {\r\n return this._description;\r\n }\r\n set\r\n {\r\n this._description = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A time interval in a given unit of time\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"duration\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public Duration duration\r\n {\r\n get\r\n {\r\n return this._duration;\r\n }\r\n set\r\n {\r\n this._duration = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the productOrderTerm\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "OrderTerm_MVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class OrderTerm_MVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _description;\r\n \r\n private Duration _duration;\r\n \r\n private string _name;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Description of the productOrderTerm\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"description\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string description\r\n {\r\n get\r\n {\r\n return this._description;\r\n }\r\n set\r\n {\r\n this._description = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A time interval in a given unit of time\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"duration\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public Duration duration\r\n {\r\n get\r\n {\r\n return this._duration;\r\n }\r\n set\r\n {\r\n this._duration = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the productOrderTerm\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "PaymentRef", "definition": "/// <summary>\r\n/// If an immediate payment has been done at the product order submission, the payment information are captured and stored (as a reference) in the order.\r\n/// </summary>\r\npublic sealed class PaymentRef\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _href;\r\n \r\n private string _id;\r\n \r\n private string _name;\r\n \r\n private string _referredType;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Identifier of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "PaymentRef_FVO", "definition": "/// <summary>\r\n/// If an immediate payment has been done at the product order submission, the payment information are captured and stored (as a reference) in the order.\r\n/// </summary>\r\npublic sealed class PaymentRef_FVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _href;\r\n \r\n private string _id;\r\n \r\n private string _name;\r\n \r\n private string _referredType;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Identifier of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "PaymentRef_MVO", "definition": "/// <summary>\r\n/// If an immediate payment has been done at the product order submission, the payment information are captured and stored (as a reference) in the order.\r\n/// </summary>\r\npublic sealed class PaymentRef_MVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _href;\r\n \r\n private string _id;\r\n \r\n private string _name;\r\n \r\n private string _referredType;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Identifier of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Price", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class Price\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private Money _dutyFreeAmount;\r\n \r\n private System.Decimal? _percentage;\r\n \r\n private Money _taxIncludedAmount;\r\n \r\n private System.Decimal? _taxRate;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A base / value business entity used to represent money\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"dutyFreeAmount\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public Money dutyFreeAmount\r\n {\r\n get\r\n {\r\n return this._dutyFreeAmount;\r\n }\r\n set\r\n {\r\n this._dutyFreeAmount = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Percentage to apply for ProdOfferPriceAlteration\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"percentage\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Decimal? percentage\r\n {\r\n get\r\n {\r\n return this._percentage;\r\n }\r\n set\r\n {\r\n this._percentage = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A base / value business entity used to represent money\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"taxIncludedAmount\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public Money taxIncludedAmount\r\n {\r\n get\r\n {\r\n return this._taxIncludedAmount;\r\n }\r\n set\r\n {\r\n this._taxIncludedAmount = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Tax rate\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"taxRate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Decimal? taxRate\r\n {\r\n get\r\n {\r\n return this._taxRate;\r\n }\r\n set\r\n {\r\n this._taxRate = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Price_FVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class Price_FVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private Money _dutyFreeAmount;\r\n \r\n private System.Decimal? _percentage;\r\n \r\n private Money _taxIncludedAmount;\r\n \r\n private System.Decimal? _taxRate;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A base / value business entity used to represent money\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"dutyFreeAmount\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public Money dutyFreeAmount\r\n {\r\n get\r\n {\r\n return this._dutyFreeAmount;\r\n }\r\n set\r\n {\r\n this._dutyFreeAmount = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Percentage to apply for ProdOfferPriceAlteration\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"percentage\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Decimal? percentage\r\n {\r\n get\r\n {\r\n return this._percentage;\r\n }\r\n set\r\n {\r\n this._percentage = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A base / value business entity used to represent money\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"taxIncludedAmount\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public Money taxIncludedAmount\r\n {\r\n get\r\n {\r\n return this._taxIncludedAmount;\r\n }\r\n set\r\n {\r\n this._taxIncludedAmount = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Tax rate\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"taxRate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Decimal? taxRate\r\n {\r\n get\r\n {\r\n return this._taxRate;\r\n }\r\n set\r\n {\r\n this._taxRate = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Price_MVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class Price_MVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private Money _dutyFreeAmount;\r\n \r\n private System.Decimal? _percentage;\r\n \r\n private Money _taxIncludedAmount;\r\n \r\n private System.Decimal? _taxRate;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A base / value business entity used to represent money\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"dutyFreeAmount\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public Money dutyFreeAmount\r\n {\r\n get\r\n {\r\n return this._dutyFreeAmount;\r\n }\r\n set\r\n {\r\n this._dutyFreeAmount = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Percentage to apply for ProdOfferPriceAlteration\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"percentage\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Decimal? percentage\r\n {\r\n get\r\n {\r\n return this._percentage;\r\n }\r\n set\r\n {\r\n this._percentage = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A base / value business entity used to represent money\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"taxIncludedAmount\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public Money taxIncludedAmount\r\n {\r\n get\r\n {\r\n return this._taxIncludedAmount;\r\n }\r\n set\r\n {\r\n this._taxIncludedAmount = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Tax rate\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"taxRate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Decimal? taxRate\r\n {\r\n get\r\n {\r\n return this._taxRate;\r\n }\r\n set\r\n {\r\n this._taxRate = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "PriceAlteration", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class PriceAlteration\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private System.Int32? _applicationDuration;\r\n \r\n private string _description;\r\n \r\n private string _name;\r\n \r\n private ProductOfferingPriceRef _productOfferingPrice;\r\n \r\n private string _priceType;\r\n \r\n private System.Int32? _priority;\r\n \r\n private string _recurringChargePeriod;\r\n \r\n private string _unitOfMeasure;\r\n \r\n private Price _price;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Duration during which the alteration applies on the order item price (for instance 2 months free of charge for the recurring charge)\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"applicationDuration\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? applicationDuration\r\n {\r\n get\r\n {\r\n return this._applicationDuration;\r\n }\r\n set\r\n {\r\n this._applicationDuration = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A narrative that explains in detail the semantics of this order item price alteration\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"description\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string description\r\n {\r\n get\r\n {\r\n return this._description;\r\n }\r\n set\r\n {\r\n this._description = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the order item price alteration\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// ProductPriceOffering reference. An amount, usually of money, that is asked for or allowed when a ProductOffering is bought, rented, or leased\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOfferingPrice\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ProductOfferingPriceRef productOfferingPrice\r\n {\r\n get\r\n {\r\n return this._productOfferingPrice;\r\n }\r\n set\r\n {\r\n this._productOfferingPrice = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A category that describes the price such as recurring, one time and usage.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"priceType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string priceType\r\n {\r\n get\r\n {\r\n return this._priceType;\r\n }\r\n set\r\n {\r\n this._priceType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Priority level for applying this alteration among all the defined alterations on the order item price\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"priority\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? priority\r\n {\r\n get\r\n {\r\n return this._priority;\r\n }\r\n set\r\n {\r\n this._priority = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Could be month, week...\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"recurringChargePeriod\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string recurringChargePeriod\r\n {\r\n get\r\n {\r\n return this._recurringChargePeriod;\r\n }\r\n set\r\n {\r\n this._recurringChargePeriod = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Could be minutes, GB...\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"unitOfMeasure\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string unitOfMeasure\r\n {\r\n get\r\n {\r\n return this._unitOfMeasure;\r\n }\r\n set\r\n {\r\n this._unitOfMeasure = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"price\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public Price price\r\n {\r\n get\r\n {\r\n return this._price;\r\n }\r\n set\r\n {\r\n this._price = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "PriceAlteration_FVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class PriceAlteration_FVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private System.Int32? _applicationDuration;\r\n \r\n private string _description;\r\n \r\n private string _name;\r\n \r\n private ProductOfferingPriceRef_FVO _productOfferingPrice;\r\n \r\n private string _priceType;\r\n \r\n private System.Int32? _priority;\r\n \r\n private string _recurringChargePeriod;\r\n \r\n private string _unitOfMeasure;\r\n \r\n private Price_FVO _price;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Duration during which the alteration applies on the order item price (for instance 2 months free of charge for the recurring charge)\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"applicationDuration\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? applicationDuration\r\n {\r\n get\r\n {\r\n return this._applicationDuration;\r\n }\r\n set\r\n {\r\n this._applicationDuration = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A narrative that explains in detail the semantics of this order item price alteration\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"description\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string description\r\n {\r\n get\r\n {\r\n return this._description;\r\n }\r\n set\r\n {\r\n this._description = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the order item price alteration\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// ProductPriceOffering reference. An amount, usually of money, that is asked for or allowed when a ProductOffering is bought, rented, or leased\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOfferingPrice\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ProductOfferingPriceRef_FVO productOfferingPrice\r\n {\r\n get\r\n {\r\n return this._productOfferingPrice;\r\n }\r\n set\r\n {\r\n this._productOfferingPrice = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A category that describes the price such as recurring, one time and usage.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"priceType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string priceType\r\n {\r\n get\r\n {\r\n return this._priceType;\r\n }\r\n set\r\n {\r\n this._priceType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Priority level for applying this alteration among all the defined alterations on the order item price\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"priority\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? priority\r\n {\r\n get\r\n {\r\n return this._priority;\r\n }\r\n set\r\n {\r\n this._priority = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Could be month, week...\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"recurringChargePeriod\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string recurringChargePeriod\r\n {\r\n get\r\n {\r\n return this._recurringChargePeriod;\r\n }\r\n set\r\n {\r\n this._recurringChargePeriod = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Could be minutes, GB...\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"unitOfMeasure\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string unitOfMeasure\r\n {\r\n get\r\n {\r\n return this._unitOfMeasure;\r\n }\r\n set\r\n {\r\n this._unitOfMeasure = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"price\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public Price_FVO price\r\n {\r\n get\r\n {\r\n return this._price;\r\n }\r\n set\r\n {\r\n this._price = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "PriceAlteration_MVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class PriceAlteration_MVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private System.Int32? _applicationDuration;\r\n \r\n private string _description;\r\n \r\n private string _name;\r\n \r\n private ProductOfferingPriceRef_MVO _productOfferingPrice;\r\n \r\n private string _priceType;\r\n \r\n private System.Int32? _priority;\r\n \r\n private string _recurringChargePeriod;\r\n \r\n private string _unitOfMeasure;\r\n \r\n private Price_MVO _price;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Duration during which the alteration applies on the order item price (for instance 2 months free of charge for the recurring charge)\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"applicationDuration\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? applicationDuration\r\n {\r\n get\r\n {\r\n return this._applicationDuration;\r\n }\r\n set\r\n {\r\n this._applicationDuration = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A narrative that explains in detail the semantics of this order item price alteration\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"description\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string description\r\n {\r\n get\r\n {\r\n return this._description;\r\n }\r\n set\r\n {\r\n this._description = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the order item price alteration\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// ProductPriceOffering reference. An amount, usually of money, that is asked for or allowed when a ProductOffering is bought, rented, or leased\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOfferingPrice\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ProductOfferingPriceRef_MVO productOfferingPrice\r\n {\r\n get\r\n {\r\n return this._productOfferingPrice;\r\n }\r\n set\r\n {\r\n this._productOfferingPrice = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A category that describes the price such as recurring, one time and usage.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"priceType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string priceType\r\n {\r\n get\r\n {\r\n return this._priceType;\r\n }\r\n set\r\n {\r\n this._priceType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Priority level for applying this alteration among all the defined alterations on the order item price\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"priority\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? priority\r\n {\r\n get\r\n {\r\n return this._priority;\r\n }\r\n set\r\n {\r\n this._priority = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Could be month, week...\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"recurringChargePeriod\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string recurringChargePeriod\r\n {\r\n get\r\n {\r\n return this._recurringChargePeriod;\r\n }\r\n set\r\n {\r\n this._recurringChargePeriod = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Could be minutes, GB...\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"unitOfMeasure\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string unitOfMeasure\r\n {\r\n get\r\n {\r\n return this._unitOfMeasure;\r\n }\r\n set\r\n {\r\n this._unitOfMeasure = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"price\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public Price_MVO price\r\n {\r\n get\r\n {\r\n return this._price;\r\n }\r\n set\r\n {\r\n this._price = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Product", "definition": "/// <summary>\n/// \n/// </summary>\npublic sealed class Product\n{\n \n private string _type;\n \n private bool _isBundle;\n \n private Characteristic[] _productCharacteristic;\n \n private ProductSpecificationRef _productSpecification;\n \n /// <summary>\n /// Атрибут @type представляет фактический тип класса сущности.\n /// </summary>\n // \n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\n public string type\n {\n get\n {\n return this._type;\n }\n set\n {\n this._type = value;\n }\n }\n \n /// <summary>\n /// зарезервировано для будущего использования\n /// </summary>\n // \n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"isBundle\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\n public bool isBundle\n {\n get\n {\n return this._isBundle;\n }\n set\n {\n this._isBundle = value;\n }\n }\n \n /// <summary>\n /// Конкретный параметр продукта, который относится Рє этому заказу\n /// </summary>\n // \n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productCharacteristic\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\n public Characteristic[] productCharacteristic\n {\n get\n {\n return this._productCharacteristic;\n }\n set\n {\n this._productCharacteristic = value;\n }\n }\n \n /// <summary>\n /// \n /// </summary>\n // \n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productSpecification\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\n public ProductSpecificationRef productSpecification\n {\n get\n {\n return this._productSpecification;\n }\n set\n {\n this._productSpecification = value;\n }\n }\n}\n", "isNativeDefinition": true }, { "name": "ProductOfferingPriceRef", "definition": "/// <summary>\r\n/// ProductPriceOffering reference. An amount, usually of money, that is asked for or allowed when a ProductOffering is bought, rented, or leased\r\n/// </summary>\r\npublic sealed class ProductOfferingPriceRef\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _href;\r\n \r\n private string _id;\r\n \r\n private string _name;\r\n \r\n private string _referredType;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Identifier of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ProductOfferingPriceRef_FVO", "definition": "/// <summary>\r\n/// ProductPriceOffering reference. An amount, usually of money, that is asked for or allowed when a ProductOffering is bought, rented, or leased\r\n/// </summary>\r\npublic sealed class ProductOfferingPriceRef_FVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _href;\r\n \r\n private string _id;\r\n \r\n private string _name;\r\n \r\n private string _referredType;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Identifier of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ProductOfferingPriceRef_MVO", "definition": "/// <summary>\r\n/// ProductPriceOffering reference. An amount, usually of money, that is asked for or allowed when a ProductOffering is bought, rented, or leased\r\n/// </summary>\r\npublic sealed class ProductOfferingPriceRef_MVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _href;\r\n \r\n private string _id;\r\n \r\n private string _name;\r\n \r\n private string _referredType;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Identifier of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ProductOfferingQualificationItemRef", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class ProductOfferingQualificationItemRef\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _productOfferingQualificationName;\r\n \r\n private string _productOfferingQualificationHref;\r\n \r\n private string _referredType;\r\n \r\n private string _productOfferingQualificationId;\r\n \r\n private string _itemId;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the related entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOfferingQualificationName\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string productOfferingQualificationName\r\n {\r\n get\r\n {\r\n return this._productOfferingQualificationName;\r\n }\r\n set\r\n {\r\n this._productOfferingQualificationName = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Reference of the related entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOfferingQualificationHref\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string productOfferingQualificationHref\r\n {\r\n get\r\n {\r\n return this._productOfferingQualificationHref;\r\n }\r\n set\r\n {\r\n this._productOfferingQualificationHref = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Unique identifier of a related entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOfferingQualificationId\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string productOfferingQualificationId\r\n {\r\n get\r\n {\r\n return this._productOfferingQualificationId;\r\n }\r\n set\r\n {\r\n this._productOfferingQualificationId = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Id of an item of a product offering qualification\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"itemId\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string itemId\r\n {\r\n get\r\n {\r\n return this._itemId;\r\n }\r\n set\r\n {\r\n this._itemId = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ProductOfferingQualificationItemRef_FVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class ProductOfferingQualificationItemRef_FVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _productOfferingQualificationName;\r\n \r\n private string _productOfferingQualificationHref;\r\n \r\n private string _referredType;\r\n \r\n private string _productOfferingQualificationId;\r\n \r\n private string _itemId;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the related entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOfferingQualificationName\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string productOfferingQualificationName\r\n {\r\n get\r\n {\r\n return this._productOfferingQualificationName;\r\n }\r\n set\r\n {\r\n this._productOfferingQualificationName = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Reference of the related entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOfferingQualificationHref\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string productOfferingQualificationHref\r\n {\r\n get\r\n {\r\n return this._productOfferingQualificationHref;\r\n }\r\n set\r\n {\r\n this._productOfferingQualificationHref = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Unique identifier of a related entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOfferingQualificationId\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string productOfferingQualificationId\r\n {\r\n get\r\n {\r\n return this._productOfferingQualificationId;\r\n }\r\n set\r\n {\r\n this._productOfferingQualificationId = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Id of an item of a product offering qualification\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"itemId\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string itemId\r\n {\r\n get\r\n {\r\n return this._itemId;\r\n }\r\n set\r\n {\r\n this._itemId = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ProductOfferingQualificationItemRef_MVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class ProductOfferingQualificationItemRef_MVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _productOfferingQualificationName;\r\n \r\n private string _productOfferingQualificationHref;\r\n \r\n private string _referredType;\r\n \r\n private string _productOfferingQualificationId;\r\n \r\n private string _itemId;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the related entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOfferingQualificationName\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string productOfferingQualificationName\r\n {\r\n get\r\n {\r\n return this._productOfferingQualificationName;\r\n }\r\n set\r\n {\r\n this._productOfferingQualificationName = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Reference of the related entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOfferingQualificationHref\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string productOfferingQualificationHref\r\n {\r\n get\r\n {\r\n return this._productOfferingQualificationHref;\r\n }\r\n set\r\n {\r\n this._productOfferingQualificationHref = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Unique identifier of a related entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOfferingQualificationId\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string productOfferingQualificationId\r\n {\r\n get\r\n {\r\n return this._productOfferingQualificationId;\r\n }\r\n set\r\n {\r\n this._productOfferingQualificationId = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Id of an item of a product offering qualification\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"itemId\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string itemId\r\n {\r\n get\r\n {\r\n return this._itemId;\r\n }\r\n set\r\n {\r\n this._itemId = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ProductOfferingQualificationRef", "definition": "/// <summary>\r\n/// A productOfferingQualification that has been executed previously\r\n/// </summary>\r\npublic sealed class ProductOfferingQualificationRef\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _href;\r\n \r\n private string _id;\r\n \r\n private string _name;\r\n \r\n private string _referredType;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Identifier of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ProductOfferingQualificationRef_FVO", "definition": "/// <summary>\r\n/// A productOfferingQualification that has been executed previously\r\n/// </summary>\r\npublic sealed class ProductOfferingQualificationRef_FVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _href;\r\n \r\n private string _id;\r\n \r\n private string _name;\r\n \r\n private string _referredType;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Identifier of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ProductOfferingQualificationRef_MVO", "definition": "/// <summary>\r\n/// A productOfferingQualification that has been executed previously\r\n/// </summary>\r\npublic sealed class ProductOfferingQualificationRef_MVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _href;\r\n \r\n private string _id;\r\n \r\n private string _name;\r\n \r\n private string _referredType;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Identifier of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ProductOfferingRef", "definition": "/// <summary>\r\n/// ProductOffering reference. A product offering represents entities that are orderable from the provider of the catalog, this resource includes pricing information.\r\n/// </summary>\r\npublic sealed class ProductOfferingRef\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _href;\r\n \r\n private string _id;\r\n \r\n private string _name;\r\n \r\n private string _referredType;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Identifier of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ProductOfferingRef_FVO", "definition": "/// <summary>\r\n/// ProductOffering reference. A product offering represents entities that are orderable from the provider of the catalog, this resource includes pricing information.\r\n/// </summary>\r\npublic sealed class ProductOfferingRef_FVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _href;\r\n \r\n private string _id;\r\n \r\n private string _name;\r\n \r\n private string _referredType;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Identifier of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ProductOfferingRef_MVO", "definition": "/// <summary>\r\n/// ProductOffering reference. A product offering represents entities that are orderable from the provider of the catalog, this resource includes pricing information.\r\n/// </summary>\r\npublic sealed class ProductOfferingRef_MVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _href;\r\n \r\n private string _id;\r\n \r\n private string _name;\r\n \r\n private string _referredType;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Identifier of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ProductOrder_FVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class ProductOrder_FVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _category;\r\n \r\n private RelatedChannel[] _channel;\r\n \r\n private ExternalId[] _externalId;\r\n \r\n private System.Int32? _iDType;\r\n \r\n private System.Int32? _isCheckBallance;\r\n \r\n private Note[] _note;\r\n \r\n private string _priority;\r\n \r\n private ProductOrderItem[] _productOrderItem;\r\n \r\n private RelatedParty[] _relatedParty;\r\n \r\n private System.DateTime? _requestedCompletionDate;\r\n \r\n private System.DateTime? _requestedStartDate;\r\n \r\n private string _format;\r\n \r\n private string _accept_Language;\r\n \r\n private System.Int64? _id;\r\n \r\n private string _x_ms_client_request_id;\r\n \r\n private OrderRelationship[] _orderRelationship;\r\n \r\n private string _state;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private AgreementRef_FVO[] _agreement;\r\n \r\n private BillingAccountRef_FVO _billingAccount;\r\n \r\n private string _requestedInitialState;\r\n \r\n private string _description;\r\n \r\n private string _notificationContact;\r\n \r\n private OrderPrice_FVO[] _orderTotalPrice;\r\n \r\n private PaymentRef_FVO[] _payment;\r\n \r\n private ProductOfferingQualificationRef_FVO[] _productOfferingQualification;\r\n \r\n private QuoteRef_FVO[] _quote;\r\n \r\n private ProductOrderErrorMessage_FVO[] _productOrderErrorMessage;\r\n \r\n private ProductOrderJeopardyAlert_FVO[] _productOrderJeopardyAlert;\r\n \r\n private ProductOrderMilestone_FVO[] _productOrderMilestone;\r\n \r\n /// <summary>\r\n /// The @type attribute represents the actual class type of an entity. LOV: ProductOrder\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [FromRoute(Name=\"@type\")]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Used to categorize the order from order management system. LOV: value, provided by BSS template\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"category\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string category\r\n {\r\n get\r\n {\r\n return this._category;\r\n }\r\n set\r\n {\r\n this._category = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A RelatedChannel (in case \"requested on behalf of\"). LOV: A List of object\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"channel\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public RelatedChannel[] channel\r\n {\r\n get\r\n {\r\n return this._channel;\r\n }\r\n set\r\n {\r\n this._channel = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Structure for data synchronization. LOV: A List of object\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"externalId\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ExternalId[] externalId\r\n {\r\n get\r\n {\r\n return this._externalId;\r\n }\r\n set\r\n {\r\n this._externalId = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Sign of passing an external ID value. LOV: 1 - external ID, 0 - internal ID\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"IDType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? IDType\r\n {\r\n get\r\n {\r\n return this._iDType;\r\n }\r\n set\r\n {\r\n this._iDType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Option to check the sufficient balance amount to charge due to Addon activation. LOV: 1- do check, 0 - don't check\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"IsCheckBallance\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? IsCheckBallance\r\n {\r\n get\r\n {\r\n return this._isCheckBallance;\r\n }\r\n set\r\n {\r\n this._isCheckBallance = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Structure for logging changes. LOV: A List of object\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"note\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public Note[] note\r\n {\r\n get\r\n {\r\n return this._note;\r\n }\r\n set\r\n {\r\n this._note = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A way that can be used by consumers to prioritize orders in order management. LOV: 1 - to complete the order online\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"priority\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string priority\r\n {\r\n get\r\n {\r\n return this._priority;\r\n }\r\n set\r\n {\r\n this._priority = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A ProductOrder items contain parameters to be performed on a productOffering or a product. LOV: A List of object\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOrderItem\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ProductOrderItem[] productOrderItem\r\n {\r\n get\r\n {\r\n return this._productOrderItem;\r\n }\r\n set\r\n {\r\n this._productOrderItem = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A Related Party for this operation. LOV: A List of object\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"relatedParty\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public RelatedParty[] relatedParty\r\n {\r\n get\r\n {\r\n return this._relatedParty;\r\n }\r\n set\r\n {\r\n this._relatedParty = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Effective Date for operation (differs from current for the past). LOV: Date without time, effective from 0:00\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"requestedCompletionDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? requestedCompletionDate\r\n {\r\n get\r\n {\r\n return this._requestedCompletionDate;\r\n }\r\n set\r\n {\r\n this._requestedCompletionDate = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Order fulfillment start date wished by the requestor. LOV: Date without time, effective from 0:00\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"requestedStartDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? requestedStartDate\r\n {\r\n get\r\n {\r\n return this._requestedStartDate;\r\n }\r\n set\r\n {\r\n this._requestedStartDate = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Error output format. LOV: supported value is json\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"format\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [FromRoute(Name=\"format\")]\r\n public string format\r\n {\r\n get\r\n {\r\n return this._format;\r\n }\r\n set\r\n {\r\n this._format = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Specifying a language for a multi-language dataset. LOV: supported value are en-English, uk-Ukrainian, ru-russian\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"Accept-Language\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [FromHeader(Name=\"Accept-Language\")]\r\n public string Accept_Language\r\n {\r\n get\r\n {\r\n return this._accept_Language;\r\n }\r\n set\r\n {\r\n this._accept_Language = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Unique identifier of ProductOrder . LOV: An identifier of Agreements from BSS\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [FromRoute(Name=\"id\")]\r\n public System.Int64? id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A unique identifier for the search request, used for the GET operation.. LOV: generally a GUID value\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"x-ms-client-request-id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [FromHeader(Name=\"x-ms-client-request-id\")]\r\n public string x_ms_client_request_id\r\n {\r\n get\r\n {\r\n return this._x_ms_client_request_id;\r\n }\r\n set\r\n {\r\n this._x_ms_client_request_id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The array of child order items is intended to reflect a hierarchical relationship of the services to be instantiated from the productOrder on base the product catalog specification, namely “cross-ref” to keep track of the child order (a Customer Facing Service). LOV: A List of object\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"orderRelationship\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public OrderRelationship[] orderRelationship\r\n {\r\n get\r\n {\r\n return this._orderRelationship;\r\n }\r\n set\r\n {\r\n this._orderRelationship = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The state of task according to the lifecycle. LOV: terminatedWithError, accepted, InProgress, done\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"state\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string state\r\n {\r\n get\r\n {\r\n return this._state;\r\n }\r\n set\r\n {\r\n this._state = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A reference to an agreement defined in the context of the product order\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"agreement\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public AgreementRef_FVO[] agreement\r\n {\r\n get\r\n {\r\n return this._agreement;\r\n }\r\n set\r\n {\r\n this._agreement = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"billingAccount\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public BillingAccountRef_FVO billingAccount\r\n {\r\n get\r\n {\r\n return this._billingAccount;\r\n }\r\n set\r\n {\r\n this._billingAccount = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Possible values for the requested initial state of the order from client- by default acknowledged is considered\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"requestedInitialState\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string requestedInitialState\r\n {\r\n get\r\n {\r\n return this._requestedInitialState;\r\n }\r\n set\r\n {\r\n this._requestedInitialState = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Description of the product order\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"description\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string description\r\n {\r\n get\r\n {\r\n return this._description;\r\n }\r\n set\r\n {\r\n this._description = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Contact attached to the order to send back information regarding this order\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"notificationContact\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string notificationContact\r\n {\r\n get\r\n {\r\n return this._notificationContact;\r\n }\r\n set\r\n {\r\n this._notificationContact = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"orderTotalPrice\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public OrderPrice_FVO[] orderTotalPrice\r\n {\r\n get\r\n {\r\n return this._orderTotalPrice;\r\n }\r\n set\r\n {\r\n this._orderTotalPrice = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"payment\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public PaymentRef_FVO[] payment\r\n {\r\n get\r\n {\r\n return this._payment;\r\n }\r\n set\r\n {\r\n this._payment = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOfferingQualification\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ProductOfferingQualificationRef_FVO[] productOfferingQualification\r\n {\r\n get\r\n {\r\n return this._productOfferingQualification;\r\n }\r\n set\r\n {\r\n this._productOfferingQualification = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"quote\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public QuoteRef_FVO[] quote\r\n {\r\n get\r\n {\r\n return this._quote;\r\n }\r\n set\r\n {\r\n this._quote = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOrderErrorMessage\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ProductOrderErrorMessage_FVO[] productOrderErrorMessage\r\n {\r\n get\r\n {\r\n return this._productOrderErrorMessage;\r\n }\r\n set\r\n {\r\n this._productOrderErrorMessage = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOrderJeopardyAlert\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ProductOrderJeopardyAlert_FVO[] productOrderJeopardyAlert\r\n {\r\n get\r\n {\r\n return this._productOrderJeopardyAlert;\r\n }\r\n set\r\n {\r\n this._productOrderJeopardyAlert = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOrderMilestone\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ProductOrderMilestone_FVO[] productOrderMilestone\r\n {\r\n get\r\n {\r\n return this._productOrderMilestone;\r\n }\r\n set\r\n {\r\n this._productOrderMilestone = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ProductOrder_MVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class ProductOrder_MVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _category;\r\n \r\n private RelatedChannel[] _channel;\r\n \r\n private ExternalId[] _externalId;\r\n \r\n private System.Int32? _iDType;\r\n \r\n private System.Int32? _isCheckBallance;\r\n \r\n private Note[] _note;\r\n \r\n private string _priority;\r\n \r\n private ProductOrderItem[] _productOrderItem;\r\n \r\n private RelatedParty[] _relatedParty;\r\n \r\n private System.DateTime? _requestedCompletionDate;\r\n \r\n private System.DateTime? _requestedStartDate;\r\n \r\n private string _format;\r\n \r\n private string _accept_Language;\r\n \r\n private System.Int64? _id;\r\n \r\n private string _x_ms_client_request_id;\r\n \r\n private OrderRelationship[] _orderRelationship;\r\n \r\n private string _state;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private AgreementRef_MVO[] _agreement;\r\n \r\n private BillingAccountRef_MVO _billingAccount;\r\n \r\n private System.DateTime? _cancellationDate;\r\n \r\n private string _cancellationReason;\r\n \r\n private string _description;\r\n \r\n private System.DateTime? _expectedCompletionDate;\r\n \r\n private string _notificationContact;\r\n \r\n private OrderPrice_MVO[] _orderTotalPrice;\r\n \r\n private PaymentRef_MVO[] _payment;\r\n \r\n private ProductOfferingQualificationRef_MVO[] _productOfferingQualification;\r\n \r\n private QuoteRef_MVO[] _quote;\r\n \r\n private ProductOrderErrorMessage_MVO[] _productOrderErrorMessage;\r\n \r\n private ProductOrderJeopardyAlert_MVO[] _productOrderJeopardyAlert;\r\n \r\n private ProductOrderMilestone_MVO[] _productOrderMilestone;\r\n \r\n private System.DateTime? _completionDate;\r\n \r\n /// <summary>\r\n /// The @type attribute represents the actual class type of an entity. LOV: ProductOrder\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [FromRoute(Name=\"@type\")]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Used to categorize the order from order management system. LOV: value, provided by BSS template\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"category\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string category\r\n {\r\n get\r\n {\r\n return this._category;\r\n }\r\n set\r\n {\r\n this._category = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A RelatedChannel (in case \"requested on behalf of\"). LOV: A List of object\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"channel\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public RelatedChannel[] channel\r\n {\r\n get\r\n {\r\n return this._channel;\r\n }\r\n set\r\n {\r\n this._channel = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Structure for data synchronization. LOV: A List of object\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"externalId\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ExternalId[] externalId\r\n {\r\n get\r\n {\r\n return this._externalId;\r\n }\r\n set\r\n {\r\n this._externalId = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Sign of passing an external ID value. LOV: 1 - external ID, 0 - internal ID\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"IDType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? IDType\r\n {\r\n get\r\n {\r\n return this._iDType;\r\n }\r\n set\r\n {\r\n this._iDType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Option to check the sufficient balance amount to charge due to Addon activation. LOV: 1- do check, 0 - don't check\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"IsCheckBallance\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? IsCheckBallance\r\n {\r\n get\r\n {\r\n return this._isCheckBallance;\r\n }\r\n set\r\n {\r\n this._isCheckBallance = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Structure for logging changes. LOV: A List of object\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"note\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public Note[] note\r\n {\r\n get\r\n {\r\n return this._note;\r\n }\r\n set\r\n {\r\n this._note = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A way that can be used by consumers to prioritize orders in order management. LOV: 1 - to complete the order online\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"priority\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string priority\r\n {\r\n get\r\n {\r\n return this._priority;\r\n }\r\n set\r\n {\r\n this._priority = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A ProductOrder items contain parameters to be performed on a productOffering or a product. LOV: A List of object\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOrderItem\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ProductOrderItem[] productOrderItem\r\n {\r\n get\r\n {\r\n return this._productOrderItem;\r\n }\r\n set\r\n {\r\n this._productOrderItem = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A Related Party for this operation. LOV: A List of object\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"relatedParty\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public RelatedParty[] relatedParty\r\n {\r\n get\r\n {\r\n return this._relatedParty;\r\n }\r\n set\r\n {\r\n this._relatedParty = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Effective Date for operation (differs from current for the past). LOV: Date without time, effective from 0:00\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"requestedCompletionDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? requestedCompletionDate\r\n {\r\n get\r\n {\r\n return this._requestedCompletionDate;\r\n }\r\n set\r\n {\r\n this._requestedCompletionDate = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Order fulfillment start date wished by the requestor. LOV: Date without time, effective from 0:00\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"requestedStartDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? requestedStartDate\r\n {\r\n get\r\n {\r\n return this._requestedStartDate;\r\n }\r\n set\r\n {\r\n this._requestedStartDate = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Error output format. LOV: supported value is json\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"format\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [FromRoute(Name=\"format\")]\r\n public string format\r\n {\r\n get\r\n {\r\n return this._format;\r\n }\r\n set\r\n {\r\n this._format = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Specifying a language for a multi-language dataset. LOV: supported value are en-English, uk-Ukrainian, ru-russian\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"Accept-Language\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [FromHeader(Name=\"Accept-Language\")]\r\n public string Accept_Language\r\n {\r\n get\r\n {\r\n return this._accept_Language;\r\n }\r\n set\r\n {\r\n this._accept_Language = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Unique identifier of ProductOrder . LOV: An identifier of Agreements from BSS\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [FromRoute(Name=\"id\")]\r\n public System.Int64? id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A unique identifier for the search request, used for the GET operation.. LOV: generally a GUID value\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"x-ms-client-request-id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [FromHeader(Name=\"x-ms-client-request-id\")]\r\n public string x_ms_client_request_id\r\n {\r\n get\r\n {\r\n return this._x_ms_client_request_id;\r\n }\r\n set\r\n {\r\n this._x_ms_client_request_id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The array of child order items is intended to reflect a hierarchical relationship of the services to be instantiated from the productOrder on base the product catalog specification, namely “cross-ref” to keep track of the child order (a Customer Facing Service). LOV: A List of object\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"orderRelationship\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public OrderRelationship[] orderRelationship\r\n {\r\n get\r\n {\r\n return this._orderRelationship;\r\n }\r\n set\r\n {\r\n this._orderRelationship = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The state of task according to the lifecycle. LOV: terminatedWithError, accepted, InProgress, done\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"state\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string state\r\n {\r\n get\r\n {\r\n return this._state;\r\n }\r\n set\r\n {\r\n this._state = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A reference to an agreement defined in the context of the product order\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"agreement\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public AgreementRef_MVO[] agreement\r\n {\r\n get\r\n {\r\n return this._agreement;\r\n }\r\n set\r\n {\r\n this._agreement = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"billingAccount\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public BillingAccountRef_MVO billingAccount\r\n {\r\n get\r\n {\r\n return this._billingAccount;\r\n }\r\n set\r\n {\r\n this._billingAccount = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Date when the order is cancelled. This is used when order is cancelled. \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"cancellationDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? cancellationDate\r\n {\r\n get\r\n {\r\n return this._cancellationDate;\r\n }\r\n set\r\n {\r\n this._cancellationDate = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Reason why the order is cancelled. This is used when order is cancelled. \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"cancellationReason\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string cancellationReason\r\n {\r\n get\r\n {\r\n return this._cancellationReason;\r\n }\r\n set\r\n {\r\n this._cancellationReason = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Description of the product order\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"description\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string description\r\n {\r\n get\r\n {\r\n return this._description;\r\n }\r\n set\r\n {\r\n this._description = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Expected delivery date amended by the provider\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"expectedCompletionDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? expectedCompletionDate\r\n {\r\n get\r\n {\r\n return this._expectedCompletionDate;\r\n }\r\n set\r\n {\r\n this._expectedCompletionDate = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Contact attached to the order to send back information regarding this order\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"notificationContact\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string notificationContact\r\n {\r\n get\r\n {\r\n return this._notificationContact;\r\n }\r\n set\r\n {\r\n this._notificationContact = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"orderTotalPrice\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public OrderPrice_MVO[] orderTotalPrice\r\n {\r\n get\r\n {\r\n return this._orderTotalPrice;\r\n }\r\n set\r\n {\r\n this._orderTotalPrice = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"payment\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public PaymentRef_MVO[] payment\r\n {\r\n get\r\n {\r\n return this._payment;\r\n }\r\n set\r\n {\r\n this._payment = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOfferingQualification\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ProductOfferingQualificationRef_MVO[] productOfferingQualification\r\n {\r\n get\r\n {\r\n return this._productOfferingQualification;\r\n }\r\n set\r\n {\r\n this._productOfferingQualification = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"quote\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public QuoteRef_MVO[] quote\r\n {\r\n get\r\n {\r\n return this._quote;\r\n }\r\n set\r\n {\r\n this._quote = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOrderErrorMessage\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ProductOrderErrorMessage_MVO[] productOrderErrorMessage\r\n {\r\n get\r\n {\r\n return this._productOrderErrorMessage;\r\n }\r\n set\r\n {\r\n this._productOrderErrorMessage = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOrderJeopardyAlert\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ProductOrderJeopardyAlert_MVO[] productOrderJeopardyAlert\r\n {\r\n get\r\n {\r\n return this._productOrderJeopardyAlert;\r\n }\r\n set\r\n {\r\n this._productOrderJeopardyAlert = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOrderMilestone\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ProductOrderMilestone_MVO[] productOrderMilestone\r\n {\r\n get\r\n {\r\n return this._productOrderMilestone;\r\n }\r\n set\r\n {\r\n this._productOrderMilestone = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Date when the ProductOrder was completed\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"completionDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? completionDate\r\n {\r\n get\r\n {\r\n return this._completionDate;\r\n }\r\n set\r\n {\r\n this._completionDate = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ProductOrder_Request_GET", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class ProductOrder_Request_GET\r\n{\r\n \r\n private string _format;\r\n \r\n private string _accept_Language;\r\n \r\n private string _type;\r\n \r\n private System.Int32? _iDType;\r\n \r\n private ProductOrderItem[] _productOrderItem;\r\n \r\n private RelatedParty[] _relatedParty;\r\n \r\n private System.Int64? _id;\r\n \r\n private string _state;\r\n \r\n private System.Int32? _offset;\r\n \r\n private System.Int32? _limit;\r\n \r\n private string _sort;\r\n \r\n private string _sortDirection;\r\n \r\n private string _x_ms_client_request_id;\r\n \r\n /// <summary>\r\n /// Error output format. LOV: supported value is json\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"format\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string format\r\n {\r\n get\r\n {\r\n return this._format;\r\n }\r\n set\r\n {\r\n this._format = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Specifying a language for a multi-language dataset. LOV: supported value are en-English, uk-Ukrainian, ru-russian\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"Accept-Language\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string Accept_Language\r\n {\r\n get\r\n {\r\n return this._accept_Language;\r\n }\r\n set\r\n {\r\n this._accept_Language = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The @type attribute represents the actual class type of an entity. LOV: ProductOrder\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Sign of passing an external ID value. LOV: 1 - external ID, 0 - internal ID\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"IDType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? IDType\r\n {\r\n get\r\n {\r\n return this._iDType;\r\n }\r\n set\r\n {\r\n this._iDType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A ProductOrder items contain parameters to be performed on a productOffering or a product. LOV: A List of object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOrderItem\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ProductOrderItem[] productOrderItem\r\n {\r\n get\r\n {\r\n return this._productOrderItem;\r\n }\r\n set\r\n {\r\n this._productOrderItem = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A Related Party for this operation. LOV: A List of object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"relatedParty\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public RelatedParty[] relatedParty\r\n {\r\n get\r\n {\r\n return this._relatedParty;\r\n }\r\n set\r\n {\r\n this._relatedParty = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Unique identifier of ProductOrder . LOV: An identifier of Agreements from BSS\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int64? id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The state of task according to the lifecycle. LOV: terminatedWithError, accepted, InProgress, done\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"state\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string state\r\n {\r\n get\r\n {\r\n return this._state;\r\n }\r\n set\r\n {\r\n this._state = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Requested index for start of records to be provided in response requested by client (server paging). LOV: 0 - first index\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"offset\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? offset\r\n {\r\n get\r\n {\r\n return this._offset;\r\n }\r\n set\r\n {\r\n this._offset = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Number of records per response (server paging). LOV: integer greater than zero\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"limit\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? limit\r\n {\r\n get\r\n {\r\n return this._limit;\r\n }\r\n set\r\n {\r\n this._limit = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Sorting selector. LOV: usageDate\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"sort\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string sort\r\n {\r\n get\r\n {\r\n return this._sort;\r\n }\r\n set\r\n {\r\n this._sort = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// No description\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"SortDirection\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string SortDirection\r\n {\r\n get\r\n {\r\n return this._sortDirection;\r\n }\r\n set\r\n {\r\n this._sortDirection = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A unique identifier for the search request, used for the GET operation.. LOV: generally a GUID value\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"x-ms-client-request-id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string x_ms_client_request_id\r\n {\r\n get\r\n {\r\n return this._x_ms_client_request_id;\r\n }\r\n set\r\n {\r\n this._x_ms_client_request_id = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "productOrder_Request_GET", "definition": "/// <summary>\r\n/// &lt;empty description&gt;\r\n/// </summary>\r\npublic sealed class productOrder_Request_GET\r\n{\r\n \r\n private string _errFormat;\r\n \r\n private string _accept_Language;\r\n \r\n private string _type;\r\n \r\n private System.Int32? _iDType;\r\n \r\n private ProductOrderItem[] _productOrderItem;\r\n \r\n private RelatedParty[] _relatedParty;\r\n \r\n private System.Int64? _id;\r\n \r\n private string _state;\r\n \r\n private System.Int32? _offset;\r\n \r\n private System.Int32? _limit;\r\n \r\n private string _sort;\r\n \r\n private string _sortDirection;\r\n \r\n private string _x_ms_client_request_id;\r\n \r\n /// <summary>\r\n /// Формат вывода ошибки\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"ErrFormat\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string ErrFormat\r\n {\r\n get\r\n {\r\n return this._errFormat;\r\n }\r\n set\r\n {\r\n this._errFormat = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Указание языка для набора multi-language данных\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"Accept-Language\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string Accept_Language\r\n {\r\n get\r\n {\r\n return this._accept_Language;\r\n }\r\n set\r\n {\r\n this._accept_Language = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Атрибут @type представляет фактический тип класса сущности.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Признак передачи внешнего значения ID\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"IDType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? IDType\r\n {\r\n get\r\n {\r\n return this._iDType;\r\n }\r\n set\r\n {\r\n this._iDType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Элементы ProductOrder содержат параметры, которые РЅСѓР¶РЅРѕ выполнить СЃ продуктом РїРѕ этому заказу\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOrderItem\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ProductOrderItem[] productOrderItem\r\n {\r\n get\r\n {\r\n return this._productOrderItem;\r\n }\r\n set\r\n {\r\n this._productOrderItem = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Связанная сторона для этой операции\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"relatedParty\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public RelatedParty[] relatedParty\r\n {\r\n get\r\n {\r\n return this._relatedParty;\r\n }\r\n set\r\n {\r\n this._relatedParty = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Уникальный идентификатор ProductOrder\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int64? id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Состояние заказа РІ соответствии СЃ жизненным циклом\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"state\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string state\r\n {\r\n get\r\n {\r\n return this._state;\r\n }\r\n set\r\n {\r\n this._state = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Необходимый index для начала записей, которые Р±СѓРґСѓС‚ переданы РІ ответе (server paging)\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"offset\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? offset\r\n {\r\n get\r\n {\r\n return this._offset;\r\n }\r\n set\r\n {\r\n this._offset = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// РљРѕР»-РІРѕ записей РІ ответе (server paging)\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"limit\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? limit\r\n {\r\n get\r\n {\r\n return this._limit;\r\n }\r\n set\r\n {\r\n this._limit = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Sorting selector\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"sort\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string sort\r\n {\r\n get\r\n {\r\n return this._sort;\r\n }\r\n set\r\n {\r\n this._sort = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// No description\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"SortDirection\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string SortDirection\r\n {\r\n get\r\n {\r\n return this._sortDirection;\r\n }\r\n set\r\n {\r\n this._sortDirection = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Уникальный идентификатор РїРѕРёСЃРєРѕРІРѕРіРѕ запроса, используется для операции GET.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"x-ms-client-request-id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string x_ms_client_request_id\r\n {\r\n get\r\n {\r\n return this._x_ms_client_request_id;\r\n }\r\n set\r\n {\r\n this._x_ms_client_request_id = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ProductOrder_Request_GET_SET", "definition": "/// <summary>\n/// \n/// </summary>\npublic sealed class ProductOrder_Request_GET_SET\n{\n \n private string _type;\n \n private string _category;\n \n private RelatedChannel[] _channel;\n \n private ExternalId[] _externalId;\n \n private int _iDType;\n \n private int _isCheckBallance;\n \n private Note[] _note;\n \n private string _priority;\n \n private ProductOrderItem[] _productOrderItem;\n \n private RelatedParty[] _relatedParty;\n \n private System.DateTime _requestedCompletionDate;\n \n private System.DateTime _requestedStartDate;\n \n private string _errFormat;\n \n private string _accept_Language;\n \n private int _id;\n \n private string _x_ms_client_request_id;\n \n private OrderRelationship[] _orderRelationship;\n \n private string _state;\n \n /// <summary>\n /// Атрибут @type представляет фактический тип класса сущности.\n /// <c>type=atype</c>\n /// </summary>\n // \n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\n public string type\n {\n get\n {\n return this._type;\n }\n set\n {\n this._type = value;\n }\n }\n \n /// <summary>\n /// Используется для категоризации заказа РІ системе управления заказами.\n /// <c>category=category</c>\n /// </summary>\n // \n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"category\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\n public string category\n {\n get\n {\n return this._category;\n }\n set\n {\n this._category = value;\n }\n }\n \n /// <summary>\n /// Система инициатор (РІ случае \"запрос РѕС‚ имени\")\n /// <c>channel=channel</c>\n /// </summary>\n // \n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"channel\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\n public RelatedChannel[] channel\n {\n get\n {\n return this._channel;\n }\n set\n {\n this._channel = value;\n }\n }\n \n /// <summary>\n /// Структура для синхронизации данных\n /// <c>externalId=externalId</c>\n /// </summary>\n // \n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"externalId\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\n public ExternalId[] externalId\n {\n get\n {\n return this._externalId;\n }\n set\n {\n this._externalId = value;\n }\n }\n \n /// <summary>\n /// Признак передачи внешнего значения ID\n /// <c>IDType=IsExternalID</c>\n /// </summary>\n // \n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"IDType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\n public int IDType\n {\n get\n {\n return this._iDType;\n }\n set\n {\n this._iDType = value;\n }\n }\n \n /// <summary>\n /// Признак проверить наличие полной СЃСѓРјРјС‹ РђРџ для списания РїСЂРё подключении тарифного пакета\n /// <c>IsCheckBallance=IsCheckBallance</c>\n /// </summary>\n // \n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"IsCheckBallance\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\n public int IsCheckBallance\n {\n get\n {\n return this._isCheckBallance;\n }\n set\n {\n this._isCheckBallance = value;\n }\n }\n \n /// <summary>\n /// Структура для протоколирования изменений\n /// <c>note=note</c>\n /// </summary>\n // \n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"note\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\n public Note[] note\n {\n get\n {\n return this._note;\n }\n set\n {\n this._note = value;\n }\n }\n \n /// <summary>\n /// РЎРїРѕСЃРѕР±, который потребители РјРѕРіСѓС‚ использовать для определения приоритетности заказов РІ управлении заказами.\n /// <c>priority=priority</c>\n /// </summary>\n // \n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"priority\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\n public string priority\n {\n get\n {\n return this._priority;\n }\n set\n {\n this._priority = value;\n }\n }\n \n /// <summary>\n /// Элементы ProductOrder содержат параметры, которые РЅСѓР¶РЅРѕ выполнить СЃ продуктом РїРѕ этому заказу\n /// <c>productOrderItem=productOrderItem</c>\n /// </summary>\n // \n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOrderItem\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\n public ProductOrderItem[] productOrderItem\n {\n get\n {\n return this._productOrderItem;\n }\n set\n {\n this._productOrderItem = value;\n }\n }\n \n /// <summary>\n /// Связанная сторона для этой операции\n /// <c>relatedParty=relatedParty</c>\n /// </summary>\n // \n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"relatedParty\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\n public RelatedParty[] relatedParty\n {\n get\n {\n return this._relatedParty;\n }\n set\n {\n this._relatedParty = value;\n }\n }\n \n /// <summary>\n /// Дата вступления РІ силу операции (отличается РѕС‚ текущей для операций РІ прошлом)\n /// <c>requestedCompletionDate=requestedCompletionDate</c>\n /// </summary>\n // \n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"requestedCompletionDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\n public System.DateTime requestedCompletionDate\n {\n get\n {\n return this._requestedCompletionDate;\n }\n set\n {\n this._requestedCompletionDate = value;\n }\n }\n \n /// <summary>\n /// Дата начала действия заказа, желаемого инициатором\n /// <c>requestedStartDate=requestedStartDate</c>\n /// </summary>\n // \n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"requestedStartDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\n public System.DateTime requestedStartDate\n {\n get\n {\n return this._requestedStartDate;\n }\n set\n {\n this._requestedStartDate = value;\n }\n }\n \n /// <summary>\n /// Формат вывода ошибки\n /// <c>ErrFormat=ErrFormat</c>\n /// </summary>\n // \n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"ErrFormat\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\n public string ErrFormat\n {\n get\n {\n return this._errFormat;\n }\n set\n {\n this._errFormat = value;\n }\n }\n \n /// <summary>\n /// Указание языка для набора multi-language данных\n /// <c>Accept-Language=Lang</c>\n /// </summary>\n // \n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"Accept-Language\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\n public string Accept_Language\n {\n get\n {\n return this._accept_Language;\n }\n set\n {\n this._accept_Language = value;\n }\n }\n \n /// <summary>\n /// Уникальный идентификатор ProductOrder\n /// <c>id=id</c>\n /// </summary>\n // \n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\n public int id\n {\n get\n {\n return this._id;\n }\n set\n {\n this._id = value;\n }\n }\n \n /// <summary>\n /// Уникальный идентификатор транзакции для идемпотентности\n /// <c>x-ms-client-request-id=x_ms_client_request_id</c>\n /// </summary>\n // \n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"x-ms-client-request-id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\n public string x_ms_client_request_id\n {\n get\n {\n return this._x_ms_client_request_id;\n }\n set\n {\n this._x_ms_client_request_id = value;\n }\n }\n \n /// <summary>\n /// Массив элементов дочернего заказа предназначен для отражения иерархических отношений услуг, которые должны быть созданы РёР· ProductOrder РЅР° РѕСЃРЅРѕРІРµ спецификации каталога продуктов, Р° именно «перекрестной ссылки» для отслеживания дочернего заказа (a Customer Facing Service).\n /// <c>orderRelationship=orderRelationship</c>\n /// </summary>\n // \n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"orderRelationship\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\n public OrderRelationship[] orderRelationship\n {\n get\n {\n return this._orderRelationship;\n }\n set\n {\n this._orderRelationship = value;\n }\n }\n \n /// <summary>\n /// Состояние заказа РІ соответствии СЃ жизненным циклом\n /// <c>state=state</c>\n /// </summary>\n // \n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"state\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\n public string state\n {\n get\n {\n return this._state;\n }\n set\n {\n this._state = value;\n }\n }\n}\n", "isNativeDefinition": true }, { "name": "ProductOrder_Response_GET", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class ProductOrder_Response_GET\r\n{\r\n \r\n private string _accept_Language;\r\n \r\n private string _type;\r\n \r\n private System.Int32? _iDType;\r\n \r\n private string _content_Range;\r\n \r\n private string _link;\r\n \r\n private string _x_ms_client_request_id;\r\n \r\n private System.Int32? _limit;\r\n \r\n private System.Int32? _offset;\r\n \r\n private System.Int32? _x_Page_Count;\r\n \r\n /// <summary>\r\n /// Specifying a language for a multi-language dataset. LOV: supported value are en-English, uk-Ukrainian, ru-russian\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"Accept-Language\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string Accept_Language\r\n {\r\n get\r\n {\r\n return this._accept_Language;\r\n }\r\n set\r\n {\r\n this._accept_Language = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The @type attribute represents the actual class type of an entity. LOV: ProductOrder\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Sign of passing an external ID value. LOV: 1 - external ID, 0 - internal ID\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"IDType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? IDType\r\n {\r\n get\r\n {\r\n return this._iDType;\r\n }\r\n set\r\n {\r\n this._iDType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// HTTP header indicates where in a full body message a partial message belongs. LOV: items <range-start>-<range-end>/<total-count>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"Content-Range\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string Content_Range\r\n {\r\n get\r\n {\r\n return this._content_Range;\r\n }\r\n set\r\n {\r\n this._content_Range = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Web Linking HTTP header. LOV: reserved\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"Link\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string Link\r\n {\r\n get\r\n {\r\n return this._link;\r\n }\r\n set\r\n {\r\n this._link = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A unique identifier for the search request, used for the GET operation.. LOV: generally a GUID value\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"x-ms-client-request-id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string x_ms_client_request_id\r\n {\r\n get\r\n {\r\n return this._x_ms_client_request_id;\r\n }\r\n set\r\n {\r\n this._x_ms_client_request_id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Number of records per response (server paging). LOV: integer greater than zero\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"limit\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? limit\r\n {\r\n get\r\n {\r\n return this._limit;\r\n }\r\n set\r\n {\r\n this._limit = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Requested index for start of records to be provided in response requested by client (server paging). LOV: 0 - first index\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"offset\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? offset\r\n {\r\n get\r\n {\r\n return this._offset;\r\n }\r\n set\r\n {\r\n this._offset = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A Page Count from Server Paging\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"X-Page-Count\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? X_Page_Count\r\n {\r\n get\r\n {\r\n return this._x_Page_Count;\r\n }\r\n set\r\n {\r\n this._x_Page_Count = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "productOrder_Response_GET", "definition": "/// <summary>\r\n/// &lt;empty description&gt;\r\n/// </summary>\r\npublic sealed class productOrder_Response_GET\r\n{\r\n \r\n private string _accept_Language;\r\n \r\n private string _type;\r\n \r\n private System.Int32? _iDType;\r\n \r\n private string _content_Range;\r\n \r\n private string _link;\r\n \r\n private string _x_ms_client_request_id;\r\n \r\n private System.Int32? _limit;\r\n \r\n private System.Int32? _offset;\r\n \r\n private System.Int32? _x_Page_Count;\r\n \r\n /// <summary>\r\n /// Указание языка для набора multi-language данных\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"Accept-Language\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string Accept_Language\r\n {\r\n get\r\n {\r\n return this._accept_Language;\r\n }\r\n set\r\n {\r\n this._accept_Language = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Атрибут @type представляет фактический тип класса сущности.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Признак передачи внешнего значения ID\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"IDType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? IDType\r\n {\r\n get\r\n {\r\n return this._iDType;\r\n }\r\n set\r\n {\r\n this._iDType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Заголовок HTTP указывает место РІ полном теле сообщения ответа, которому принадлежит сообщение частичного сообщения ответа.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"Content-Range\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string Content_Range\r\n {\r\n get\r\n {\r\n return this._content_Range;\r\n }\r\n set\r\n {\r\n this._content_Range = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// зарезервировано\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"Link\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string Link\r\n {\r\n get\r\n {\r\n return this._link;\r\n }\r\n set\r\n {\r\n this._link = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Уникальный идентификатор РїРѕРёСЃРєРѕРІРѕРіРѕ запроса, используется для операции GET.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"x-ms-client-request-id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string x_ms_client_request_id\r\n {\r\n get\r\n {\r\n return this._x_ms_client_request_id;\r\n }\r\n set\r\n {\r\n this._x_ms_client_request_id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// РљРѕР»-РІРѕ записей РІ ответе (server paging)\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"limit\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? limit\r\n {\r\n get\r\n {\r\n return this._limit;\r\n }\r\n set\r\n {\r\n this._limit = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Необходимый index для начала записей, которые Р±СѓРґСѓС‚ переданы РІ ответе (server paging)\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"offset\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? offset\r\n {\r\n get\r\n {\r\n return this._offset;\r\n }\r\n set\r\n {\r\n this._offset = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Количество страниц Server Paging\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"X-Page-Count\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? X_Page_Count\r\n {\r\n get\r\n {\r\n return this._x_Page_Count;\r\n }\r\n set\r\n {\r\n this._x_Page_Count = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "productOrder_Response_GET_OUTPUT", "definition": "/// <summary>\r\n/// &lt;empty description&gt;\r\n/// </summary>\r\npublic sealed class productOrder_Response_GET_OUTPUT\r\n{\r\n \r\n private string _category;\r\n \r\n private ProductOrderItem[] _productOrderItem;\r\n \r\n private System.Int64? _id;\r\n \r\n private OrderRelationship[] _orderRelationship;\r\n \r\n private string _state;\r\n \r\n private System.Int32? _x_Total_Count;\r\n \r\n private RelatedParty[] _relatedParty;\r\n \r\n private System.DateTime? _requestedStartDate;\r\n \r\n /// <summary>\r\n /// Используется для категоризации заказа РІ системе управления заказами.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"category\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string category\r\n {\r\n get\r\n {\r\n return this._category;\r\n }\r\n set\r\n {\r\n this._category = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Элементы ProductOrder содержат параметры, которые РЅСѓР¶РЅРѕ выполнить СЃ продуктом РїРѕ этому заказу\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOrderItem\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ProductOrderItem[] productOrderItem\r\n {\r\n get\r\n {\r\n return this._productOrderItem;\r\n }\r\n set\r\n {\r\n this._productOrderItem = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Уникальный идентификатор ProductOrder\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int64? id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Массив элементов дочернего заказа предназначен для отражения иерархических отношений услуг, которые должны быть созданы РёР· ProductOrder РЅР° РѕСЃРЅРѕРІРµ спецификации каталога продуктов, Р° именно «перекрестной ссылки» для отслеживания дочернего заказа (a Customer Facing Service).\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"orderRelationship\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public OrderRelationship[] orderRelationship\r\n {\r\n get\r\n {\r\n return this._orderRelationship;\r\n }\r\n set\r\n {\r\n this._orderRelationship = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Состояние заказа РІ соответствии СЃ жизненным циклом\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"state\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string state\r\n {\r\n get\r\n {\r\n return this._state;\r\n }\r\n set\r\n {\r\n this._state = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// общее количество совпадающих записей (server paging)\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"X-Total-Count\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? X_Total_Count\r\n {\r\n get\r\n {\r\n return this._x_Total_Count;\r\n }\r\n set\r\n {\r\n this._x_Total_Count = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Связанная сторона для этой операции\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"relatedParty\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public RelatedParty[] relatedParty\r\n {\r\n get\r\n {\r\n return this._relatedParty;\r\n }\r\n set\r\n {\r\n this._relatedParty = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// No description\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"requestedStartDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? requestedStartDate\r\n {\r\n get\r\n {\r\n return this._requestedStartDate;\r\n }\r\n set\r\n {\r\n this._requestedStartDate = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ProductOrder_Response_SET", "definition": "/// <summary>\n/// \n/// </summary>\npublic sealed class ProductOrder_Response_SET\n{\n \n private int _iDType;\n \n private string _accept_Language;\n \n private string _category;\n \n private string _type;\n \n private ProductOrderItem[] _productOrderItem;\n \n private System.DateTime _requestedStartDate;\n \n private string _x_ms_client_request_id;\n \n private int _id;\n \n private System.DateTime _requestedCompletionDate;\n \n private string _state;\n \n private OrderRelationship[] _orderRelationship;\n \n /// <summary>\n /// Признак передачи внешнего значения ID\n /// <c>IDType=IsExternalID</c>\n /// </summary>\n // \n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"IDType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\n public int IDType\n {\n get\n {\n return this._iDType;\n }\n set\n {\n this._iDType = value;\n }\n }\n \n /// <summary>\n /// Указание языка для набора multi-language данных\n /// <c>Accept-Language=Lang</c>\n /// </summary>\n // \n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"Accept-Language\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\n public string Accept_Language\n {\n get\n {\n return this._accept_Language;\n }\n set\n {\n this._accept_Language = value;\n }\n }\n \n /// <summary>\n /// Используется для категоризации заказа РІ системе управления заказами.\n /// <c>category=category</c>\n /// </summary>\n // \n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"category\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\n public string category\n {\n get\n {\n return this._category;\n }\n set\n {\n this._category = value;\n }\n }\n \n /// <summary>\n /// Атрибут @type представляет фактический тип класса сущности.\n /// <c>type=atype</c>\n /// </summary>\n // \n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\n public string type\n {\n get\n {\n return this._type;\n }\n set\n {\n this._type = value;\n }\n }\n \n /// <summary>\n /// Элементы ProductOrder содержат параметры, которые РЅСѓР¶РЅРѕ выполнить СЃ продуктом РїРѕ этому заказу\n /// <c>productOrderItem=productOrderItem</c>\n /// </summary>\n // \n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOrderItem\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\n public ProductOrderItem[] productOrderItem\n {\n get\n {\n return this._productOrderItem;\n }\n set\n {\n this._productOrderItem = value;\n }\n }\n \n /// <summary>\n /// Дата начала действия заказа, желаемого инициатором\n /// <c>requestedStartDate=requestedStartDate</c>\n /// </summary>\n // \n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"requestedStartDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\n public System.DateTime requestedStartDate\n {\n get\n {\n return this._requestedStartDate;\n }\n set\n {\n this._requestedStartDate = value;\n }\n }\n \n /// <summary>\n /// Уникальный идентификатор транзакции для идемпотентности\n /// <c>x-ms-client-request-id=x_ms_client_request_id</c>\n /// </summary>\n // \n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"x-ms-client-request-id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\n public string x_ms_client_request_id\n {\n get\n {\n return this._x_ms_client_request_id;\n }\n set\n {\n this._x_ms_client_request_id = value;\n }\n }\n \n /// <summary>\n /// Уникальный идентификатор ProductOrder\n /// <c>id=id</c>\n /// </summary>\n // \n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\n public int id\n {\n get\n {\n return this._id;\n }\n set\n {\n this._id = value;\n }\n }\n \n /// <summary>\n /// Дата вступления РІ силу операции (отличается РѕС‚ текущей для операций РІ прошлом)\n /// <c>requestedCompletionDate=requestedCompletionDate</c>\n /// </summary>\n // \n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"requestedCompletionDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\n public System.DateTime requestedCompletionDate\n {\n get\n {\n return this._requestedCompletionDate;\n }\n set\n {\n this._requestedCompletionDate = value;\n }\n }\n \n /// <summary>\n /// Состояние заказа РІ соответствии СЃ жизненным циклом\n /// <c>state=state</c>\n /// </summary>\n // \n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"state\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\n public string state\n {\n get\n {\n return this._state;\n }\n set\n {\n this._state = value;\n }\n }\n \n /// <summary>\n /// Массив элементов дочернего заказа предназначен для отражения иерархических отношений услуг, которые должны быть созданы РёР· ProductOrder РЅР° РѕСЃРЅРѕРІРµ спецификации каталога продуктов, Р° именно «перекрестной ссылки» для отслеживания дочернего заказа (a Customer Facing Service).\n /// <c>orderRelationship=orderRelationship</c>\n /// </summary>\n // \n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"orderRelationship\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\n public OrderRelationship[] orderRelationship\n {\n get\n {\n return this._orderRelationship;\n }\n set\n {\n this._orderRelationship = value;\n }\n }\n}\n \n", "isNativeDefinition": true }, { "name": "productOrder_Response_SET", "definition": "/// <summary>\r\n/// &lt;empty description&gt;\r\n/// </summary>\r\npublic sealed class productOrder_Response_SET\r\n{\r\n \r\n private System.Int32? _iDType;\r\n \r\n private string _accept_Language;\r\n \r\n private string _category;\r\n \r\n private string _type;\r\n \r\n private ProductOrderItem[] _productOrderItem;\r\n \r\n private System.DateTime? _requestedStartDate;\r\n \r\n private string _x_ms_client_request_id;\r\n \r\n private System.Int32? _id;\r\n \r\n private System.DateTime? _requestedCompletionDate;\r\n \r\n private string _state;\r\n \r\n private OrderRelationship[] _orderRelationship;\r\n \r\n /// <summary>\r\n /// Признак передачи внешнего значения ID\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"IDType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? IDType\r\n {\r\n get\r\n {\r\n return this._iDType;\r\n }\r\n set\r\n {\r\n this._iDType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Указание языка для набора multi-language данных\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"Accept-Language\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string Accept_Language\r\n {\r\n get\r\n {\r\n return this._accept_Language;\r\n }\r\n set\r\n {\r\n this._accept_Language = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Используется для категоризации заказа РІ системе управления заказами.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"category\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string category\r\n {\r\n get\r\n {\r\n return this._category;\r\n }\r\n set\r\n {\r\n this._category = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Атрибут @type представляет фактический тип класса сущности.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Элементы ProductOrder содержат параметры, которые РЅСѓР¶РЅРѕ выполнить СЃ продуктом РїРѕ этому заказу\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOrderItem\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ProductOrderItem[] productOrderItem\r\n {\r\n get\r\n {\r\n return this._productOrderItem;\r\n }\r\n set\r\n {\r\n this._productOrderItem = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Дата начала действия заказа, желаемого инициатором\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"requestedStartDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? requestedStartDate\r\n {\r\n get\r\n {\r\n return this._requestedStartDate;\r\n }\r\n set\r\n {\r\n this._requestedStartDate = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Уникальный идентификатор РїРѕРёСЃРєРѕРІРѕРіРѕ запроса, используется для операции GET.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"x-ms-client-request-id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string x_ms_client_request_id\r\n {\r\n get\r\n {\r\n return this._x_ms_client_request_id;\r\n }\r\n set\r\n {\r\n this._x_ms_client_request_id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Уникальный идентификатор ProductOrder\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Дата вступления РІ силу операции (отличается РѕС‚ текущей для операций РІ прошлом)\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"requestedCompletionDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? requestedCompletionDate\r\n {\r\n get\r\n {\r\n return this._requestedCompletionDate;\r\n }\r\n set\r\n {\r\n this._requestedCompletionDate = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Состояние заказа РІ соответствии СЃ жизненным циклом\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"state\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string state\r\n {\r\n get\r\n {\r\n return this._state;\r\n }\r\n set\r\n {\r\n this._state = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Массив элементов дочернего заказа предназначен для отражения иерархических отношений услуг, которые должны быть созданы РёР· ProductOrder РЅР° РѕСЃРЅРѕРІРµ спецификации каталога продуктов, Р° именно «перекрестной ссылки» для отслеживания дочернего заказа (a Customer Facing Service).\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"orderRelationship\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public OrderRelationship[] orderRelationship\r\n {\r\n get\r\n {\r\n return this._orderRelationship;\r\n }\r\n set\r\n {\r\n this._orderRelationship = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ProductOrderErrorMessage_FVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class ProductOrderErrorMessage_FVO\r\n{\r\n \r\n private System.Int32? _code;\r\n \r\n private string _reason;\r\n \r\n private string _message;\r\n \r\n private string _status;\r\n \r\n private string _referenceError;\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private System.DateTime? _timestamp;\r\n \r\n private ProductOrderItemRef[] _productOrderItem;\r\n \r\n /// <summary>\r\n /// error code\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"code\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? code\r\n {\r\n get\r\n {\r\n return this._code;\r\n }\r\n set\r\n {\r\n this._code = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Explanation of the reason for the error\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"reason\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string reason\r\n {\r\n get\r\n {\r\n return this._reason;\r\n }\r\n set\r\n {\r\n this._reason = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// More details and corrective actions related to the error\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"message\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string message\r\n {\r\n get\r\n {\r\n return this._message;\r\n }\r\n set\r\n {\r\n this._message = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// error code extension like sys-ABC-2001\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"status\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string status\r\n {\r\n get\r\n {\r\n return this._status;\r\n }\r\n set\r\n {\r\n this._status = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// URI of documentation describing the error\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"referenceError\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string referenceError\r\n {\r\n get\r\n {\r\n return this._referenceError;\r\n }\r\n set\r\n {\r\n this._referenceError = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Date when the error happened\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"timestamp\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? timestamp\r\n {\r\n get\r\n {\r\n return this._timestamp;\r\n }\r\n set\r\n {\r\n this._timestamp = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A list of order item references corresponded to this error\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOrderItem\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ProductOrderItemRef[] productOrderItem\r\n {\r\n get\r\n {\r\n return this._productOrderItem;\r\n }\r\n set\r\n {\r\n this._productOrderItem = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ProductOrderErrorMessage_MVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class ProductOrderErrorMessage_MVO\r\n{\r\n \r\n private System.Int32? _code;\r\n \r\n private string _reason;\r\n \r\n private string _message;\r\n \r\n private string _status;\r\n \r\n private string _referenceError;\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private System.DateTime? _timestamp;\r\n \r\n private ProductOrderItemRef[] _productOrderItem;\r\n \r\n /// <summary>\r\n /// error code\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"code\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? code\r\n {\r\n get\r\n {\r\n return this._code;\r\n }\r\n set\r\n {\r\n this._code = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Explanation of the reason for the error\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"reason\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string reason\r\n {\r\n get\r\n {\r\n return this._reason;\r\n }\r\n set\r\n {\r\n this._reason = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// More details and corrective actions related to the error\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"message\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string message\r\n {\r\n get\r\n {\r\n return this._message;\r\n }\r\n set\r\n {\r\n this._message = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// error code extension like sys-ABC-2001\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"status\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string status\r\n {\r\n get\r\n {\r\n return this._status;\r\n }\r\n set\r\n {\r\n this._status = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// URI of documentation describing the error\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"referenceError\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string referenceError\r\n {\r\n get\r\n {\r\n return this._referenceError;\r\n }\r\n set\r\n {\r\n this._referenceError = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Date when the error happened\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"timestamp\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? timestamp\r\n {\r\n get\r\n {\r\n return this._timestamp;\r\n }\r\n set\r\n {\r\n this._timestamp = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A list of order item references corresponded to this error\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOrderItem\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ProductOrderItemRef[] productOrderItem\r\n {\r\n get\r\n {\r\n return this._productOrderItem;\r\n }\r\n set\r\n {\r\n this._productOrderItem = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ProductOrderItem", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class ProductOrderItem\r\n{\r\n \r\n private ProductValue _product;\r\n \r\n private string _action;\r\n \r\n private string _id;\r\n \r\n private System.Int32? _quantity;\r\n \r\n private string _state;\r\n \r\n private OrderItemRelationship[] _productOrderItemRelationship;\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private AppointmentRef _appointment;\r\n \r\n private BillingAccountRef _billingAccount;\r\n \r\n private OrderPrice[] _itemPrice;\r\n \r\n private OrderTerm[] _itemTerm;\r\n \r\n private OrderPrice[] _itemTotalPrice;\r\n \r\n private Note[] _note;\r\n \r\n private PaymentRef[] _payment;\r\n \r\n private ProductOfferingRef _productOffering;\r\n \r\n private ProductOfferingQualificationItemRef _productOfferingQualificationItem;\r\n \r\n private QuoteItemRef _quoteItem;\r\n \r\n private ProductOrderItem[] _productOrderItem;\r\n \r\n private ProductOfferingQualificationRef[] _qualification;\r\n \r\n /// <summary>\r\n /// No description\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"product\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ProductValue product\r\n {\r\n get\r\n {\r\n return this._product;\r\n }\r\n set\r\n {\r\n this._product = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The action to be carried out on the Product. LOV: add, modify, delete\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"action\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string action\r\n {\r\n get\r\n {\r\n return this._action;\r\n }\r\n set\r\n {\r\n this._action = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Provided by order management system, contains the unique identifier of the completed productOrderItem. LOV: String identifier in the format 'Prefix-Number', where Pefix is '01' for MSISDN, '02' for TariffPlan and '03' for TariffPackage\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Quantity ordered, if applied. LOV: integer greater than zero, default 1\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"quantity\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? quantity\r\n {\r\n get\r\n {\r\n return this._quantity;\r\n }\r\n set\r\n {\r\n this._quantity = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The state of Product Order according to the lifecycle. LOV: supported values are: Acknowledged, InProgress, Completed. В случае использования Priority, равного 1, присутствует только состояние «Completed»\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"state\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string state\r\n {\r\n get\r\n {\r\n return this._state;\r\n }\r\n set\r\n {\r\n this._state = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The list of elements is intended to reflect the hierarchical relationship of a particular productOrder and resourceOrder element that should be created from it. LOV: A List of object\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOrderItemRelationship\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public OrderItemRelationship[] productOrderItemRelationship\r\n {\r\n get\r\n {\r\n return this._productOrderItemRelationship;\r\n }\r\n set\r\n {\r\n this._productOrderItemRelationship = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"appointment\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public AppointmentRef appointment\r\n {\r\n get\r\n {\r\n return this._appointment;\r\n }\r\n set\r\n {\r\n this._appointment = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"billingAccount\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public BillingAccountRef billingAccount\r\n {\r\n get\r\n {\r\n return this._billingAccount;\r\n }\r\n set\r\n {\r\n this._billingAccount = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"itemPrice\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public OrderPrice[] itemPrice\r\n {\r\n get\r\n {\r\n return this._itemPrice;\r\n }\r\n set\r\n {\r\n this._itemPrice = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"itemTerm\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public OrderTerm[] itemTerm\r\n {\r\n get\r\n {\r\n return this._itemTerm;\r\n }\r\n set\r\n {\r\n this._itemTerm = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"itemTotalPrice\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public OrderPrice[] itemTotalPrice\r\n {\r\n get\r\n {\r\n return this._itemTotalPrice;\r\n }\r\n set\r\n {\r\n this._itemTotalPrice = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"note\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public Note[] note\r\n {\r\n get\r\n {\r\n return this._note;\r\n }\r\n set\r\n {\r\n this._note = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"payment\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public PaymentRef[] payment\r\n {\r\n get\r\n {\r\n return this._payment;\r\n }\r\n set\r\n {\r\n this._payment = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// ProductOffering reference. A product offering represents entities that are orderable from the provider of the catalog, this resource includes pricing information.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOffering\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ProductOfferingRef productOffering\r\n {\r\n get\r\n {\r\n return this._productOffering;\r\n }\r\n set\r\n {\r\n this._productOffering = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOfferingQualificationItem\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ProductOfferingQualificationItemRef productOfferingQualificationItem\r\n {\r\n get\r\n {\r\n return this._productOfferingQualificationItem;\r\n }\r\n set\r\n {\r\n this._productOfferingQualificationItem = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"quoteItem\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public QuoteItemRef quoteItem\r\n {\r\n get\r\n {\r\n return this._quoteItem;\r\n }\r\n set\r\n {\r\n this._quoteItem = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOrderItem\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ProductOrderItem[] productOrderItem\r\n {\r\n get\r\n {\r\n return this._productOrderItem;\r\n }\r\n set\r\n {\r\n this._productOrderItem = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"qualification\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ProductOfferingQualificationRef[] qualification\r\n {\r\n get\r\n {\r\n return this._qualification;\r\n }\r\n set\r\n {\r\n this._qualification = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ProductOrderItem_FVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class ProductOrderItem_FVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private System.Int32? _quantity;\r\n \r\n private string _action;\r\n \r\n private AppointmentRef_FVO _appointment;\r\n \r\n private BillingAccountRef_FVO _billingAccount;\r\n \r\n private OrderPrice_FVO[] _itemPrice;\r\n \r\n private OrderTerm_FVO[] _itemTerm;\r\n \r\n private OrderPrice_FVO[] _itemTotalPrice;\r\n \r\n private Note_FVO[] _note;\r\n \r\n private PaymentRef_FVO[] _payment;\r\n \r\n private ProductRefOrValue_FVO _product;\r\n \r\n private ProductOfferingRef_FVO _productOffering;\r\n \r\n private ProductOfferingQualificationItemRef_FVO _productOfferingQualificationItem;\r\n \r\n private QuoteItemRef_FVO _quoteItem;\r\n \r\n private ProductOrderItem_FVO[] _productOrderItem;\r\n \r\n private OrderItemRelationship_FVO[] _productOrderItemRelationship;\r\n \r\n private string _state;\r\n \r\n private ProductOfferingQualificationRef_FVO[] _qualification;\r\n \r\n private string _id;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Quantity ordered\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"quantity\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? quantity\r\n {\r\n get\r\n {\r\n return this._quantity;\r\n }\r\n set\r\n {\r\n this._quantity = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// action to be performed on the entity managed by the item\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"action\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string action\r\n {\r\n get\r\n {\r\n return this._action;\r\n }\r\n set\r\n {\r\n this._action = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"appointment\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public AppointmentRef_FVO appointment\r\n {\r\n get\r\n {\r\n return this._appointment;\r\n }\r\n set\r\n {\r\n this._appointment = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"billingAccount\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public BillingAccountRef_FVO billingAccount\r\n {\r\n get\r\n {\r\n return this._billingAccount;\r\n }\r\n set\r\n {\r\n this._billingAccount = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"itemPrice\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public OrderPrice_FVO[] itemPrice\r\n {\r\n get\r\n {\r\n return this._itemPrice;\r\n }\r\n set\r\n {\r\n this._itemPrice = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"itemTerm\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public OrderTerm_FVO[] itemTerm\r\n {\r\n get\r\n {\r\n return this._itemTerm;\r\n }\r\n set\r\n {\r\n this._itemTerm = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"itemTotalPrice\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public OrderPrice_FVO[] itemTotalPrice\r\n {\r\n get\r\n {\r\n return this._itemTotalPrice;\r\n }\r\n set\r\n {\r\n this._itemTotalPrice = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"note\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public Note_FVO[] note\r\n {\r\n get\r\n {\r\n return this._note;\r\n }\r\n set\r\n {\r\n this._note = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"payment\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public PaymentRef_FVO[] payment\r\n {\r\n get\r\n {\r\n return this._payment;\r\n }\r\n set\r\n {\r\n this._payment = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A product to be created defined by value or existing defined by reference. The polymorphic attributes @type, @schemaLocation & @referredType are related to the product entity and not the RelatedProductRefOrValue class itself\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"product\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ProductRefOrValue_FVO product\r\n {\r\n get\r\n {\r\n return this._product;\r\n }\r\n set\r\n {\r\n this._product = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// ProductOffering reference. A product offering represents entities that are orderable from the provider of the catalog, this resource includes pricing information.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOffering\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ProductOfferingRef_FVO productOffering\r\n {\r\n get\r\n {\r\n return this._productOffering;\r\n }\r\n set\r\n {\r\n this._productOffering = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOfferingQualificationItem\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ProductOfferingQualificationItemRef_FVO productOfferingQualificationItem\r\n {\r\n get\r\n {\r\n return this._productOfferingQualificationItem;\r\n }\r\n set\r\n {\r\n this._productOfferingQualificationItem = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"quoteItem\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public QuoteItemRef_FVO quoteItem\r\n {\r\n get\r\n {\r\n return this._quoteItem;\r\n }\r\n set\r\n {\r\n this._quoteItem = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOrderItem\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ProductOrderItem_FVO[] productOrderItem\r\n {\r\n get\r\n {\r\n return this._productOrderItem;\r\n }\r\n set\r\n {\r\n this._productOrderItem = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOrderItemRelationship\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public OrderItemRelationship_FVO[] productOrderItemRelationship\r\n {\r\n get\r\n {\r\n return this._productOrderItemRelationship;\r\n }\r\n set\r\n {\r\n this._productOrderItemRelationship = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Possible values for the state of the product order item\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"state\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string state\r\n {\r\n get\r\n {\r\n return this._state;\r\n }\r\n set\r\n {\r\n this._state = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"qualification\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ProductOfferingQualificationRef_FVO[] qualification\r\n {\r\n get\r\n {\r\n return this._qualification;\r\n }\r\n set\r\n {\r\n this._qualification = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Identifier of the ProductOrder item (generally it is a sequence number 01, 02, 03, ...)\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ProductOrderItem_MVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class ProductOrderItem_MVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private System.Int32? _quantity;\r\n \r\n private string _action;\r\n \r\n private AppointmentRef_MVO _appointment;\r\n \r\n private BillingAccountRef_MVO _billingAccount;\r\n \r\n private OrderPrice_MVO[] _itemPrice;\r\n \r\n private OrderTerm_MVO[] _itemTerm;\r\n \r\n private OrderPrice_MVO[] _itemTotalPrice;\r\n \r\n private Note_MVO[] _note;\r\n \r\n private PaymentRef_MVO[] _payment;\r\n \r\n private ProductRefOrValue_MVO _product;\r\n \r\n private ProductOfferingRef_MVO _productOffering;\r\n \r\n private ProductOfferingQualificationItemRef_MVO _productOfferingQualificationItem;\r\n \r\n private QuoteItemRef_MVO _quoteItem;\r\n \r\n private ProductOrderItem_MVO[] _productOrderItem;\r\n \r\n private OrderItemRelationship_MVO[] _productOrderItemRelationship;\r\n \r\n private string _state;\r\n \r\n private ProductOfferingQualificationRef_MVO[] _qualification;\r\n \r\n private string _id;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Quantity ordered\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"quantity\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? quantity\r\n {\r\n get\r\n {\r\n return this._quantity;\r\n }\r\n set\r\n {\r\n this._quantity = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// action to be performed on the entity managed by the item\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"action\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string action\r\n {\r\n get\r\n {\r\n return this._action;\r\n }\r\n set\r\n {\r\n this._action = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"appointment\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public AppointmentRef_MVO appointment\r\n {\r\n get\r\n {\r\n return this._appointment;\r\n }\r\n set\r\n {\r\n this._appointment = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"billingAccount\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public BillingAccountRef_MVO billingAccount\r\n {\r\n get\r\n {\r\n return this._billingAccount;\r\n }\r\n set\r\n {\r\n this._billingAccount = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"itemPrice\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public OrderPrice_MVO[] itemPrice\r\n {\r\n get\r\n {\r\n return this._itemPrice;\r\n }\r\n set\r\n {\r\n this._itemPrice = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"itemTerm\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public OrderTerm_MVO[] itemTerm\r\n {\r\n get\r\n {\r\n return this._itemTerm;\r\n }\r\n set\r\n {\r\n this._itemTerm = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"itemTotalPrice\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public OrderPrice_MVO[] itemTotalPrice\r\n {\r\n get\r\n {\r\n return this._itemTotalPrice;\r\n }\r\n set\r\n {\r\n this._itemTotalPrice = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"note\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public Note_MVO[] note\r\n {\r\n get\r\n {\r\n return this._note;\r\n }\r\n set\r\n {\r\n this._note = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"payment\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public PaymentRef_MVO[] payment\r\n {\r\n get\r\n {\r\n return this._payment;\r\n }\r\n set\r\n {\r\n this._payment = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A product to be created defined by value or existing defined by reference. The polymorphic attributes @type, @schemaLocation & @referredType are related to the product entity and not the RelatedProductRefOrValue class itself\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"product\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ProductRefOrValue_MVO product\r\n {\r\n get\r\n {\r\n return this._product;\r\n }\r\n set\r\n {\r\n this._product = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// ProductOffering reference. A product offering represents entities that are orderable from the provider of the catalog, this resource includes pricing information.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOffering\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ProductOfferingRef_MVO productOffering\r\n {\r\n get\r\n {\r\n return this._productOffering;\r\n }\r\n set\r\n {\r\n this._productOffering = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOfferingQualificationItem\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ProductOfferingQualificationItemRef_MVO productOfferingQualificationItem\r\n {\r\n get\r\n {\r\n return this._productOfferingQualificationItem;\r\n }\r\n set\r\n {\r\n this._productOfferingQualificationItem = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"quoteItem\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public QuoteItemRef_MVO quoteItem\r\n {\r\n get\r\n {\r\n return this._quoteItem;\r\n }\r\n set\r\n {\r\n this._quoteItem = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOrderItem\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ProductOrderItem_MVO[] productOrderItem\r\n {\r\n get\r\n {\r\n return this._productOrderItem;\r\n }\r\n set\r\n {\r\n this._productOrderItem = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOrderItemRelationship\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public OrderItemRelationship_MVO[] productOrderItemRelationship\r\n {\r\n get\r\n {\r\n return this._productOrderItemRelationship;\r\n }\r\n set\r\n {\r\n this._productOrderItemRelationship = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Possible values for the state of the product order item\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"state\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string state\r\n {\r\n get\r\n {\r\n return this._state;\r\n }\r\n set\r\n {\r\n this._state = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"qualification\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ProductOfferingQualificationRef_MVO[] qualification\r\n {\r\n get\r\n {\r\n return this._qualification;\r\n }\r\n set\r\n {\r\n this._qualification = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Identifier of the ProductOrder item (generally it is a sequence number 01, 02, 03, ...)\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ProductOrderItemRef", "definition": "/// <summary>\r\n/// Reference of a productOrder item that has been executed previously.\r\n/// </summary>\r\npublic sealed class ProductOrderItemRef\r\n{\r\n \r\n private string _productOrderName;\r\n \r\n private string _productOrderHref;\r\n \r\n private string _referredType;\r\n \r\n private string _productOrderId;\r\n \r\n private string _itemId;\r\n \r\n /// <summary>\r\n /// Name of the related entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOrderName\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string productOrderName\r\n {\r\n get\r\n {\r\n return this._productOrderName;\r\n }\r\n set\r\n {\r\n this._productOrderName = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Reference of the related entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOrderHref\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string productOrderHref\r\n {\r\n get\r\n {\r\n return this._productOrderHref;\r\n }\r\n set\r\n {\r\n this._productOrderHref = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Unique identifier of a related entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOrderId\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string productOrderId\r\n {\r\n get\r\n {\r\n return this._productOrderId;\r\n }\r\n set\r\n {\r\n this._productOrderId = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Id of an item of a product order\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"itemId\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string itemId\r\n {\r\n get\r\n {\r\n return this._itemId;\r\n }\r\n set\r\n {\r\n this._itemId = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ProductOrderItemStateType", "definition": "/// <summary>\r\n/// Possible values for the state of the product order item\r\n/// </summary>\r\npublic sealed class ProductOrderItemStateType\r\n{\r\n}\r\n", "isNativeDefinition": true }, { "name": "ProductOrderJeopardyAlert_FVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class ProductOrderJeopardyAlert_FVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _id;\r\n \r\n private System.DateTime? _alertDate;\r\n \r\n private string _name;\r\n \r\n private string _jeopardyType;\r\n \r\n private string _exception;\r\n \r\n private string _message;\r\n \r\n private ProductOrderItemRef[] _productOrderItem;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// identifier of the JeopardyAlert\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A date time( DateTime). The date that the alert issued\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"alertDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? alertDate\r\n {\r\n get\r\n {\r\n return this._alertDate;\r\n }\r\n set\r\n {\r\n this._alertDate = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A string used to give a name to the jeopardy alert\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A string represents the type of jeopardy/risk like Normal, Hazard, Critical, ...\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"jeopardyType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string jeopardyType\r\n {\r\n get\r\n {\r\n return this._jeopardyType;\r\n }\r\n set\r\n {\r\n this._jeopardyType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The exception associated with this jeopardy alert\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"exception\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string exception\r\n {\r\n get\r\n {\r\n return this._exception;\r\n }\r\n set\r\n {\r\n this._exception = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A string represents the message of the alert\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"message\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string message\r\n {\r\n get\r\n {\r\n return this._message;\r\n }\r\n set\r\n {\r\n this._message = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A list of order item references corresponded to this alert\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOrderItem\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ProductOrderItemRef[] productOrderItem\r\n {\r\n get\r\n {\r\n return this._productOrderItem;\r\n }\r\n set\r\n {\r\n this._productOrderItem = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ProductOrderJeopardyAlert_MVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class ProductOrderJeopardyAlert_MVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _id;\r\n \r\n private System.DateTime? _alertDate;\r\n \r\n private string _name;\r\n \r\n private string _jeopardyType;\r\n \r\n private string _exception;\r\n \r\n private string _message;\r\n \r\n private ProductOrderItemRef[] _productOrderItem;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// identifier of the JeopardyAlert\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A date time( DateTime). The date that the alert issued\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"alertDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? alertDate\r\n {\r\n get\r\n {\r\n return this._alertDate;\r\n }\r\n set\r\n {\r\n this._alertDate = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A string used to give a name to the jeopardy alert\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A string represents the type of jeopardy/risk like Normal, Hazard, Critical, ...\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"jeopardyType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string jeopardyType\r\n {\r\n get\r\n {\r\n return this._jeopardyType;\r\n }\r\n set\r\n {\r\n this._jeopardyType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The exception associated with this jeopardy alert\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"exception\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string exception\r\n {\r\n get\r\n {\r\n return this._exception;\r\n }\r\n set\r\n {\r\n this._exception = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A string represents the message of the alert\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"message\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string message\r\n {\r\n get\r\n {\r\n return this._message;\r\n }\r\n set\r\n {\r\n this._message = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A list of order item references corresponded to this alert\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOrderItem\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ProductOrderItemRef[] productOrderItem\r\n {\r\n get\r\n {\r\n return this._productOrderItem;\r\n }\r\n set\r\n {\r\n this._productOrderItem = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ProductOrderMilestone_FVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class ProductOrderMilestone_FVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _description;\r\n \r\n private string _id;\r\n \r\n private string _status;\r\n \r\n private System.DateTime? _milestoneDate;\r\n \r\n private string _name;\r\n \r\n private string _message;\r\n \r\n private ProductOrderItemRef[] _productOrderItem;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// free-text description of the Milestone\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"description\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string description\r\n {\r\n get\r\n {\r\n return this._description;\r\n }\r\n set\r\n {\r\n this._description = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// identifier of the Milestone\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The milestone status\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"status\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string status\r\n {\r\n get\r\n {\r\n return this._status;\r\n }\r\n set\r\n {\r\n this._status = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A date time( DateTime). The date that the milestone happens\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"milestoneDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? milestoneDate\r\n {\r\n get\r\n {\r\n return this._milestoneDate;\r\n }\r\n set\r\n {\r\n this._milestoneDate = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A string used to give a name to the milestone\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A string represents the message of the milestone\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"message\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string message\r\n {\r\n get\r\n {\r\n return this._message;\r\n }\r\n set\r\n {\r\n this._message = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A list of order item references corresponded to this alert\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOrderItem\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ProductOrderItemRef[] productOrderItem\r\n {\r\n get\r\n {\r\n return this._productOrderItem;\r\n }\r\n set\r\n {\r\n this._productOrderItem = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ProductOrderMilestone_MVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class ProductOrderMilestone_MVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _description;\r\n \r\n private string _id;\r\n \r\n private string _status;\r\n \r\n private System.DateTime? _milestoneDate;\r\n \r\n private string _name;\r\n \r\n private string _message;\r\n \r\n private ProductOrderItemRef[] _productOrderItem;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// free-text description of the Milestone\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"description\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string description\r\n {\r\n get\r\n {\r\n return this._description;\r\n }\r\n set\r\n {\r\n this._description = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// identifier of the Milestone\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The milestone status\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"status\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string status\r\n {\r\n get\r\n {\r\n return this._status;\r\n }\r\n set\r\n {\r\n this._status = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A date time( DateTime). The date that the milestone happens\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"milestoneDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? milestoneDate\r\n {\r\n get\r\n {\r\n return this._milestoneDate;\r\n }\r\n set\r\n {\r\n this._milestoneDate = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A string used to give a name to the milestone\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A string represents the message of the milestone\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"message\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string message\r\n {\r\n get\r\n {\r\n return this._message;\r\n }\r\n set\r\n {\r\n this._message = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A list of order item references corresponded to this alert\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOrderItem\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ProductOrderItemRef[] productOrderItem\r\n {\r\n get\r\n {\r\n return this._productOrderItem;\r\n }\r\n set\r\n {\r\n this._productOrderItem = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ProductOrderStateType", "definition": "/// <summary>\r\n/// Possible values for the state of the order\r\n/// </summary>\r\npublic sealed class ProductOrderStateType\r\n{\r\n}\r\n", "isNativeDefinition": true }, { "name": "ProductPrice", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class ProductPrice\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _description;\r\n \r\n private string _name;\r\n \r\n private ProductOfferingPriceRef _productOfferingPrice;\r\n \r\n private string _recurringChargePeriod;\r\n \r\n private string _unitOfMeasure;\r\n \r\n private Price _price;\r\n \r\n private PriceAlteration[] _priceAlteration;\r\n \r\n private string _priceType;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Description of the Product price\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"description\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string description\r\n {\r\n get\r\n {\r\n return this._description;\r\n }\r\n set\r\n {\r\n this._description = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the Product price\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// ProductPriceOffering reference. An amount, usually of money, that is asked for or allowed when a ProductOffering is bought, rented, or leased\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOfferingPrice\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ProductOfferingPriceRef productOfferingPrice\r\n {\r\n get\r\n {\r\n return this._productOfferingPrice;\r\n }\r\n set\r\n {\r\n this._productOfferingPrice = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Used for recurring charge to indicate period (month, week, etc..).\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"recurringChargePeriod\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string recurringChargePeriod\r\n {\r\n get\r\n {\r\n return this._recurringChargePeriod;\r\n }\r\n set\r\n {\r\n this._recurringChargePeriod = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Unit of Measure if price depending on it (Gb, SMS volume, etc..)\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"unitOfMeasure\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string unitOfMeasure\r\n {\r\n get\r\n {\r\n return this._unitOfMeasure;\r\n }\r\n set\r\n {\r\n this._unitOfMeasure = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"price\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public Price price\r\n {\r\n get\r\n {\r\n return this._price;\r\n }\r\n set\r\n {\r\n this._price = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"priceAlteration\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public PriceAlteration[] priceAlteration\r\n {\r\n get\r\n {\r\n return this._priceAlteration;\r\n }\r\n set\r\n {\r\n this._priceAlteration = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// indicate if the price is for recurrent or no-recurrent charge\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"priceType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string priceType\r\n {\r\n get\r\n {\r\n return this._priceType;\r\n }\r\n set\r\n {\r\n this._priceType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ProductRefOrValue", "definition": "/// <summary>\r\n/// A product to be created defined by value or existing defined by reference. The polymorphic attributes @type, @schemaLocation @referredType are related to the product entity and not the RelatedProductRefOrValue class itself\r\n/// </summary>\r\npublic sealed class ProductRefOrValue\r\n{\r\n}\r\n", "isNativeDefinition": true }, { "name": "ProductRefOrValue_FVO", "definition": "/// <summary>\r\n/// A product to be created defined by value or existing defined by reference. The polymorphic attributes @type, @schemaLocation @referredType are related to the product entity and not the RelatedProductRefOrValue class itself\r\n/// </summary>\r\npublic sealed class ProductRefOrValue_FVO\r\n{\r\n}\r\n", "isNativeDefinition": true }, { "name": "ProductRefOrValue_MVO", "definition": "/// <summary>\r\n/// A product to be created defined by value or existing defined by reference. The polymorphic attributes @type, @schemaLocation @referredType are related to the product entity and not the RelatedProductRefOrValue class itself\r\n/// </summary>\r\npublic sealed class ProductRefOrValue_MVO\r\n{\r\n}\r\n", "isNativeDefinition": true }, { "name": "ProductRelationship", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class ProductRelationship\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _href;\r\n \r\n private string _id;\r\n \r\n private string _relationshipType;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Id of the related product\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Relationship type as relies on, bundles, etc...\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"relationshipType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string relationshipType\r\n {\r\n get\r\n {\r\n return this._relationshipType;\r\n }\r\n set\r\n {\r\n this._relationshipType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ProductSpecificationRef", "definition": "/// <summary>\r\n/// ProductSpecification reference. A product Specification represents entities that are orderable from the provider of the catalog.\r\n/// </summary>\r\npublic sealed class ProductSpecificationRef\r\n{\r\n \r\n private string _type;\r\n \r\n private string _id;\r\n \r\n private string _name;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _href;\r\n \r\n private string _referredType;\r\n \r\n /// <summary>\r\n /// The @type attribute represents the actual class type of an entity. LOV: An Attribute Format value of the Object\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Unique identifier of the Product Specification. LOV: MSISDN, TariffPlan, TariffPackage\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The Product Specification code. LOV: Сharacteristic value, provided by BSS template\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ProductStatusType", "definition": "/// <summary>\r\n/// Possible values for the status of the product\r\n/// </summary>\r\npublic sealed class ProductStatusType\r\n{\r\n}\r\n", "isNativeDefinition": true }, { "name": "ProductTerm", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class ProductTerm\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _description;\r\n \r\n private Duration _duration;\r\n \r\n private TimePeriod _validFor;\r\n \r\n private string _name;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Description of the productTerm\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"description\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string description\r\n {\r\n get\r\n {\r\n return this._description;\r\n }\r\n set\r\n {\r\n this._description = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A time interval in a given unit of time\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"duration\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public Duration duration\r\n {\r\n get\r\n {\r\n return this._duration;\r\n }\r\n set\r\n {\r\n this._duration = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A period of time, either as a deadline (endDateTime only) a startDateTime only, or both\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"validFor\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public TimePeriod validFor\r\n {\r\n get\r\n {\r\n return this._validFor;\r\n }\r\n set\r\n {\r\n this._validFor = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the productTerm\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ProductValue", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class ProductValue\r\n{\r\n \r\n private string _name;\r\n \r\n private string _id;\r\n \r\n private string _type;\r\n \r\n private System.Boolean? _isBundle;\r\n \r\n private Characteristic[] _productCharacteristic;\r\n \r\n private ProductSpecificationRef _productSpecification;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _href;\r\n \r\n private AgreementItemRef[] _agreementItem;\r\n \r\n private BillingAccountRef _billingAccount;\r\n \r\n private System.DateTime? _creationDate;\r\n \r\n private string _description;\r\n \r\n private System.Boolean? _isCustomerVisible;\r\n \r\n private System.DateTime? _orderDate;\r\n \r\n private ProductOfferingRef _productOffering;\r\n \r\n private RelatedOrderItem[] _productOrderItem;\r\n \r\n private ProductRefOrValue[] _product;\r\n \r\n private ProductPrice[] _productPrice;\r\n \r\n private ProductRelationship[] _productRelationship;\r\n \r\n private string _productSerialNumber;\r\n \r\n private ProductTerm[] _productTerm;\r\n \r\n private ResourceRef[] _realizingResource;\r\n \r\n private ServiceRef[] _realizingService;\r\n \r\n private RelatedParty[] _relatedParty;\r\n \r\n private RelatedPlaceRefOrValue[] _place;\r\n \r\n private System.DateTime? _startDate;\r\n \r\n private string _status;\r\n \r\n private System.DateTime? _terminationDate;\r\n \r\n /// <summary>\r\n /// A Name of a product from the catalog\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Unique identifier of a product from the catalog. LOV: String identifier in the format 'Prefix-Number', where Pefix is '01' for MSISDN, '02' for TariffPlan and '03' for TariffPackage\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The @type attribute represents the actual class type of an entity. LOV: An Attribute Format value of the Object\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// reserved for future use. LOV: If true, the product is a Bundle which is an instantiation of a BundledProductOffering. If false, the product is an instantiation of a SimpleProductOffering\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"isBundle\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Boolean? isBundle\r\n {\r\n get\r\n {\r\n return this._isBundle;\r\n }\r\n set\r\n {\r\n this._isBundle = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A specific Product parameter that applies to this order. LOV: An object\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productCharacteristic\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public Characteristic[] productCharacteristic\r\n {\r\n get\r\n {\r\n return this._productCharacteristic;\r\n }\r\n set\r\n {\r\n this._productCharacteristic = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// a Product Specification. LOV: An object\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productSpecification\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ProductSpecificationRef productSpecification\r\n {\r\n get\r\n {\r\n return this._productSpecification;\r\n }\r\n set\r\n {\r\n this._productSpecification = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"agreementItem\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public AgreementItemRef[] agreementItem\r\n {\r\n get\r\n {\r\n return this._agreementItem;\r\n }\r\n set\r\n {\r\n this._agreementItem = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"billingAccount\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public BillingAccountRef billingAccount\r\n {\r\n get\r\n {\r\n return this._billingAccount;\r\n }\r\n set\r\n {\r\n this._billingAccount = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Date and time when the product was created\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"creationDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? creationDate\r\n {\r\n get\r\n {\r\n return this._creationDate;\r\n }\r\n set\r\n {\r\n this._creationDate = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Is the description of the product. It could be copied from the description of the Product Offering.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"description\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string description\r\n {\r\n get\r\n {\r\n return this._description;\r\n }\r\n set\r\n {\r\n this._description = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// If true, the product is visible by the customer.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"isCustomerVisible\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Boolean? isCustomerVisible\r\n {\r\n get\r\n {\r\n return this._isCustomerVisible;\r\n }\r\n set\r\n {\r\n this._isCustomerVisible = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Is the date when the product was ordered\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"orderDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? orderDate\r\n {\r\n get\r\n {\r\n return this._orderDate;\r\n }\r\n set\r\n {\r\n this._orderDate = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// ProductOffering reference. A product offering represents entities that are orderable from the provider of the catalog, this resource includes pricing information.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOffering\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ProductOfferingRef productOffering\r\n {\r\n get\r\n {\r\n return this._productOffering;\r\n }\r\n set\r\n {\r\n this._productOffering = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOrderItem\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public RelatedOrderItem[] productOrderItem\r\n {\r\n get\r\n {\r\n return this._productOrderItem;\r\n }\r\n set\r\n {\r\n this._productOrderItem = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"product\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ProductRefOrValue[] product\r\n {\r\n get\r\n {\r\n return this._product;\r\n }\r\n set\r\n {\r\n this._product = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productPrice\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ProductPrice[] productPrice\r\n {\r\n get\r\n {\r\n return this._productPrice;\r\n }\r\n set\r\n {\r\n this._productPrice = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productRelationship\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ProductRelationship[] productRelationship\r\n {\r\n get\r\n {\r\n return this._productRelationship;\r\n }\r\n set\r\n {\r\n this._productRelationship = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Is the serial number for the product. This is typically applicable to tangible products e.g. Broadband Router.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productSerialNumber\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string productSerialNumber\r\n {\r\n get\r\n {\r\n return this._productSerialNumber;\r\n }\r\n set\r\n {\r\n this._productSerialNumber = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productTerm\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ProductTerm[] productTerm\r\n {\r\n get\r\n {\r\n return this._productTerm;\r\n }\r\n set\r\n {\r\n this._productTerm = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"realizingResource\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ResourceRef[] realizingResource\r\n {\r\n get\r\n {\r\n return this._realizingResource;\r\n }\r\n set\r\n {\r\n this._realizingResource = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"realizingService\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ServiceRef[] realizingService\r\n {\r\n get\r\n {\r\n return this._realizingService;\r\n }\r\n set\r\n {\r\n this._realizingService = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"relatedParty\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public RelatedParty[] relatedParty\r\n {\r\n get\r\n {\r\n return this._relatedParty;\r\n }\r\n set\r\n {\r\n this._relatedParty = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"place\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public RelatedPlaceRefOrValue[] place\r\n {\r\n get\r\n {\r\n return this._place;\r\n }\r\n set\r\n {\r\n this._place = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Is the date from which the product starts\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"startDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? startDate\r\n {\r\n get\r\n {\r\n return this._startDate;\r\n }\r\n set\r\n {\r\n this._startDate = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Possible values for the status of the product\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"status\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string status\r\n {\r\n get\r\n {\r\n return this._status;\r\n }\r\n set\r\n {\r\n this._status = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Is the date when the product was terminated\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"terminationDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? terminationDate\r\n {\r\n get\r\n {\r\n return this._terminationDate;\r\n }\r\n set\r\n {\r\n this._terminationDate = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "QuoteItemRef", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class QuoteItemRef\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _quoteHref;\r\n \r\n private string _referredType;\r\n \r\n private string _quoteId;\r\n \r\n private string _quoteItemId;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Reference of the related quote.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"quoteHref\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string quoteHref\r\n {\r\n get\r\n {\r\n return this._quoteHref;\r\n }\r\n set\r\n {\r\n this._quoteHref = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Unique identifier of a refered quote.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"quoteId\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string quoteId\r\n {\r\n get\r\n {\r\n return this._quoteId;\r\n }\r\n set\r\n {\r\n this._quoteId = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Identifier of a quote item. \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"quoteItemId\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string quoteItemId\r\n {\r\n get\r\n {\r\n return this._quoteItemId;\r\n }\r\n set\r\n {\r\n this._quoteItemId = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "QuoteItemRef_FVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class QuoteItemRef_FVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _quoteHref;\r\n \r\n private string _referredType;\r\n \r\n private string _quoteId;\r\n \r\n private string _quoteItemId;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Reference of the related quote.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"quoteHref\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string quoteHref\r\n {\r\n get\r\n {\r\n return this._quoteHref;\r\n }\r\n set\r\n {\r\n this._quoteHref = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Unique identifier of a refered quote.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"quoteId\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string quoteId\r\n {\r\n get\r\n {\r\n return this._quoteId;\r\n }\r\n set\r\n {\r\n this._quoteId = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Identifier of a quote item. \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"quoteItemId\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string quoteItemId\r\n {\r\n get\r\n {\r\n return this._quoteItemId;\r\n }\r\n set\r\n {\r\n this._quoteItemId = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "QuoteItemRef_MVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class QuoteItemRef_MVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _quoteHref;\r\n \r\n private string _referredType;\r\n \r\n private string _quoteId;\r\n \r\n private string _quoteItemId;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Reference of the related quote.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"quoteHref\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string quoteHref\r\n {\r\n get\r\n {\r\n return this._quoteHref;\r\n }\r\n set\r\n {\r\n this._quoteHref = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Unique identifier of a refered quote.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"quoteId\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string quoteId\r\n {\r\n get\r\n {\r\n return this._quoteId;\r\n }\r\n set\r\n {\r\n this._quoteId = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Identifier of a quote item. \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"quoteItemId\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string quoteItemId\r\n {\r\n get\r\n {\r\n return this._quoteItemId;\r\n }\r\n set\r\n {\r\n this._quoteItemId = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "QuoteRef_FVO", "definition": "/// <summary>\r\n/// Quote reference. It's a Quote that has been executed previously.\r\n/// </summary>\r\npublic sealed class QuoteRef_FVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _href;\r\n \r\n private string _id;\r\n \r\n private string _name;\r\n \r\n private string _referredType;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Identifier of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "QuoteRef_MVO", "definition": "/// <summary>\r\n/// Quote reference. It's a Quote that has been executed previously.\r\n/// </summary>\r\npublic sealed class QuoteRef_MVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _href;\r\n \r\n private string _id;\r\n \r\n private string _name;\r\n \r\n private string _referredType;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Identifier of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Reference", "definition": "/// <summary>\r\n/// Reference schema .\r\n/// </summary>\r\npublic sealed class Reference\r\n{\r\n \r\n private string _id;\r\n \r\n private string _name;\r\n \r\n private string _referredType;\r\n \r\n /// <summary>\r\n /// Identifier of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Reference_FVO", "definition": "/// <summary>\r\n/// Reference schema .\r\n/// </summary>\r\npublic sealed class Reference_FVO\r\n{\r\n \r\n private string _id;\r\n \r\n private string _name;\r\n \r\n private string _referredType;\r\n \r\n /// <summary>\r\n /// Identifier of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Reference_MVO", "definition": "/// <summary>\r\n/// Reference schema .\r\n/// </summary>\r\npublic sealed class Reference_MVO\r\n{\r\n \r\n private string _id;\r\n \r\n private string _name;\r\n \r\n private string _referredType;\r\n \r\n /// <summary>\r\n /// Identifier of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "RelatedChannel", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class RelatedChannel\r\n{\r\n \r\n private string _id;\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _name;\r\n \r\n private string _referredType;\r\n \r\n private string _href;\r\n \r\n private string _role;\r\n \r\n /// <summary>\r\n /// A RelatedChannel system code. LOV: esys_ID values from ExternalSystems directory\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Role playing by the channel.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"role\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string role\r\n {\r\n get\r\n {\r\n return this._role;\r\n }\r\n set\r\n {\r\n this._role = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "RelatedChannel_FVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class RelatedChannel_FVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _id;\r\n \r\n private string _name;\r\n \r\n private string _referredType;\r\n \r\n private string _href;\r\n \r\n private string _role;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Identifier of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Role playing by the channel.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"role\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string role\r\n {\r\n get\r\n {\r\n return this._role;\r\n }\r\n set\r\n {\r\n this._role = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "RelatedChannel_MVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class RelatedChannel_MVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _id;\r\n \r\n private string _name;\r\n \r\n private string _referredType;\r\n \r\n private string _href;\r\n \r\n private string _role;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Identifier of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Role playing by the channel.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"role\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string role\r\n {\r\n get\r\n {\r\n return this._role;\r\n }\r\n set\r\n {\r\n this._role = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "RelatedOrderItem", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class RelatedOrderItem\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _orderItemAction;\r\n \r\n private string _orderHref;\r\n \r\n private string _referredType;\r\n \r\n private string _role;\r\n \r\n private string _orderId;\r\n \r\n private string _orderItemId;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// action to be performed on the entity managed by the item\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"orderItemAction\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string orderItemAction\r\n {\r\n get\r\n {\r\n return this._orderItemAction;\r\n }\r\n set\r\n {\r\n this._orderItemAction = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Reference of the related entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"orderHref\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string orderHref\r\n {\r\n get\r\n {\r\n return this._orderHref;\r\n }\r\n set\r\n {\r\n this._orderHref = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Role played by the Order\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"role\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string role\r\n {\r\n get\r\n {\r\n return this._role;\r\n }\r\n set\r\n {\r\n this._role = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Unique identifier of a related Order.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"orderId\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string orderId\r\n {\r\n get\r\n {\r\n return this._orderId;\r\n }\r\n set\r\n {\r\n this._orderId = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Id of an item of a prduct order\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"orderItemId\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string orderItemId\r\n {\r\n get\r\n {\r\n return this._orderItemId;\r\n }\r\n set\r\n {\r\n this._orderItemId = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "RelatedParty", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class RelatedParty\r\n{\r\n \r\n private string _referredType;\r\n \r\n private string _type;\r\n \r\n private string _id;\r\n \r\n private System.Int32? _iDType;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _href;\r\n \r\n private string _name;\r\n \r\n private string _role;\r\n \r\n /// <summary>\r\n /// An Entity name, available as a Related Party. LOV: supported value is \"Customers\"\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The @type attribute represents the actual class type of an entity. LOV: An Attribute Format value of the Object\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Entity identifier. LOV: Internal identifier value\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Sign of passing an external ID value. LOV: 1 - external ID, 0 - internal ID\r\n /// <c>p_ucp_set_ProductOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"IDType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? IDType\r\n {\r\n get\r\n {\r\n return this._iDType;\r\n }\r\n set\r\n {\r\n this._iDType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Role played by the related party\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"role\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string role\r\n {\r\n get\r\n {\r\n return this._role;\r\n }\r\n set\r\n {\r\n this._role = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "RelatedParty_FVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class RelatedParty_FVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _href;\r\n \r\n private string _id;\r\n \r\n private string _name;\r\n \r\n private string _referredType;\r\n \r\n private string _role;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Identifier of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Role played by the related party\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"role\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string role\r\n {\r\n get\r\n {\r\n return this._role;\r\n }\r\n set\r\n {\r\n this._role = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "RelatedParty_MVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class RelatedParty_MVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _href;\r\n \r\n private string _id;\r\n \r\n private string _name;\r\n \r\n private string _referredType;\r\n \r\n private string _role;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Identifier of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Role played by the related party\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"role\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string role\r\n {\r\n get\r\n {\r\n return this._role;\r\n }\r\n set\r\n {\r\n this._role = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "RelatedPlaceRefOrValue", "definition": "/// <summary>\r\n/// Related Entity reference. A related place defines a place described by reference or by value linked to a specific entity. The polymorphic attributes @type, @schemaLocation @referredType are related to the place entity and not the RelatedPlaceRefOrValue class itself\r\n/// </summary>\r\npublic sealed class RelatedPlaceRefOrValue\r\n{\r\n}\r\n", "isNativeDefinition": true }, { "name": "ResourceRef", "definition": "/// <summary>\r\n/// Resource reference, for when Resource is used by other entities.\r\n/// </summary>\r\npublic sealed class ResourceRef\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _href;\r\n \r\n private string _id;\r\n \r\n private string _name;\r\n \r\n private string _referredType;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Identifier of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ServiceConfig", "definition": "{\r\n\t\"$schema\": \"http://json-schema.org/draft-06/schema#\",\r\n\t\"$ref\": \"#/definitions/ServiceConfig\",\r\n\t\"definitions\": {\r\n\t\t\"ServiceConfig\": {\r\n\t\t\t\"type\": \"object\",\r\n\t\t\t\"additionalProperties\": false,\r\n\t\t\t\"properties\": {\r\n\t\t\t\t\"ConnectionString\": {\r\n\t\t\t\t\t\"type\": \"string\"\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t\"title\": \"ServiceConfig\"\r\n\t\t}\r\n\t}\r\n}", "isNativeDefinition": false }, { "name": "ServiceRef", "definition": "/// <summary>\r\n/// Service reference, for when Service is used by other entities.\r\n/// </summary>\r\npublic sealed class ServiceRef\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _href;\r\n \r\n private string _id;\r\n \r\n private string _name;\r\n \r\n private string _referredType;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Identifier of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "SystemException", "definition": "{\r\n \"$schema\":\"http://natec.tech/simpleschema\",\r\n \"$ref\":\"#/definitions/SystemException\",\r\n \"definitions\":{\r\n \"SystemException\":{\r\n \"type\":\"object\",\r\n \"properties\":{\r\n \"Exception\":{\r\n \"type\":\"types://core/System.Exception\"\r\n },\r\n \"info\":{\r\n \"type\":\"string\"\r\n }\r\n },\r\n \"title\":\"SystemException\"\r\n }\r\n }\r\n}", "isNativeDefinition": false }, { "name": "TimePeriod", "definition": "/// <summary>\r\n/// A period of time, either as a deadline (endDateTime only) a startDateTime only, or both\r\n/// </summary>\r\npublic sealed class TimePeriod\r\n{\r\n \r\n private System.DateTime? _startDateTime;\r\n \r\n private System.DateTime? _endDateTime;\r\n \r\n /// <summary>\r\n /// Start of the time period, using IETC-RFC-3339 format\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"startDateTime\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? startDateTime\r\n {\r\n get\r\n {\r\n return this._startDateTime;\r\n }\r\n set\r\n {\r\n this._startDateTime = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// End of the time period, using IETC-RFC-3339 format\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"endDateTime\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? endDateTime\r\n {\r\n get\r\n {\r\n return this._endDateTime;\r\n }\r\n set\r\n {\r\n this._endDateTime = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ProductOrder_Response_GET_OUTPUT", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class ProductOrder_Response_GET_OUTPUT\r\n{\r\n \r\n private string _category;\r\n \r\n private ProductOrderItem[] _productOrderItem;\r\n \r\n private System.Int64? _id;\r\n \r\n private OrderRelationship[] _orderRelationship;\r\n \r\n private string _state;\r\n \r\n private System.Int32? _x_Total_Count;\r\n \r\n private RelatedParty[] _relatedParty;\r\n \r\n private System.DateTime? _requestedStartDate;\r\n \r\n /// <summary>\r\n /// Used to categorize the order from order management system. LOV: value, provided by BSS template\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"category\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string category\r\n {\r\n get\r\n {\r\n return this._category;\r\n }\r\n set\r\n {\r\n this._category = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A ProductOrder items contain parameters to be performed on a productOffering or a product. LOV: A List of object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOrderItem\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ProductOrderItem[] productOrderItem\r\n {\r\n get\r\n {\r\n return this._productOrderItem;\r\n }\r\n set\r\n {\r\n this._productOrderItem = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Unique identifier of ProductOrder . LOV: An identifier of Agreements from BSS\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int64? id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The array of child order items is intended to reflect a hierarchical relationship of the services to be instantiated from the productOrder on base the product catalog specification, namely “cross-ref” to keep track of the child order (a Customer Facing Service). LOV: A List of object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"orderRelationship\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public OrderRelationship[] orderRelationship\r\n {\r\n get\r\n {\r\n return this._orderRelationship;\r\n }\r\n set\r\n {\r\n this._orderRelationship = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The state of task according to the lifecycle. LOV: terminatedWithError, accepted, InProgress, done\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"state\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string state\r\n {\r\n get\r\n {\r\n return this._state;\r\n }\r\n set\r\n {\r\n this._state = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// the total number of matching records (server paging). LOV: integer greater than zero\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"X-Total-Count\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? X_Total_Count\r\n {\r\n get\r\n {\r\n return this._x_Total_Count;\r\n }\r\n set\r\n {\r\n this._x_Total_Count = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A Related Party for this operation. LOV: A List of object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"relatedParty\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public RelatedParty[] relatedParty\r\n {\r\n get\r\n {\r\n return this._relatedParty;\r\n }\r\n set\r\n {\r\n this._relatedParty = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// No description\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"requestedStartDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? requestedStartDate\r\n {\r\n get\r\n {\r\n return this._requestedStartDate;\r\n }\r\n set\r\n {\r\n this._requestedStartDate = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ProductOrder_Response_POST", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class ProductOrder_Response_POST\r\n{\r\n \r\n private System.Int32? _iDType;\r\n \r\n private string _accept_Language;\r\n \r\n private string _category;\r\n \r\n private string _type;\r\n \r\n private ProductOrderItem[] _productOrderItem;\r\n \r\n private System.DateTime? _requestedStartDate;\r\n \r\n private string _x_ms_client_request_id;\r\n \r\n private System.Int64? _id;\r\n \r\n private System.DateTime? _requestedCompletionDate;\r\n \r\n private string _state;\r\n \r\n private OrderRelationship[] _orderRelationship;\r\n \r\n /// <summary>\r\n /// Sign of passing an external ID value. LOV: 1 - external ID, 0 - internal ID\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"IDType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? IDType\r\n {\r\n get\r\n {\r\n return this._iDType;\r\n }\r\n set\r\n {\r\n this._iDType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Specifying a language for a multi-language dataset. LOV: supported value are en-English, uk-Ukrainian, ru-russian\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"Accept-Language\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string Accept_Language\r\n {\r\n get\r\n {\r\n return this._accept_Language;\r\n }\r\n set\r\n {\r\n this._accept_Language = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Used to categorize the order from order management system. LOV: value, provided by BSS template\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"category\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string category\r\n {\r\n get\r\n {\r\n return this._category;\r\n }\r\n set\r\n {\r\n this._category = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The @type attribute represents the actual class type of an entity. LOV: ProductOrder\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A ProductOrder items contain parameters to be performed on a productOffering or a product. LOV: A List of object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOrderItem\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ProductOrderItem[] productOrderItem\r\n {\r\n get\r\n {\r\n return this._productOrderItem;\r\n }\r\n set\r\n {\r\n this._productOrderItem = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Order fulfillment start date wished by the requestor. LOV: Date without time, effective from 0:00\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"requestedStartDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? requestedStartDate\r\n {\r\n get\r\n {\r\n return this._requestedStartDate;\r\n }\r\n set\r\n {\r\n this._requestedStartDate = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A unique identifier for the search request, used for the GET operation.. LOV: generally a GUID value\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"x-ms-client-request-id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string x_ms_client_request_id\r\n {\r\n get\r\n {\r\n return this._x_ms_client_request_id;\r\n }\r\n set\r\n {\r\n this._x_ms_client_request_id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Unique identifier of ProductOrder . LOV: An identifier of Agreements from BSS\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int64? id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Effective Date for operation (differs from current for the past). LOV: Date without time, effective from 0:00\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"requestedCompletionDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? requestedCompletionDate\r\n {\r\n get\r\n {\r\n return this._requestedCompletionDate;\r\n }\r\n set\r\n {\r\n this._requestedCompletionDate = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The state of task according to the lifecycle. LOV: terminatedWithError, accepted, InProgress, done\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"state\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string state\r\n {\r\n get\r\n {\r\n return this._state;\r\n }\r\n set\r\n {\r\n this._state = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The array of child order items is intended to reflect a hierarchical relationship of the services to be instantiated from the productOrder on base the product catalog specification, namely “cross-ref” to keep track of the child order (a Customer Facing Service). LOV: A List of object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"orderRelationship\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public OrderRelationship[] orderRelationship\r\n {\r\n get\r\n {\r\n return this._orderRelationship;\r\n }\r\n set\r\n {\r\n this._orderRelationship = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ProductOrder_Response_PUT", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class ProductOrder_Response_PUT\r\n{\r\n \r\n private System.Int32? _iDType;\r\n \r\n private string _accept_Language;\r\n \r\n private string _category;\r\n \r\n private string _type;\r\n \r\n private ProductOrderItem[] _productOrderItem;\r\n \r\n private System.DateTime? _requestedStartDate;\r\n \r\n private string _x_ms_client_request_id;\r\n \r\n private System.Int64? _id;\r\n \r\n private System.DateTime? _requestedCompletionDate;\r\n \r\n private string _state;\r\n \r\n private OrderRelationship[] _orderRelationship;\r\n \r\n /// <summary>\r\n /// Sign of passing an external ID value. LOV: 1 - external ID, 0 - internal ID\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"IDType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? IDType\r\n {\r\n get\r\n {\r\n return this._iDType;\r\n }\r\n set\r\n {\r\n this._iDType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Specifying a language for a multi-language dataset. LOV: supported value are en-English, uk-Ukrainian, ru-russian\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"Accept-Language\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string Accept_Language\r\n {\r\n get\r\n {\r\n return this._accept_Language;\r\n }\r\n set\r\n {\r\n this._accept_Language = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Used to categorize the order from order management system. LOV: value, provided by BSS template\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"category\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string category\r\n {\r\n get\r\n {\r\n return this._category;\r\n }\r\n set\r\n {\r\n this._category = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The @type attribute represents the actual class type of an entity. LOV: ProductOrder\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A ProductOrder items contain parameters to be performed on a productOffering or a product. LOV: A List of object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"productOrderItem\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ProductOrderItem[] productOrderItem\r\n {\r\n get\r\n {\r\n return this._productOrderItem;\r\n }\r\n set\r\n {\r\n this._productOrderItem = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Order fulfillment start date wished by the requestor. LOV: Date without time, effective from 0:00\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"requestedStartDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? requestedStartDate\r\n {\r\n get\r\n {\r\n return this._requestedStartDate;\r\n }\r\n set\r\n {\r\n this._requestedStartDate = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A unique identifier for the search request, used for the GET operation.. LOV: generally a GUID value\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"x-ms-client-request-id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string x_ms_client_request_id\r\n {\r\n get\r\n {\r\n return this._x_ms_client_request_id;\r\n }\r\n set\r\n {\r\n this._x_ms_client_request_id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Unique identifier of ProductOrder . LOV: An identifier of Agreements from BSS\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int64? id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Effective Date for operation (differs from current for the past). LOV: Date without time, effective from 0:00\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"requestedCompletionDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? requestedCompletionDate\r\n {\r\n get\r\n {\r\n return this._requestedCompletionDate;\r\n }\r\n set\r\n {\r\n this._requestedCompletionDate = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The state of task according to the lifecycle. LOV: terminatedWithError, accepted, InProgress, done\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"state\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string state\r\n {\r\n get\r\n {\r\n return this._state;\r\n }\r\n set\r\n {\r\n this._state = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The array of child order items is intended to reflect a hierarchical relationship of the services to be instantiated from the productOrder on base the product catalog specification, namely “cross-ref” to keep track of the child order (a Customer Facing Service). LOV: A List of object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"orderRelationship\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public OrderRelationship[] orderRelationship\r\n {\r\n get\r\n {\r\n return this._orderRelationship;\r\n }\r\n set\r\n {\r\n this._orderRelationship = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }] [] - [ { "name": "HandleException", "initCode": "Error HandleException (\n\t\tPassingResult prevData\n\t) \n {\n try\n {\n //investigate the Exception \n Logger.LogInformation($\"Exception name : {prevData.Exception?.GetType()?.Name}\");\n\n Error result = new Error(){ status = \"500\"};\n if (prevData.Exception != null)\n {\n result = prevData.Exception.GetError(\"500\");\n }\n \n int statusCode = 500;\n int.TryParse(result?.status, out statusCode);\n \n WorkflowEnvironment.Variables[\"StatusCode\"] = 500; \n if (WorkflowEnvironment.Variables.TryGetValue (\"HttpResponse\", out object httpResponseObj))\n {\n Microsoft.AspNetCore.Http.HttpResponse response = httpResponseObj as Microsoft.AspNetCore.Http.HttpResponse;\n response.StatusCode = statusCode;\n } \n return result;\n }\n catch (Exception e) \n {\n Logger.LogError($\"HandleException:: error {e}\");\n if (WorkflowEnvironment.Variables.TryGetValue (\"HttpResponse\", out object httpResponseObj))\n {\n Microsoft.AspNetCore.Http.HttpResponse response = httpResponseObj as Microsoft.AspNetCore.Http.HttpResponse;\n //Parameters.x_ms_client_request_id\n response.StatusCode = 500;\n } \n return new Error() \n { \n status = \"500\",\n message = $\"Error while handle error ! {e.Message}\"\n };\n }\n }", "initParameters": [ { "name": "Result", "type": "Error" }, { "name": "prevData", "type": "PassingResult", "required": true } ] }, { "name": "PUT_p_ucp_set_ProductOrder", "initCode": "ProductOrder_Response_SET PUT_p_ucp_set_ProductOrder (\n\t\tstring x_ms_client_request_id,\n\t\tInt? id,\n\t\tstring state,\n\t\tstring category,\n\t\tstring atype,\n\t\tstring priority,\n\t\tInt? IsCheckBallance,\n\t\tdatetime? requestedCompletionDate,\n\t\tdatetime? requestedStartDate,\n\t\tInt? IsExternalID,\n\t\tstring Lang,\n\t\tstring ErrFormat,\n\t\tstring externalId,\n\t\tstring channel,\n\t\tstring note,\n\t\tstring productOrderItem,\n\t\tstring relatedParty,\n\t\tstring orderRelationship\n\t) \n {\n var p = new DynamicParameters();\n p.Add(\"x_ms_client_request_id\", value: x_ms_client_request_id, dbType: DbType.String, direction:ParameterDirection.InputOutput, size: 32);\n p.Add(\"id\", value: id, dbType: DbType.Int32, direction: ParameterDirection.InputOutput);\n p.Add(\"state\", value: state, dbType: DbType.String, direction: ParameterDirection.InputOutput, size:20);\n p.Add(\"category\", value: category, dbType: DbType.String, direction: ParameterDirection.InputOutput, size: 200);\n p.Add(\"atype\", value: atype, dbType: DbType.String, direction: ParameterDirection.InputOutput, size: 50);\n p.Add(\"priority\", value: priority, dbType: DbType.String, size: 10);\n p.Add(\"IsCheckBallance\", value: IsCheckBallance, dbType: DbType.Int32);\n p.Add(\"requestedCompletionDate\", value: requestedCompletionDate, direction: ParameterDirection.InputOutput, dbType: DbType.DateTime, size: 24);\n p.Add(\"requestedStartDate\", value: requestedStartDate, dbType: DbType.DateTime, direction: ParameterDirection.InputOutput, size: 24);\n p.Add(\"IsExternalID\", value: IsExternalID, dbType: DbType.Int32,direction: ParameterDirection.InputOutput);\n p.Add(\"Lang\", value: Lang, dbType: DbType.String, direction: ParameterDirection.InputOutput, size: 3);\n p.Add(\"ErrFormat\", value: ErrFormat, dbType: DbType.String, size: 25);\n p.Add(\"externalId\", value: externalId, dbType: DbType.String, size: -1);\n p.Add(\"channel\", value: channel, dbType: DbType.String, size: -1);\n p.Add(\"note\", value: note, dbType: DbType.String, size: -1);\n p.Add(\"productOrderItem\", value: productOrderItem, dbType: DbType.String, direction: ParameterDirection.InputOutput, size: -1);\n p.Add(\"relatedParty\", value: relatedParty, dbType: DbType.String, size: -1);\n p.Add(\"orderRelationship\", value: orderRelationship, dbType: DbType.String, direction: ParameterDirection.InputOutput, size: -1);\n\n\n\n string unibillConnection = Parameters.sqlConnectionString;\n var procedure = \"[dbo].[p_ucp_set_ProductOrder]\";\n using (var connection = new SqlConnection(unibillConnection))\n {\n connection.Execute(procedure, p, commandType: CommandType.StoredProcedure, commandTimeout:0);\n }\n\n ProductOrder_Response_SET result = new ProductOrder_Response_SET();\n result.productOrderItem = new JSON(p.Get<string>(\"productOrderItem\")).Cast<ProductOrderItem[]>();\n result.requestedStartDate = p.Get<DateTime>(\"requestedStartDate\");\n result.requestedCompletionDate = p.Get<DateTime>(\"requestedCompletionDate\"); \n result.category = p.Get<string>(\"category\");\n result.id = p.Get<int>(\"id\");\n result.IDType = p.Get<int>(\"IsExternalID\");\n result.orderRelationship = new JSON(p.Get<string>(\"orderRelationship\")).Cast<OrderRelationship[]>();\n result.state = p.Get<string>(\"state\");\n result.type = p.Get<string>(\"atype\");\n\n \n WorkflowEnvironment.Variables[\"StatusCode\"] = \"200\";\n if (WorkflowEnvironment.RuntimeName == \"Plugin\")\n {\n if (WorkflowEnvironment.Variables.TryGetValue(\"HttpResponse\", out object httpResponseObj))\n {\n Microsoft.AspNetCore.Http.HttpResponse response = httpResponseObj as Microsoft.AspNetCore.Http.HttpResponse;\n response.StatusCode = 200;\n response.Headers[\"x_ms_client_request_id\"] = p.Get<string>(\"x_ms_client_request_id\");\n response.Headers[\"Accept-Language\"] = p.Get<string>(\"Lang\");\n }\n }\n else\n {\n result.x_ms_client_request_id = p.Get<string>(\"x_ms_client_request_id\");\n result.Accept_Language = p.Get<string>(\"Lang\");\n }\n\n\n return result;\n \n }", "initParameters": [ { "name": "Result", "type": "ProductOrder_Response_SET" }, { "name": "x_ms_client_request_id", "type": "string", "required": false }, { "name": "id", "type": "Int?", "required": false }, { "name": "state", "type": "string", "required": false }, { "name": "category", "type": "string", "required": false }, { "name": "atype", "type": "string", "required": false }, { "name": "priority", "type": "string", "required": false }, { "name": "IsCheckBallance", "type": "Int?", "required": false }, { "name": "requestedCompletionDate", "type": "datetime?", "required": false }, { "name": "requestedStartDate", "type": "datetime?", "required": false }, { "name": "IsExternalID", "type": "Int?", "required": false }, { "name": "Lang", "type": "string", "required": false }, { "name": "ErrFormat", "type": "string", "required": false }, { "name": "externalId", "type": "string", "required": false }, { "name": "channel", "type": "string", "required": false }, { "name": "note", "type": "string", "required": false }, { "name": "productOrderItem", "type": "string", "required": false }, { "name": "relatedParty", "type": "string", "required": false }, { "name": "orderRelationship", "type": "string", "required": false } ] }, { "name": "get_Note", "initCode": "Note[] get_Note (\n\t) \n {\n string v_author = null;\n string v_hostname = null;\n Note[] notes = null;\n \n if (this.WorkflowEnvironment.Variables.TryGetValue(\"ConfigString\", out object configStr))\n {\n var configJson = new JSON(configStr).Cast<ServiceConfig>();\n if(!string.IsNullOrEmpty(configJson?.ConnectionString))\n {\n Parameters.sqlConnectionString = configJson.ConnectionString;\n }\n \n }; \n \n if(WorkflowEnvironment.RuntimeName == \"Plugin\")\n {\n if (this.WorkflowEnvironment.Variables.TryGetValue(\"ApiContext\", out object apiContextObj))\n {\n IApiContext apiContext = apiContextObj as IApiContext;\n v_author = apiContext.DataBag.UserName;\n v_hostname = apiContext.DataBag.From;\n }\n\t\t\t\tvar note = Input.note?.Select(n => new Note()\n\t\t\t\t{\n\t\t\t\t\tauthor = n.author,\n\t\t\t\t\thostname = n.hostname,\n\t\t\t\t\ttext = n.text\n\t\t\t\t})?.FirstOrDefault() ?? new Note();\n\t\t\t\t\n\t\t\t\tnote.author = v_author;\n\t\t\t\tnote.hostname = v_hostname;\n\t\t\t\t\n notes = new Note[1]{note};\n }\n else\n {\n notes = Input.note; \n }\n return notes.ToList(); \n }", "initParameters": [ { "name": "Result", "type": "Note[]" } ] }, { "name": "format_Validation_Error", "initCode": "Error format_Validation_Error (\n\t) \n {\n if (WorkflowEnvironment.Variables.TryGetValue (\"HttpResponse\", out object httpResponseObj))\n {\n Microsoft.AspNetCore.Http.HttpResponse response = httpResponseObj as Microsoft.AspNetCore.Http.HttpResponse;\n //Parameters.x_ms_client_request_id\n response.StatusCode = 404;\n } \n return new Error() \n { \n status = \"404\",\n message = $\"Validation error : id must be greater than 0\",\n reason = \"not found\"\n };\n }", "initParameters": [ { "name": "Result", "type": "Error" } ] }] + [ { "name": "HandleException", "initCode": "Error HandleException (\n\t\tPassingResult prevData\n\t) \n {\n try\n {\n //investigate the Exception \n Logger.LogInformation($\"Exception name : {prevData.Exception?.GetType()?.Name}\");\n\n Error result = new Error(){ status = \"500\"};\n if (prevData.Exception != null)\n {\n result = prevData.Exception.GetError(\"500\");\n }\n \n int statusCode = 500;\n int.TryParse(result?.status, out statusCode);\n \n WorkflowEnvironment.Variables[\"StatusCode\"] = 500; \n if (WorkflowEnvironment.Variables.TryGetValue (\"HttpResponse\", out object httpResponseObj))\n {\n Microsoft.AspNetCore.Http.HttpResponse response = httpResponseObj as Microsoft.AspNetCore.Http.HttpResponse;\n response.StatusCode = statusCode;\n } \n return result;\n }\n catch (Exception e) \n {\n Logger.LogError($\"HandleException:: error {e}\");\n if (WorkflowEnvironment.Variables.TryGetValue (\"HttpResponse\", out object httpResponseObj))\n {\n Microsoft.AspNetCore.Http.HttpResponse response = httpResponseObj as Microsoft.AspNetCore.Http.HttpResponse;\n //Parameters.x_ms_client_request_id\n response.StatusCode = 500;\n } \n return new Error() \n { \n status = \"500\",\n message = $\"Error while handle error ! {e.Message}\"\n };\n }\n }", "initParameters": [ { "name": "Result", "type": "Error" }, { "name": "prevData", "type": "PassingResult", "required": true } ] }, { "name": "PUT_p_ucp_set_ProductOrder", "initCode": "ProductOrder_Response_SET PUT_p_ucp_set_ProductOrder (\n\t\tstring x_ms_client_request_id,\n\t\tInt? id,\n\t\tstring state,\n\t\tstring category,\n\t\tstring atype,\n\t\tstring priority,\n\t\tInt? IsCheckBallance,\n\t\tdatetime? requestedCompletionDate,\n\t\tdatetime? requestedStartDate,\n\t\tInt? IsExternalID,\n\t\tstring Lang,\n\t\tstring ErrFormat,\n\t\tstring externalId,\n\t\tstring channel,\n\t\tstring note,\n\t\tstring productOrderItem,\n\t\tstring relatedParty,\n\t\tstring orderRelationship\n\t) \n {\n var p = new DynamicParameters();\n p.Add(\"x_ms_client_request_id\", value: x_ms_client_request_id, dbType: DbType.String, direction:ParameterDirection.InputOutput, size: 32);\n p.Add(\"id\", value: id, dbType: DbType.Int32, direction: ParameterDirection.InputOutput);\n p.Add(\"state\", value: state, dbType: DbType.String, direction: ParameterDirection.InputOutput, size:20);\n p.Add(\"category\", value: category, dbType: DbType.String, direction: ParameterDirection.InputOutput, size: 200);\n p.Add(\"atype\", value: atype, dbType: DbType.String, direction: ParameterDirection.InputOutput, size: 50);\n p.Add(\"priority\", value: priority, dbType: DbType.String, size: 10);\n p.Add(\"IsCheckBallance\", value: IsCheckBallance, dbType: DbType.Int32);\n p.Add(\"requestedCompletionDate\", value: requestedCompletionDate, direction: ParameterDirection.InputOutput, dbType: DbType.DateTime, size: 24);\n p.Add(\"requestedStartDate\", value: requestedStartDate, dbType: DbType.DateTime, direction: ParameterDirection.InputOutput, size: 24);\n p.Add(\"IsExternalID\", value: IsExternalID, dbType: DbType.Int32,direction: ParameterDirection.InputOutput);\n p.Add(\"Lang\", value: Lang, dbType: DbType.String, direction: ParameterDirection.InputOutput, size: 3);\n p.Add(\"ErrFormat\", value: ErrFormat, dbType: DbType.String, size: 25);\n p.Add(\"externalId\", value: externalId, dbType: DbType.String, size: -1);\n p.Add(\"channel\", value: channel, dbType: DbType.String, size: -1);\n p.Add(\"note\", value: note, dbType: DbType.String, size: -1);\n p.Add(\"productOrderItem\", value: productOrderItem, dbType: DbType.String, direction: ParameterDirection.InputOutput, size: -1);\n p.Add(\"relatedParty\", value: relatedParty, dbType: DbType.String, size: -1);\n p.Add(\"orderRelationship\", value: orderRelationship, dbType: DbType.String, direction: ParameterDirection.InputOutput, size: -1);\n\n\n\n string dbConnection = Parameters.sqlConnectionString;\n var procedure = \"[dbo].[p_ucp_set_ProductOrder]\";\n using (var connection = new SqlConnection(dbConnection))\n {\n connection.Execute(procedure, p, commandType: CommandType.StoredProcedure, commandTimeout:0);\n }\n\n ProductOrder_Response_SET result = new ProductOrder_Response_SET();\n result.productOrderItem = new JSON(p.Get<string>(\"productOrderItem\")).Cast<ProductOrderItem[]>();\n result.requestedStartDate = p.Get<DateTime>(\"requestedStartDate\");\n result.requestedCompletionDate = p.Get<DateTime>(\"requestedCompletionDate\"); \n result.category = p.Get<string>(\"category\");\n result.id = p.Get<int>(\"id\");\n result.IDType = p.Get<int>(\"IsExternalID\");\n result.orderRelationship = new JSON(p.Get<string>(\"orderRelationship\")).Cast<OrderRelationship[]>();\n result.state = p.Get<string>(\"state\");\n result.type = p.Get<string>(\"atype\");\n\n \n WorkflowEnvironment.Variables[\"StatusCode\"] = \"200\";\n if (WorkflowEnvironment.RuntimeName == \"Plugin\")\n {\n if (WorkflowEnvironment.Variables.TryGetValue(\"HttpResponse\", out object httpResponseObj))\n {\n Microsoft.AspNetCore.Http.HttpResponse response = httpResponseObj as Microsoft.AspNetCore.Http.HttpResponse;\n response.StatusCode = 200;\n response.Headers[\"x_ms_client_request_id\"] = p.Get<string>(\"x_ms_client_request_id\");\n response.Headers[\"Accept-Language\"] = p.Get<string>(\"Lang\");\n }\n }\n else\n {\n result.x_ms_client_request_id = p.Get<string>(\"x_ms_client_request_id\");\n result.Accept_Language = p.Get<string>(\"Lang\");\n }\n\n\n return result;\n \n }", "initParameters": [ { "name": "Result", "type": "ProductOrder_Response_SET" }, { "name": "x_ms_client_request_id", "type": "string", "required": false }, { "name": "id", "type": "Int?", "required": false }, { "name": "state", "type": "string", "required": false }, { "name": "category", "type": "string", "required": false }, { "name": "atype", "type": "string", "required": false }, { "name": "priority", "type": "string", "required": false }, { "name": "IsCheckBallance", "type": "Int?", "required": false }, { "name": "requestedCompletionDate", "type": "datetime?", "required": false }, { "name": "requestedStartDate", "type": "datetime?", "required": false }, { "name": "IsExternalID", "type": "Int?", "required": false }, { "name": "Lang", "type": "string", "required": false }, { "name": "ErrFormat", "type": "string", "required": false }, { "name": "externalId", "type": "string", "required": false }, { "name": "channel", "type": "string", "required": false }, { "name": "note", "type": "string", "required": false }, { "name": "productOrderItem", "type": "string", "required": false }, { "name": "relatedParty", "type": "string", "required": false }, { "name": "orderRelationship", "type": "string", "required": false } ] }, { "name": "get_Note", "initCode": "Note[] get_Note (\n\t) \n {\n string v_author = null;\n string v_hostname = null;\n Note[] notes = null;\n \n if (this.WorkflowEnvironment.Variables.TryGetValue(\"ConfigString\", out object configStr))\n {\n var configJson = new JSON(configStr).Cast<ServiceConfig>();\n if(!string.IsNullOrEmpty(configJson?.ConnectionString))\n {\n Parameters.sqlConnectionString = configJson.ConnectionString;\n }\n \n }; \n \n if(WorkflowEnvironment.RuntimeName == \"Plugin\")\n {\n if (this.WorkflowEnvironment.Variables.TryGetValue(\"ApiContext\", out object apiContextObj))\n {\n IApiContext apiContext = apiContextObj as IApiContext;\n v_author = apiContext.DataBag.UserName;\n v_hostname = apiContext.DataBag.From;\n }\n\t\t\t\tvar note = Input.note?.Select(n => new Note()\n\t\t\t\t{\n\t\t\t\t\tauthor = n.author,\n\t\t\t\t\thostname = n.hostname,\n\t\t\t\t\ttext = n.text\n\t\t\t\t})?.FirstOrDefault() ?? new Note();\n\t\t\t\t\n\t\t\t\tnote.author = v_author;\n\t\t\t\tnote.hostname = v_hostname;\n\t\t\t\t\n notes = new Note[1]{note};\n }\n else\n {\n notes = Input.note; \n }\n return notes.ToList(); \n }", "initParameters": [ { "name": "Result", "type": "Note[]" } ] }, { "name": "format_Validation_Error", "initCode": "Error format_Validation_Error (\n\t) \n {\n if (WorkflowEnvironment.Variables.TryGetValue (\"HttpResponse\", out object httpResponseObj))\n {\n Microsoft.AspNetCore.Http.HttpResponse response = httpResponseObj as Microsoft.AspNetCore.Http.HttpResponse;\n //Parameters.x_ms_client_request_id\n response.StatusCode = 404;\n } \n return new Error() \n { \n status = \"404\",\n message = $\"Validation error : id must be greater than 0\",\n reason = \"not found\"\n };\n }", "initParameters": [ { "name": "Result", "type": "Error" } ] }] [] [ { "name": "RestApi", "initCode": "functions://default/RestApi", "initParameters": [ { "name": "Uri", "type": "Uri", "required": true, "oldName": "Uri", "defaultValue": "http://servername:port/resource" }, { "name": "Method", "type": "string", "required": true, "oldName": "Method", "defaultValue": "GET" }, { "name": "Login", "type": "string", "required": false, "oldName": "Login", "defaultValue": null }, { "name": "Password", "type": "string", "required": false, "oldName": "Password", "defaultValue": null }, { "name": "Headers", "type": "StringDictionary", "required": false, "oldName": "Headers", "defaultValue": "{\r\n \"Content-Type\":\"application/json;charset=utf-16\",\r\n \"system\":\"204\",\r\n \"global_unique_id\":\"6a297fcb-956e-4228-8c11-017e9bacd629\"\r\n }" }, { "name": "Body", "type": "string", "required": false, "oldName": "Body", "defaultValue": "{}" }, { "name": "Encoding", "type": "string", "required": false, "oldName": "Encoding", "defaultValue": "utf-8" }, { "name": "Result", "type": "HttpResponse", "required": false, "oldName": "Result", "defaultValue": null } ], "oldName": "RestApi" }, { "name": "RestApi_Get", "initCode": "functions://default/RestApi/Get", "initParameters": [ { "name": "Uri", "type": "Uri", "required": true, "oldName": "Uri", "defaultValue": "http://servername:port/resource" }, { "name": "Login", "type": "string", "required": false, "oldName": "Login", "defaultValue": null }, { "name": "Password", "type": "string", "required": false, "oldName": "Password", "defaultValue": null }, { "name": "Headers", "type": "StringDictionary", "required": false, "oldName": "Headers", "defaultValue": "{\r\n \"Content-Type\":\"application/json;charset=utf-16\",\r\n \"system\":\"204\",\r\n \"global_unique_id\":\"6a297fcb-956e-4228-8c11-017e9bacd629\"\r\n }" }, { "name": "Encoding", "type": "string", "required": false, "oldName": "Encoding", "defaultValue": "utf-8" }, { "name": "Result", "type": "HttpResponse", "required": false, "oldName": "Result", "defaultValue": null } ], "oldName": "RestApi_Get" }, { "name": "JsonPath", "initCode": "functions://default//JsonPath", "initParameters": [ { "name": "Response", "type": "HttpResponse", "required": true, "oldName": "Response", "defaultValue": null }, { "name": "Path", "type": "string", "required": false, "oldName": "Path", "defaultValue": "$" }, { "name": "Result", "type": "Json", "required": false, "oldName": "Result", "defaultValue": null } ], "oldName": "JsonPath" }, { "name": "SaveVariable", "initCode": "functions://default//SaveVariable", "initParameters": [ { "name": "VariableName", "type": "string", "required": true, "oldName": "VariableName", "defaultValue": "varName" }, { "name": "Data", "type": "object", "required": true, "oldName": "Data", "defaultValue": "#previous" } ], "oldName": "SaveVariable" }, { "name": "Wait", "initCode": "functions://default//Wait", "initParameters": [ { "name": "millisecondsTimeout", "type": "int", "required": true, "oldName": "millisecondsTimeout", "defaultValue": "1000" } ], "oldName": "Wait" }, { "name": "SQL_Oracle_Query", "initCode": "functions://default//SQL/Oracle/Query", "initParameters": [ { "name": "userID", "type": "string", "required": true, "oldName": "userID", "defaultValue": null }, { "name": "password", "type": "string", "required": false, "oldName": "password", "defaultValue": null }, { "name": "dataSource", "type": "string", "required": false, "oldName": "dataSource", "defaultValue": null }, { "name": "query", "type": "string", "required": false, "oldName": "query", "defaultValue": null }, { "name": "Result", "type": "Collection", "required": false, "oldName": "Result", "defaultValue": null } ], "oldName": "SQL_Oracle_Query" }, { "name": "SQL_Oracle_Command", "initCode": "functions://default//SQL/Oracle/Command", "initParameters": [ { "name": "userID", "type": "string", "required": true, "oldName": "userID", "defaultValue": null }, { "name": "password", "type": "string", "required": false, "oldName": "password", "defaultValue": null }, { "name": "dataSource", "type": "string", "required": false, "oldName": "dataSource", "defaultValue": null }, { "name": "command", "type": "string", "required": false, "oldName": "command", "defaultValue": null }, { "name": "Result", "type": "int", "required": false, "oldName": "Result", "defaultValue": null } ], "oldName": "SQL_Oracle_Command" }] [] - [ { "name": "oracleConfig", "type": "OracleConfig", "initialValue": "{\r\n \"userId\":\"login\",\r\n \"password\":\"password\",\r\n \"dataSource\":\"10.49.1.198:1521/bisdb_prm.kyivstar.ua\"\r\n}\r\n" }, { "name": "httpConfig", "type": "HttpConfig", "initialValue": "{\r\n \"host\":\"https://10.29.101.122\",\r\n \"port\":\"6992\",\r\n \"login\":\"login\",\r\n \"password\":\"password\",\r\n \"encoding\":\"utf-8\",\r\n \"headers\":{\r\n \"Content-Type\":\"application/vnd.api+json\",\r\n \"Accept\":\"application/vnd.api+json\"\r\n }\r\n}\r\n" }, { "name": "sqlConnectionString", "type": "string", "initialValue": "Data Source=sqlserv;Initial Catalog=unibill;User ID=login;Password=password;MultipleActiveResultSets=true;Encrypt=True;TrustServerCertificate=True;Command Timeout=3600" }] - { "priority": "1", "IDType": 0, "requestedCompletionDate": "2023-11-01T00:00:00Z", "requestedStartDate": "2023-11-01T00:00:00Z", "note": [ { "author": "domain+username", "hostname": "192.156.7.77", "text": "This is a GSM product order change", "@type": "Note" } ], "productOrderItem": [ { "id": "6295394", "action": "change", "product": { "productCharacteristic": [ { "id": "TemplateID", "valueType": "Integer", "value": 6209 } ], "productSpecification": { "id": "TariffPackage" } } } ], "relatedParty": [ { "id": "7702703", "@referredType": "Customers" } ]} + [ { "name": "oracleConfig", "type": "OracleConfig", "initialValue": "{\r\n \"userId\":\"login\",\r\n \"password\":\"password\",\r\n \"dataSource\":\"localhost:1521/XEPDB1\"\r\n}\r\n" }, { "name": "httpConfig", "type": "HttpConfig", "initialValue": "{\r\n \"host\":\"https://localhost\",\r\n \"port\":\"6992\",\r\n \"login\":\"login\",\r\n \"password\":\"password\",\r\n \"encoding\":\"utf-8\",\r\n \"headers\":{\r\n \"Content-Type\":\"application/vnd.api+json\",\r\n \"Accept\":\"application/vnd.api+json\"\r\n }\r\n}\r\n" }, { "name": "sqlConnectionString", "type": "string", "initialValue": "Data Source=localhost;Initial Catalog=examples;User ID=login;Password=;MultipleActiveResultSets=true;Encrypt=True;TrustServerCertificate=True;Command Timeout=3600" }] + { "priority": "1", "IDType": 0, "requestedCompletionDate": "2023-11-01T00:00:00Z", "requestedStartDate": "2023-11-01T00:00:00Z", "note": [ { "author": "domain+username", "hostname": "localhost", "text": "This is a GSM product order change", "@type": "Note" } ], "productOrderItem": [ { "id": "6295394", "action": "change", "product": { "productCharacteristic": [ { "id": "TemplateID", "valueType": "Integer", "value": 6209 } ], "productSpecification": { "id": "TariffPackage" } } } ], "relatedParty": [ { "id": "7702703", "@referredType": "Customers" } ]} - { "status": "HttpRequestAttributes", "method": "PUT", "route": "{id:long}", "examples": { "SUCCESS": { "summary": "", "description": "", "value": "{\n \"idType\": 0,\n \"productOrderItem\": [\n {\n \"product\": {\n \"productCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ExtentionNumber\",\n \"value\": \"38671234568\",\n \"valueType\": \"String\"\n }\n ],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"MSISDN\",\n \"name\": \"MSISDN\"\n }\n },\n \"action\": \"change\",\n \"id\": \"01-15479440\"\n }\n ],\n \"requestedStartDate\": \"2024-04-01T00:00:00\",\n \"id\": 2285544,\n \"requestedCompletionDate\": \"2024-03-19T19:19:14.53\",\n \"state\": \"Completed\",\n \"orderRelationship\": [\n {\n \"id\": \"01-7702376\",\n \"type\": \"cross-ref\"\n }\n ]\n}" }, "SUCCESS Package Change": { "summary": "", "description": "", "value": "{\n \"priority\":\"1\",\n \"IDType\":0,\n \"requestedCompletionDate\":\"2023-11-01T00:00:00.000Z\",\n \"requestedStartDate\":\"2023-11-01T00:00:00.000Z\",\n \"note\":[\n {\n \"author\":\"domain+username\",\n \"hostname\":\"192.156.7.77\",\n \"text\":\"This is a GSM product order change\",\n \"@type\":\"Note\"\n }\n ],\n \"productOrderItem\":[\n {\n \"id\":\"6295394\",\n \"action\":\"change\",\n \"product\":{\n \"productCharacteristic\":[\n {\n \"id\":\"TemplateID\",\n \"valueType\":\"Integer\",\n \"value\":6209\n }\n ],\n \"productSpecification\":{\n \"id\":\"TariffPackage\"\n }\n }\n }\n ],\n \"relatedParty\":[\n {\n \"id\":\"7702703\",\n \"@referredType\":\"Customers\"\n }\n ]\n}" }, "SUCCESS Plan change": { "summary": "", "description": "", "value": "{\n \"priority\":\"1\",\n \"IDType\":0,\n \"requestedCompletionDate\":\"2024-05-01T00:00:00.000Z\",\n \"requestedStartDate\":\"2024-05-01T00:00:00.000Z\",\n \"note\":[\n {\n \"author\":\"domain+username\",\n \"hostname\":\"192.156.7.77\",\n \"text\":\"This is Tariff Package change\",\n \"@type\":\"Note\"\n }\n ],\n \"productOrderItem\":[\n {\n \"id\": \"01-15479383\",\n \"action\":\"change\",\n \"product\": {\n \"productCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ExtentionNumber\",\n \"value\": \"671234568\",\n \"valueType\": \"String\"\n }\n ],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"MSISDN\",\n \"name\": \"MSISDN\"\n }\n }\n }\n ]\n}" } }} + { "status": "HttpRequestAttributes", "method": "PUT", "route": "{id:long}", "examples": { "SUCCESS": { "summary": "", "description": "", "value": "{\n \"idType\": 0,\n \"productOrderItem\": [\n {\n \"product\": {\n \"productCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ExtentionNumber\",\n \"value\": \"38671234568\",\n \"valueType\": \"String\"\n }\n ],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"MSISDN\",\n \"name\": \"MSISDN\"\n }\n },\n \"action\": \"change\",\n \"id\": \"01-15479440\"\n }\n ],\n \"requestedStartDate\": \"2024-04-01T00:00:00\",\n \"id\": 2285544,\n \"requestedCompletionDate\": \"2024-03-19T19:19:14.53\",\n \"state\": \"Completed\",\n \"orderRelationship\": [\n {\n \"id\": \"01-7702376\",\n \"type\": \"cross-ref\"\n }\n ]\n}" }, "SUCCESS Package Change": { "summary": "", "description": "", "value": "{\n \"priority\":\"1\",\n \"IDType\":0,\n \"requestedCompletionDate\":\"2023-11-01T00:00:00.000Z\",\n \"requestedStartDate\":\"2023-11-01T00:00:00.000Z\",\n \"note\":[\n {\n \"author\":\"domain+username\",\n \"hostname\":\"localhost\",\n \"text\":\"This is a GSM product order change\",\n \"@type\":\"Note\"\n }\n ],\n \"productOrderItem\":[\n {\n \"id\":\"6295394\",\n \"action\":\"change\",\n \"product\":{\n \"productCharacteristic\":[\n {\n \"id\":\"TemplateID\",\n \"valueType\":\"Integer\",\n \"value\":6209\n }\n ],\n \"productSpecification\":{\n \"id\":\"TariffPackage\"\n }\n }\n }\n ],\n \"relatedParty\":[\n {\n \"id\":\"7702703\",\n \"@referredType\":\"Customers\"\n }\n ]\n}" }, "SUCCESS Plan change": { "summary": "", "description": "", "value": "{\n \"priority\":\"1\",\n \"IDType\":0,\n \"requestedCompletionDate\":\"2024-05-01T00:00:00.000Z\",\n \"requestedStartDate\":\"2024-05-01T00:00:00.000Z\",\n \"note\":[\n {\n \"author\":\"domain+username\",\n \"hostname\":\"localhost\",\n \"text\":\"This is Tariff Package change\",\n \"@type\":\"Note\"\n }\n ],\n \"productOrderItem\":[\n {\n \"id\": \"01-15479383\",\n \"action\":\"change\",\n \"product\": {\n \"productCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ExtentionNumber\",\n \"value\": \"671234568\",\n \"valueType\": \"String\"\n }\n ],\n \"productSpecification\": {\n \"@type\": \"ProductSpecificationRef\",\n \"id\": \"MSISDN\",\n \"name\": \"MSISDN\"\n }\n }\n }\n ]\n}" } }} Flow_0xuw6mo diff --git a/tmforum-apis/TMF640_Service_Activation_and_Configuration/TMF640-Service_Activation_and_Configuration-v5.0.0.oas.yaml b/tmforum-apis/TMF640_Service_Activation_and_Configuration/TMF640-Service_Activation_and_Configuration-v5.0.0.oas.yaml index c73f549..b19ec76 100644 --- a/tmforum-apis/TMF640_Service_Activation_and_Configuration/TMF640-Service_Activation_and_Configuration-v5.0.0.oas.yaml +++ b/tmforum-apis/TMF640_Service_Activation_and_Configuration/TMF640-Service_Activation_and_Configuration-v5.0.0.oas.yaml @@ -4573,7 +4573,7 @@ components: value: '@type': JSONSpecification '@schemaLocation': 'http://my.schemas/vCPE.schema.json' - vCPE_IP: 193.218.236.21 + vCPE_IP: localhost MaxTxRate: 300 TransmitPower: 11 dBm maxTream: 'OFF' @@ -4762,7 +4762,7 @@ components: value: '@type': JSONSpecification '@schemaLocation': 'http://my.schemas/vCPE.schema.json' - vCPE_IP: 193.218.236.21 + vCPE_IP: localhost MaxTxRate: 300 TransmitPower: 11 dBm maxTream: 'OFF' diff --git a/tmforum-apis/TMF640_Service_Activation_and_Configuration/TMF640_Get_Service.bpmn b/tmforum-apis/TMF640_Service_Activation_and_Configuration/TMF640_Get_Service.bpmn index 868a2e7..54841de 100644 --- a/tmforum-apis/TMF640_Service_Activation_and_Configuration/TMF640_Get_Service.bpmn +++ b/tmforum-apis/TMF640_Service_Activation_and_Configuration/TMF640_Get_Service.bpmn @@ -7,7 +7,7 @@ [] [ { "name": "RestApi", "initCode": "functions://default/RestApi", "initParameters": [ { "name": "Uri", "type": "Uri", "required": true, "oldName": "Uri", "defaultValue": "http://servername:port/resource" }, { "name": "Method", "type": "String", "required": true, "oldName": "Method", "defaultValue": "GET" }, { "name": "Login", "type": "String", "required": false, "oldName": "Login", "defaultValue": null }, { "name": "Password", "type": "String", "required": false, "oldName": "Password", "defaultValue": null }, { "name": "Headers", "type": "StringDictionary", "required": false, "oldName": "Headers", "defaultValue": "{\r\n \"Content-Type\":\"application/json;charset=utf-16\",\r\n \"system\":\"204\",\r\n \"global_unique_id\":\"6a297fcb-956e-4228-8c11-017e9bacd629\"\r\n }" }, { "name": "Body", "type": "String", "required": false, "oldName": "Body", "defaultValue": "{}" }, { "name": "Encoding", "type": "String", "required": false, "oldName": "Encoding", "defaultValue": "utf-8" }, { "name": "Result", "type": "HttpResponse", "required": false, "oldName": "Result", "defaultValue": null } ], "oldName": "RestApi" }, { "name": "RestApi_Get", "initCode": "functions://default/RestApi/Get", "initParameters": [ { "name": "Uri", "type": "Uri", "required": true, "oldName": "Uri", "defaultValue": "http://servername:port/resource" }, { "name": "Login", "type": "String", "required": false, "oldName": "Login", "defaultValue": null }, { "name": "Password", "type": "String", "required": false, "oldName": "Password", "defaultValue": null }, { "name": "Headers", "type": "StringDictionary", "required": false, "oldName": "Headers", "defaultValue": "{\r\n \"Content-Type\":\"application/json;charset=utf-16\",\r\n \"system\":\"204\",\r\n \"global_unique_id\":\"6a297fcb-956e-4228-8c11-017e9bacd629\"\r\n }" }, { "name": "Encoding", "type": "String", "required": false, "oldName": "Encoding", "defaultValue": "utf-8" }, { "name": "Result", "type": "HttpResponse", "required": false, "oldName": "Result", "defaultValue": null } ], "oldName": "RestApi_Get" }, { "name": "JsonPath", "initCode": "functions://default//JsonPath", "initParameters": [ { "name": "Response", "type": "HttpResponse", "required": true, "oldName": "Response", "defaultValue": null }, { "name": "Path", "type": "String", "required": false, "oldName": "Path", "defaultValue": "$" }, { "name": "Result", "type": "Json", "required": false, "oldName": "Result", "defaultValue": null } ], "oldName": "JsonPath" }, { "name": "SaveVariable", "initCode": "functions://default//SaveVariable", "initParameters": [ { "name": "VariableName", "type": "string", "required": true, "oldName": "VariableName", "defaultValue": "varName" }, { "name": "Data", "type": "object", "required": true, "oldName": "Data", "defaultValue": "#previous" } ], "oldName": "SaveVariable" }, { "name": "Wait", "initCode": "functions://default//Wait", "initParameters": [ { "name": "millisecondsTimeout", "type": "int", "required": true, "oldName": "millisecondsTimeout", "defaultValue": "1000" } ], "oldName": "Wait" }, { "name": "SQL_Oracle_Query", "initCode": "functions://default//SQL/Oracle/Query", "initParameters": [ { "name": "userID", "type": "String", "required": true, "oldName": "userID", "defaultValue": null }, { "name": "password", "type": "String", "required": false, "oldName": "password", "defaultValue": null }, { "name": "dataSource", "type": "String", "required": false, "oldName": "dataSource", "defaultValue": null }, { "name": "query", "type": "String", "required": false, "oldName": "query", "defaultValue": null }, { "name": "Result", "type": "Collection", "required": false, "oldName": "Result", "defaultValue": null } ], "oldName": "SQL_Oracle_Query" }, { "name": "SQL_Oracle_Command", "initCode": "functions://default//SQL/Oracle/Command", "initParameters": [ { "name": "userID", "type": "String", "required": true, "oldName": "userID", "defaultValue": null }, { "name": "password", "type": "String", "required": false, "oldName": "password", "defaultValue": null }, { "name": "dataSource", "type": "String", "required": false, "oldName": "dataSource", "defaultValue": null }, { "name": "command", "type": "String", "required": false, "oldName": "command", "defaultValue": null }, { "name": "Result", "type": "int", "required": false, "oldName": "Result", "defaultValue": null } ], "oldName": "SQL_Oracle_Command" }] [] - [ { "name": "oracleConfig", "type": "OracleConfig", "initialValue": "{\r\n \"userId\":\"login\",\r\n \"password\":\"password\",\r\n \"dataSource\":\"10.49.1.198:1521/bisdb_prm.kyivstar.ua\"\r\n}\r\n" }, { "name": "httpConfig", "type": "HttpConfig", "initialValue": "{\r\n \"host\":\"https://10.29.101.122\",\r\n \"port\":\"6992\",\r\n \"login\":\"login\",\r\n \"password\":\"password\",\r\n \"encoding\":\"utf-8\",\r\n \"headers\":{\r\n \"Content-Type\":\"application/vnd.api+json\",\r\n \"Accept\":\"application/vnd.api+json\"\r\n }\r\n}\r\n" }, { "name": "sqlConnectionString", "type": "string", "initialValue": "Data Source=sqlserv;Initial Catalog=unibill;User ID=login;Password=password;MultipleActiveResultSets=true;Encrypt=True;TrustServerCertificate=True;Command Timeout=3600" }, { "name": "cacheId", "type": "string", "initialValue": null }, { "name": "cacheStatus", "type": "string", "initialValue": null }, { "name": "x_page_count", "type": "Int", "initialValue": "" }] + [ { "name": "oracleConfig", "type": "OracleConfig", "initialValue": "{\r\n \"userId\":\"login\",\r\n \"password\":\"password\",\r\n \"dataSource\":\"localhost:1521/XEPDB1\"\r\n}\r\n" }, { "name": "httpConfig", "type": "HttpConfig", "initialValue": "{\r\n \"host\":\"https://localhost\",\r\n \"port\":\"6992\",\r\n \"login\":\"login\",\r\n \"password\":\"password\",\r\n \"encoding\":\"utf-8\",\r\n \"headers\":{\r\n \"Content-Type\":\"application/vnd.api+json\",\r\n \"Accept\":\"application/vnd.api+json\"\r\n }\r\n}\r\n" }, { "name": "sqlConnectionString", "type": "string", "initialValue": "Data Source=localhost;Initial Catalog=examples;User ID=login;Password=;MultipleActiveResultSets=true;Encrypt=True;TrustServerCertificate=True;Command Timeout=3600" }, { "name": "cacheId", "type": "string", "initialValue": null }, { "name": "cacheStatus", "type": "string", "initialValue": null }, { "name": "x_page_count", "type": "Int", "initialValue": "" }] { "ErrFormat": "json", "Accept-Language": "uk", "offset": 1, "limit": 50, "sort": "id", "SortDirection": "ASC", "serviceCharacteristic": [ { "valueType": "string", "id": "MSISDN", "value": "0671234568" } ]} diff --git a/tmforum-apis/TMF640_Service_Activation_and_Configuration/TMF640_Patch_Service.bpmn b/tmforum-apis/TMF640_Service_Activation_and_Configuration/TMF640_Patch_Service.bpmn index 82044ce..93f4388 100644 --- a/tmforum-apis/TMF640_Service_Activation_and_Configuration/TMF640_Patch_Service.bpmn +++ b/tmforum-apis/TMF640_Service_Activation_and_Configuration/TMF640_Patch_Service.bpmn @@ -3,11 +3,11 @@ [ "Action", "Function"] [ { "name": "Characteristic", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class Characteristic\r\n{\r\n \r\n private string _type;\r\n \r\n private string _id;\r\n \r\n private string _name;\r\n \r\n private string _value;\r\n \r\n private string _valueType;\r\n \r\n /// <summary>\r\n /// The @type attribute represents the actual class type of an entity. LOV: Characteristic\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n [Natec.Workflow.Runtime.PluginParticipation(GenerateMethodArgument=false)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Unique identifier of the characteristic. LOV: MSISDN\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Code of the characteristic. LOV: Value, provided by BSS template\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A Value of the characteristic. LOV: Value of MSISDN\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"value\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string value\r\n {\r\n get\r\n {\r\n return this._value;\r\n }\r\n set\r\n {\r\n this._value = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Data type of the value of the characteristic. LOV: string\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"valueType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string valueType\r\n {\r\n get\r\n {\r\n return this._valueType;\r\n }\r\n set\r\n {\r\n this._valueType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Error", "definition": "{\n\t\"$schema\": \"http://json-schema.org/draft-06/schema#\",\n\t\"$ref\": \"#/definitions/Error\",\n\t\"definitions\": {\n\t\t\"Error\": {\n\t\t\t\"type\": \"object\",\n\t\t\t\"additionalProperties\": false,\n\t\t\t\"properties\": {\n\t\t\t\t\"code\": {\n\t\t\t\t\t\"type\": \"string\",\n\t\t\t\t\t\"description\": \"Application relevant detail, defined in the API or a common list\"\n\t\t\t\t},\n\t\t\t\t\"reason\": {\n\t\t\t\t\t\"type\": \"string\"\n\t\t\t\t},\n\t\t\t\t\"message\": {\n\t\t\t\t\t\"type\": \"string\"\n\t\t\t\t},\n\t\t\t\t\"status\": {\n\t\t\t\t\t\"type\": \"string\"\n\t\t\t\t},\n\t\t\t\t\"referenceError\": {\n\t\t\t\t\t\"type\": \"string\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"title\": \"Error\"\n\t\t}\n\t}\n}", "isNativeDefinition": false }, { "name": "ErrorResponse", "definition": "{\r\n \"$schema\": \"http://json-schema.org/draft-06/schema#\",\r\n \"$ref\": \"#/definitions/ErrorResponse\",\r\n \"definitions\": {\r\n \"ErrorResponse\": {\r\n \"type\": \"object\",\r\n \"additionalProperties\": true,\r\n \"properties\": {\r\n \"LevelMessage\": {\r\n \"title\": \"The Error level\",\r\n \"type\": \"string\"\r\n },\r\n \"statusCode\": {\r\n \"title\": \"The Error Status Code\",\r\n \"type\": \"integer\"\r\n },\r\n \"ErrNumber\": {\r\n \"title\": \"The Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Message\": {\r\n \"title\": \"The Error Message\",\r\n \"type\": \"string\"\r\n },\r\n \"State\": {\r\n \"title\": \"The Error State\",\r\n \"type\": \"string\"\r\n },\r\n \"HelpLink\": {\r\n \"title\": \"The Help Link\",\r\n \"type\": \"string\"\r\n },\r\n \"errNumberReason\": {\r\n \"title\": \"The initial Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Data\": {\r\n \"title\": \"The Error Data\",\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"LevelMessage\": {\r\n \"title\": \"The Error level\",\r\n \"type\": \"string\"\r\n },\r\n \"statusCode\": {\r\n \"title\": \"The Error Status Code\",\r\n \"type\": \"integer\"\r\n },\r\n \"ErrNumber\": {\r\n \"title\": \"The Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Message\": {\r\n \"title\": \"The Error Message\",\r\n \"type\": \"string\"\r\n },\r\n \"State\": {\r\n \"title\": \"The Error State\",\r\n \"type\": \"string\"\r\n },\r\n \"HelpLink\": {\r\n \"title\": \"The Help Link\",\r\n \"type\": \"string\"\r\n },\r\n \"errNumberReason\": {\r\n \"title\": \"The initial Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Data\": {\r\n \"title\": \"The Data Schema\",\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"LevelMessage\": {\r\n \"title\": \"The Error level\",\r\n \"type\": \"string\"\r\n },\r\n \"statusCode\": {\r\n \"title\": \"The Error Status Code\",\r\n \"type\": \"integer\"\r\n },\r\n \"ErrNumber\": {\r\n \"title\": \"The Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Message\": {\r\n \"title\": \"The Error Message\",\r\n \"type\": \"string\"\r\n },\r\n \"State\": {\r\n \"title\": \"The Error State\",\r\n \"type\": \"string\"\r\n },\r\n \"HelpLink\": {\r\n \"title\": \"The Help Link\",\r\n \"type\": \"string\"\r\n },\r\n \"errNumberReason\": {\r\n \"title\": \"The initial Error Number\",\r\n \"type\": \"string\"\r\n }\r\n }\r\n },\r\n \"ResolveUrl\": {\r\n \"title\": \"The Resolve Url Link\",\r\n \"type\": \"string\"\r\n }\r\n }\r\n },\r\n \"ResolveUrl\": {\r\n \"title\": \"The Resolve Url Link\",\r\n \"type\": \"string\"\r\n },\r\n \"extraData\": {\r\n \"title\": \"The Error Extra Data \",\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"operationDuration\": {\r\n \"title\": \"The Operation Duration\",\r\n \"type\": \"integer\"\r\n }\r\n }\r\n }\r\n },\r\n \"title\": \"ErrorResponse\"\r\n }\r\n }\r\n}", "isNativeDefinition": false }, { "name": "ExceptionExtensions", "definition": "public static class ExceptionExtensions\r\n {\r\n internal enum ReasonCodes\r\n {\r\n ServiceAccessError = 0x1,\r\n UnderConstruction = 0x64,\r\n PreventiveStop = 0X65\r\n }\r\n\r\n class BaseSqlExceptionModel\r\n {\r\n public int LevelMessage { get; set; }\r\n public int ErrNumber { get; set; }\r\n public int ErrNumberReason { get; set; }\r\n public long State { get; set; }\r\n public string HelpLink { get; set; }\r\n public string ResolveUrl { get; set; }\r\n public int? Number { get; set; }\r\n public string Message { get; set; }\r\n public BaseSqlExceptionModel Data { get; set; }\r\n\r\n public Error ToError(string statusArg = null)\r\n {\r\n return new Error()\r\n {\r\n code = (ErrNumber > 0) ? ErrNumber.ToString() : Number.GetValueOrDefault().ToString(),\r\n message = this.Message,\r\n reason = ErrNumberReason.ToString(),\r\n referenceError = ResolveUrl,\r\n status = statusArg\r\n };\r\n }\r\n }\r\n\r\n #region [const]\r\n private const int DeadlockErrorNumber = 1205;\r\n private const int LockingErrorNumber = 1222;\r\n private const int UpdateConflictErrorNumber = 3960;\r\n //для ретрай - функционала\r\n private const int TimeoutExpiredErrorNumber = -2;\r\n private const int CouldNotOpenConnectionErrorNumber = 53;\r\n private const int TransportFailErrorNumber = 121;\r\n //вот тут не надо ретрай\r\n private const int HandledDeadlockErrorNumber = 50999;\r\n private const int SQLErrorNumber = 50000;\r\n\r\n public static IEnumerable<int> DeadLockFeatures\r\n {\r\n get\r\n {\r\n yield return DeadlockErrorNumber;\r\n yield return LockingErrorNumber;\r\n yield return UpdateConflictErrorNumber;\r\n yield break;\r\n }\r\n }\r\n\r\n public static IEnumerable<int> RetryNeededFeatures\r\n {\r\n get\r\n {\r\n yield return DeadlockErrorNumber;\r\n //yield return TimeoutExpiredErrorNumber;\r\n yield return CouldNotOpenConnectionErrorNumber;\r\n yield return TransportFailErrorNumber;\r\n yield break;\r\n }\r\n }\r\n\r\n #endregion\r\n\r\n public static Error GetError(this Exception exception, string statusCode)\r\n {\r\n if (exception is SqlException sqlException)\r\n return sqlException.GetError();\r\n else\r\n if (exception is WorkflowInvokeActionException)\r\n {\r\n if(exception.InnerException is SqlException innerSqlException)\r\n return innerSqlException.GetError();\r\n return new Error()\r\n {\r\n code = exception?.InnerException?.HResult.ToString(),\r\n message = $\"{exception.Message} : {exception.InnerException?.Message}\",\r\n reason = exception?.InnerException?.GetType().Name,\r\n referenceError = null,\r\n status = statusCode\r\n };\r\n }\r\n else\r\n return new Error()\r\n {\r\n code = exception.HResult.ToString(),\r\n message = exception.Message,\r\n reason = exception.GetType().Name,\r\n referenceError = null,\r\n status = statusCode\r\n };\r\n }\r\n public static Error GetError(this SqlException sqlException)\r\n {\r\n BaseSqlExceptionModel errorModel = null;\r\n int actualStatusCode = 500;\r\n\r\n #region [Deadlock]\r\n if (sqlException.Number == ExceptionExtensions.HandledDeadlockErrorNumber)\r\n {\r\n return new Error()\r\n {\r\n code = sqlException.Number.ToString(), //RequestTimeout\r\n message = $\"Request timeout - retry operation should be used\",\r\n reason = \"RequestTimeout\",\r\n referenceError = null,\r\n status = \"408\"\r\n };\r\n }\r\n\r\n #endregion\r\n\r\n try\r\n {\r\n var sqlExceptionMessage = sqlException.Errors.Cast<SqlError>()\r\n .Where(se => (se.Class > 0) &&\r\n (se.Message.Trim().StartsWith(\"{\")) &&\r\n (se.Message.Trim().EndsWith(\"}\"))).\r\n Select(se => se.Message).\r\n FirstOrDefault();\r\n errorModel = JsonConvert.DeserializeObject<BaseSqlExceptionModel>(sqlExceptionMessage);\r\n }\r\n catch (Exception) { }\r\n\r\n if (errorModel != null)\r\n {\r\n errorModel.Number = sqlException.Number;\r\n\r\n var resultErrorModel = errorModel.ToError(\"500\");\r\n\r\n if (errorModel.ErrNumber == ExceptionExtensions.HandledDeadlockErrorNumber)\r\n {\r\n resultErrorModel.status = \"408\";\r\n resultErrorModel.reason = \"RequestTimeout\";\r\n }\r\n return resultErrorModel;\r\n }\r\n\r\n actualStatusCode = ResolveActualStatusCode(sqlException);\r\n\r\n var result = new Error()\r\n {\r\n code = sqlException.Number.ToString(),\r\n message = sqlException.Message,\r\n referenceError = null,\r\n status = actualStatusCode.ToString()\r\n };\r\n if (actualStatusCode == 500)\r\n {\r\n result.reason = \"Internal Server Error\";\r\n }\r\n else\r\n if (actualStatusCode == 503)\r\n {\r\n result.reason = \"Service Unavailable\";\r\n }\r\n else\r\n {\r\n result.reason = \"Service Unavailable\";\r\n }\r\n return result;\r\n }\r\n private static int ResolveActualStatusCode(SqlException sqlException)\r\n {\r\n int actualStatusCode = 500;\r\n //Ошибка 503 - TimeoutExpiredErrorNumber ИЛИ Количество ретраев исчерпано и НЕ DeadLockFeatures\r\n //Ошибка 408 - DeadLockFeatures И Количество ретраев исчерпано\r\n //пс. этот код в принципе будет выполняться только после исчерпания попыток\r\n //если дедлок\r\n if (sqlException.IsDeadLockException())\r\n return 408;\r\n else\r\n if (sqlException.Number == TimeoutExpiredErrorNumber) // Истекло время ожидание \r\n return 503;\r\n else\r\n if (sqlException.Number == 50101 || sqlException.Number == 50100 || sqlException.Number == 50182)\t// Значит, что произошла не фатальная ошибка.\r\n {\r\n }\r\n else\r\n if ((sqlException.Class >= 12 && sqlException.Class <= 14) || (sqlException.Class >= 18 && sqlException.Class <= 24))\t// Значит, что произошла ошибка, из-за которой соединение разорвано. Ощибки с классом 17 - обработаннЫе нами\r\n {\r\n return 503;\r\n }\r\n else\r\n if (sqlException.Class == 11 || sqlException.Class == 15 || sqlException.Class == 16)\t// Значит, что произошла ошибка.\r\n {\r\n return 503;\r\n }\r\n else\r\n if (sqlException.Number >= 0 && sqlException.Number <= 10)\t// Значит, что произошла не фатальная ошибка.\r\n {\r\n }\r\n else\r\n if (sqlException.Number >= 0 && sqlException.Number <= 24)\r\n {\r\n }\r\n return actualStatusCode;\r\n }\r\n\r\n #region [IsDeadLock]\r\n public static bool IsDeadLockException(this SqlException exception)\r\n {\r\n if (exception == null)\r\n return false;\r\n else\r\n return DeadLockFeatures.Contains(exception.Number) ||\r\n exception.Errors.IsDeadLockException();\r\n }\r\n\r\n public static bool IsDeadLockException(this SqlError error)\r\n {\r\n if (error == null)\r\n return false;\r\n else\r\n return DeadLockFeatures.Contains(error.Number);\r\n }\r\n\r\n public static bool IsDeadLockException(this SqlErrorCollection sqlErrorCollection)\r\n {\r\n if (sqlErrorCollection == null)\r\n return false;\r\n else\r\n return sqlErrorCollection.Cast<SqlError>().Any(error => error.IsDeadLockException());\r\n }\r\n #endregion\r\n\r\n #region [IsRetryNeeded]\r\n public static bool IsRetryNeeded(this SqlException exception)\r\n {\r\n if (exception == null)\r\n return false;\r\n else\r\n return RetryNeededFeatures.Contains(exception.Number) ||\r\n exception.Errors.IsRetryNeeded();\r\n }\r\n\r\n public static bool IsRetryNeeded(this SqlError error)\r\n {\r\n if (error == null)\r\n return false;\r\n else\r\n return RetryNeededFeatures.Contains(error.Number);\r\n }\r\n\r\n public static bool IsRetryNeeded(this SqlErrorCollection sqlErrorCollection)\r\n {\r\n if (sqlErrorCollection == null)\r\n return false;\r\n else\r\n return sqlErrorCollection.Cast<SqlError>().Any(error => error.IsRetryNeeded());\r\n }\r\n #endregion\r\n }", "isNativeDefinition": true }, { "name": "Feature", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class Feature\r\n{\r\n \r\n private string _type;\r\n \r\n private string _id;\r\n \r\n private System.Boolean? _isEnabled;\r\n \r\n private string _name;\r\n \r\n private Characteristic[] _featureCharacteristic;\r\n \r\n /// <summary>\r\n /// The @type attribute represents the actual class type of an entity. LOV: An Attribute Format value of the Object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n [Natec.Workflow.Runtime.PluginParticipation(GenerateMethodArgument=false)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Unique identifier of an instantiated feature to keep track of their state. LOV: Value of Feature Code, provided by BSS template\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A State of Service's Feature. LOV: True if this feature is enabled\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"isEnabled\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public System.Boolean? isEnabled\r\n {\r\n get\r\n {\r\n return this._isEnabled;\r\n }\r\n set\r\n {\r\n this._isEnabled = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of Customer Facing Service to keep track of their state and changes. LOV: Value, provided by BSS template\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A list of Characteristics for a particular feature (a TariffPackage Service's configuration). LOV: A List of object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"featureCharacteristic\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public Characteristic[] featureCharacteristic\r\n {\r\n get\r\n {\r\n return this._featureCharacteristic;\r\n }\r\n set\r\n {\r\n this._featureCharacteristic = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "HttpConfig", "definition": "{\r\n \"$schema\":\"http://natec.tech/simpleschema\",\r\n \"$ref\":\"#/definitions/HttpConfig\",\r\n \"definitions\":{\r\n \"HttpConfig\":{\r\n \"type\":\"object\",\r\n \"properties\":{\r\n \"host\":{\r\n \"type\":\"string\"\r\n },\r\n \"port\":{\r\n \"type\":\"string\"\r\n },\r\n \"login\":{\r\n \"type\":\"string\"\r\n },\r\n \"password\":{\r\n \"type\":\"string\"\r\n },\r\n \"encoding\":{\r\n \"type\":\"string\"\r\n },\r\n \"headers\":{\r\n \"type\":\"StringDictionary<string, string>\"\r\n }\r\n },\r\n \"required\": [\"host\", \"encoding\", \"headers\"],\r\n \"title\":\"HttpConfig\"\r\n }\r\n }\r\n}", "isNativeDefinition": false }, { "name": "Note", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class Note\r\n{\r\n \r\n private string _type;\r\n \r\n private string _author;\r\n \r\n private string _text;\r\n \r\n private string _hostname;\r\n \r\n /// <summary>\r\n /// Note type. LOV: Note\r\n /// <c>p_ucp_set_patch_Service</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n [Natec.Workflow.Runtime.PluginParticipation(GenerateMethodArgument=false)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Note author. LOV: \r\n /// <c>p_ucp_set_patch_Service</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"author\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string author\r\n {\r\n get\r\n {\r\n return this._author;\r\n }\r\n set\r\n {\r\n this._author = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Note text. LOV: \r\n /// <c>p_ucp_set_patch_Service</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"text\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string text\r\n {\r\n get\r\n {\r\n return this._text;\r\n }\r\n set\r\n {\r\n this._text = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// hostname of this change. LOV: origin hostname or IP-address\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"hostname\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string hostname\r\n {\r\n get\r\n {\r\n return this._hostname;\r\n }\r\n set\r\n {\r\n this._hostname = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "PatchOperation", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class PatchOperation\r\n{\r\n \r\n private string _accept_Language;\r\n \r\n private string _format;\r\n \r\n private System.Int32? _id;\r\n \r\n private string _op;\r\n \r\n private string _path;\r\n \r\n private object _value;\r\n \r\n private string _content_Type;\r\n \r\n private string _x_ms_client_request_id;\r\n \r\n /// <summary>\r\n /// Specifying a language for a multi-language dataset. LOV: en-English, uk-Ukrainian, ru-russian\r\n /// <c>p_ucp_set_patch_Service</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"Accept-Language\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [FromHeader(Name=\"Accept-Language\")]\r\n public string Accept_Language\r\n {\r\n get\r\n {\r\n return this._accept_Language;\r\n }\r\n set\r\n {\r\n this._accept_Language = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Error output format. LOV: json\r\n /// <c>p_ucp_set_patch_Service</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"format\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [FromRoute(Name=\"format\")]\r\n public string format\r\n {\r\n get\r\n {\r\n return this._format;\r\n }\r\n set\r\n {\r\n this._format = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Identifier of the Monitor resource. LOV: \r\n /// <c>p_ucp_set_patch_Service</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Operation in JSON Patch format. LOV: replace\r\n /// <c>p_ucp_set_patch_Service</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"op\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string op\r\n {\r\n get\r\n {\r\n return this._op;\r\n }\r\n set\r\n {\r\n this._op = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Path to the resource being modified. LOV: String identifier in the format '/Service/Prefix-Number', where Pefix is '02' for Resource Facing Service\r\n /// <c>p_ucp_set_patch_Service</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"path\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string path\r\n {\r\n get\r\n {\r\n return this._path;\r\n }\r\n set\r\n {\r\n this._path = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// New value of the resource. LOV: An object\r\n /// <c>p_ucp_set_patch_Service</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"value\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public object value\r\n {\r\n get\r\n {\r\n return this._value;\r\n }\r\n set\r\n {\r\n this._value = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// An array indicator suitable for JSON Patch format (RFC 6902). LOV: application/json-patch+json\r\n /// <c>p_ucp_set_patch_Service</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"Content-Type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [FromHeader(Name=\"Content-Type\")]\r\n public string Content_Type\r\n {\r\n get\r\n {\r\n return this._content_Type;\r\n }\r\n set\r\n {\r\n this._content_Type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A unique identifier for the search request, used for the GET operation.. LOV: generally a GUID value\r\n /// <c>p_ucp_set_patch_Service</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"x-ms-client-request-id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [FromHeader(Name=\"x-ms-client-request-id\")]\r\n public string x_ms_client_request_id\r\n {\r\n get\r\n {\r\n return this._x_ms_client_request_id;\r\n }\r\n set\r\n {\r\n this._x_ms_client_request_id = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "PatchOperation_Accept_Language", "definition": "/// <summary>\r\n/// Specifying a language for a multi-language dataset. LOV: en-English, uk-Ukrainian, ru-russian\r\n/// </summary>\r\n[System.ComponentModel.TypeConverter(typeof(Natec.Workflow.EnumMemberAttributeConverter<PatchOperation_Accept_Language>))]\r\n[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.StringEnumConverter))]\r\npublic enum PatchOperation_Accept_Language\r\n{\r\n \r\n /// <summary>\r\n /// English\r\n /// </summary>\r\n [Description(\"English\")]\r\n [System.Runtime.Serialization.EnumMember(Value=\"English\")]\r\n en,\r\n \r\n /// <summary>\r\n /// Ukrainian\r\n /// </summary>\r\n [Description(\"Ukrainian\")]\r\n [System.Runtime.Serialization.EnumMember(Value=\"Ukrainian\")]\r\n uk,\r\n \r\n /// <summary>\r\n /// russian\r\n /// </summary>\r\n [Description(\"russian\")]\r\n [System.Runtime.Serialization.EnumMember(Value=\"russian\")]\r\n ru,\r\n}\r\n", "isNativeDefinition": true }, { "name": "PatchOperation_Content_Type", "definition": "/// <summary>\r\n/// An array indicator suitable for JSON Patch format (RFC 6902). LOV: application/json-patch+json\r\n/// </summary>\r\n[System.ComponentModel.TypeConverter(typeof(Natec.Workflow.EnumMemberAttributeConverter<PatchOperation_Content_Type>))]\r\n[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.StringEnumConverter))]\r\npublic enum PatchOperation_Content_Type\r\n{\r\n \r\n /// <summary>\r\n /// patch+json\r\n /// </summary>\r\n [Description(\"patch+json\")]\r\n [System.Runtime.Serialization.EnumMember(Value=\"patch+json\")]\r\n Enum_0 = 0,\r\n}\r\n", "isNativeDefinition": true }, { "name": "PatchOperation_format", "definition": "/// <summary>\r\n/// Error output format. LOV: json\r\n/// </summary>\r\n[System.ComponentModel.TypeConverter(typeof(Natec.Workflow.EnumMemberAttributeConverter<PatchOperation_format>))]\r\n[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.StringEnumConverter))]\r\npublic enum PatchOperation_format\r\n{\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n json,\r\n}\r\n", "isNativeDefinition": true }, { "name": "PatchOperation_type", "definition": "/// <summary>\r\n/// Note type. LOV: Note\r\n/// </summary>\r\n[System.ComponentModel.TypeConverter(typeof(Natec.Workflow.EnumMemberAttributeConverter<PatchOperation_type>))]\r\n[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.StringEnumConverter))]\r\npublic enum PatchOperation_type\r\n{\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n Note,\r\n}\r\n", "isNativeDefinition": true }, { "name": "PatchOperation_valueType", "definition": "/// <summary>\r\n/// Type of the characteristic value. LOV: string\r\n/// </summary>\r\n[System.ComponentModel.TypeConverter(typeof(Natec.Workflow.EnumMemberAttributeConverter<PatchOperation_valueType>))]\r\n[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.StringEnumConverter))]\r\npublic enum PatchOperation_valueType\r\n{\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n @string,\r\n}\r\n", "isNativeDefinition": true }, { "name": "RelatedParty", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class RelatedParty\r\n{\r\n \r\n private string _id;\r\n \r\n private System.Int32? _iDType;\r\n \r\n private string _referredType;\r\n \r\n private string _type;\r\n \r\n /// <summary>\r\n /// Entity identifier. LOV: IDType depended identifier value\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Sign of passing an external ID value. LOV: 1 - external ID, 0 - internal ID\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"IDType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public System.Int32? IDType\r\n {\r\n get\r\n {\r\n return this._iDType;\r\n }\r\n set\r\n {\r\n this._iDType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// An Entity name, available as a Related Party. LOV: supported value is \"Customers\"\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The @type attribute represents the actual class type of an entity. LOV: An Attribute Format value of the Object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n [Natec.Workflow.Runtime.PluginParticipation(GenerateMethodArgument=false)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Service_FVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class Service_FVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _description;\r\n \r\n private Feature[] _feature;\r\n \r\n private System.Boolean? _hasStarted;\r\n \r\n private System.Boolean? _isServiceEnabled;\r\n \r\n private Characteristic[] _serviceCharacteristic;\r\n \r\n private System.DateTime? _serviceDate;\r\n \r\n private System.DateTime? _startDate;\r\n \r\n private ServiceReforValue[] _supportingService;\r\n \r\n private string _format;\r\n \r\n private string _accept_Language;\r\n \r\n private string _state;\r\n \r\n private string _category;\r\n \r\n private Note[] _note;\r\n \r\n private RelatedParty[] _relatedParty;\r\n \r\n private string _x_ms_client_request_id;\r\n \r\n private string _id;\r\n \r\n private ServiceSpecification _serviceSpecification;\r\n \r\n private System.DateTime? _endDate;\r\n \r\n private string _startMode;\r\n \r\n /// <summary>\r\n /// The @type attribute represents the actual class type of an entity. LOV: supported value is \"Service\"\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n [Natec.Workflow.Runtime.PluginParticipation(GenerateMethodArgument=false)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Comment for this change\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"description\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string description\r\n {\r\n get\r\n {\r\n return this._description;\r\n }\r\n set\r\n {\r\n this._description = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A list of feature associated with this service. LOV: A List of object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"feature\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public Feature[] feature\r\n {\r\n get\r\n {\r\n return this._feature;\r\n }\r\n set\r\n {\r\n this._feature = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// An Activation state of Service. LOV: If TRUE, this Service has already been started\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"hasStarted\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public System.Boolean? hasStarted\r\n {\r\n get\r\n {\r\n return this._hasStarted;\r\n }\r\n set\r\n {\r\n this._hasStarted = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A current State of Service. LOV: If FALSE and hasStarted is FALSE, this particular Service has NOT been enabled for use - if FALSE and hasStarted is TRUE then the service has disabled\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"isServiceEnabled\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public System.Boolean? isServiceEnabled\r\n {\r\n get\r\n {\r\n return this._isServiceEnabled;\r\n }\r\n set\r\n {\r\n this._isServiceEnabled = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A list of characteristics that characterize the Customer Facing Service (ServiceCharacteristic [*]). LOV: A List of object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"serviceCharacteristic\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public Characteristic[] serviceCharacteristic\r\n {\r\n get\r\n {\r\n return this._serviceCharacteristic;\r\n }\r\n set\r\n {\r\n this._serviceCharacteristic = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Date when the service was created (whatever its status)\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"serviceDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public System.DateTime? serviceDate\r\n {\r\n get\r\n {\r\n return this._serviceDate;\r\n }\r\n set\r\n {\r\n this._serviceDate = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Date when the service starts. LOV: Date without time, effective from 0:00\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"startDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public System.DateTime? startDate\r\n {\r\n get\r\n {\r\n return this._startDate;\r\n }\r\n set\r\n {\r\n this._startDate = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A list of supporting Resource Facing Services (SupportingService [*]), is used to link CFS to RFS. LOV: A List of object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"supportingService\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public ServiceReforValue[] supportingService\r\n {\r\n get\r\n {\r\n return this._supportingService;\r\n }\r\n set\r\n {\r\n this._supportingService = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Error output format. LOV: json\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"format\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string format\r\n {\r\n get\r\n {\r\n return this._format;\r\n }\r\n set\r\n {\r\n this._format = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Specifying a language for a multi-language dataset. LOV: en-English, uk-Ukrainian, ru-russian\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"Accept-Language\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string Accept_Language\r\n {\r\n get\r\n {\r\n return this._accept_Language;\r\n }\r\n set\r\n {\r\n this._accept_Language = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A current state of the Customer Facing Service. LOV: activ, synced, temp, close\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"state\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string state\r\n {\r\n get\r\n {\r\n return this._state;\r\n }\r\n set\r\n {\r\n this._state = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// unique code for the Customer Facing Service category (service's network code). LOV: value, provided by BSS template\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"category\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string category\r\n {\r\n get\r\n {\r\n return this._category;\r\n }\r\n set\r\n {\r\n this._category = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Structure for logging changes. LOV: A List of object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"note\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public Note[] note\r\n {\r\n get\r\n {\r\n return this._note;\r\n }\r\n set\r\n {\r\n this._note = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A Related Party for this operation. LOV: A List of object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"relatedParty\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public RelatedParty[] relatedParty\r\n {\r\n get\r\n {\r\n return this._relatedParty;\r\n }\r\n set\r\n {\r\n this._relatedParty = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A unique identifier for the search request, used for the GET operation.. LOV: generally a GUID value\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"x-ms-client-request-id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string x_ms_client_request_id\r\n {\r\n get\r\n {\r\n return this._x_ms_client_request_id;\r\n }\r\n set\r\n {\r\n this._x_ms_client_request_id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Unique identifier of the Customer Facing Service to keep track of their state and changes. LOV: String identifier in the format 'Prefix-Number', where Pefix is '01' for Customer Facing Service\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A Service Specification characteristic. LOV: An object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"serviceSpecification\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public ServiceSpecification serviceSpecification\r\n {\r\n get\r\n {\r\n return this._serviceSpecification;\r\n }\r\n set\r\n {\r\n this._serviceSpecification = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// No description\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"endDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public System.DateTime? endDate\r\n {\r\n get\r\n {\r\n return this._endDate;\r\n }\r\n set\r\n {\r\n this._endDate = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// No description\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"startMode\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string startMode\r\n {\r\n get\r\n {\r\n return this._startMode;\r\n }\r\n set\r\n {\r\n this._startMode = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Service_MVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class Service_MVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _description;\r\n \r\n private Feature[] _feature;\r\n \r\n private System.Boolean? _hasStarted;\r\n \r\n private System.Boolean? _isServiceEnabled;\r\n \r\n private Characteristic[] _serviceCharacteristic;\r\n \r\n private System.DateTime? _serviceDate;\r\n \r\n private System.DateTime? _startDate;\r\n \r\n private ServiceReforValue[] _supportingService;\r\n \r\n private string _format;\r\n \r\n private string _accept_Language;\r\n \r\n private string _state;\r\n \r\n private string _category;\r\n \r\n private Note[] _note;\r\n \r\n private RelatedParty[] _relatedParty;\r\n \r\n private string _x_ms_client_request_id;\r\n \r\n private string _id;\r\n \r\n private ServiceSpecification _serviceSpecification;\r\n \r\n private System.DateTime? _endDate;\r\n \r\n private string _startMode;\r\n \r\n /// <summary>\r\n /// The @type attribute represents the actual class type of an entity. LOV: supported value is \"Service\"\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n [Natec.Workflow.Runtime.PluginParticipation(GenerateMethodArgument=false)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Comment for this change\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"description\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string description\r\n {\r\n get\r\n {\r\n return this._description;\r\n }\r\n set\r\n {\r\n this._description = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A list of feature associated with this service. LOV: A List of object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"feature\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public Feature[] feature\r\n {\r\n get\r\n {\r\n return this._feature;\r\n }\r\n set\r\n {\r\n this._feature = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// An Activation state of Service. LOV: If TRUE, this Service has already been started\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"hasStarted\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public System.Boolean? hasStarted\r\n {\r\n get\r\n {\r\n return this._hasStarted;\r\n }\r\n set\r\n {\r\n this._hasStarted = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A current State of Service. LOV: If FALSE and hasStarted is FALSE, this particular Service has NOT been enabled for use - if FALSE and hasStarted is TRUE then the service has disabled\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"isServiceEnabled\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public System.Boolean? isServiceEnabled\r\n {\r\n get\r\n {\r\n return this._isServiceEnabled;\r\n }\r\n set\r\n {\r\n this._isServiceEnabled = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A list of characteristics that characterize the Customer Facing Service (ServiceCharacteristic [*]). LOV: A List of object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"serviceCharacteristic\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public Characteristic[] serviceCharacteristic\r\n {\r\n get\r\n {\r\n return this._serviceCharacteristic;\r\n }\r\n set\r\n {\r\n this._serviceCharacteristic = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Date when the service was created (whatever its status)\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"serviceDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public System.DateTime? serviceDate\r\n {\r\n get\r\n {\r\n return this._serviceDate;\r\n }\r\n set\r\n {\r\n this._serviceDate = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Date when the service starts. LOV: Date without time, effective from 0:00\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"startDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public System.DateTime? startDate\r\n {\r\n get\r\n {\r\n return this._startDate;\r\n }\r\n set\r\n {\r\n this._startDate = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A list of supporting Resource Facing Services (SupportingService [*]), is used to link CFS to RFS. LOV: A List of object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"supportingService\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public ServiceReforValue[] supportingService\r\n {\r\n get\r\n {\r\n return this._supportingService;\r\n }\r\n set\r\n {\r\n this._supportingService = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Error output format. LOV: json\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"format\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string format\r\n {\r\n get\r\n {\r\n return this._format;\r\n }\r\n set\r\n {\r\n this._format = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Specifying a language for a multi-language dataset. LOV: en-English, uk-Ukrainian, ru-russian\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"Accept-Language\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string Accept_Language\r\n {\r\n get\r\n {\r\n return this._accept_Language;\r\n }\r\n set\r\n {\r\n this._accept_Language = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A current state of the Customer Facing Service. LOV: activ, synced, temp, close\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"state\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string state\r\n {\r\n get\r\n {\r\n return this._state;\r\n }\r\n set\r\n {\r\n this._state = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// unique code for the Customer Facing Service category (service's network code). LOV: value, provided by BSS template\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"category\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string category\r\n {\r\n get\r\n {\r\n return this._category;\r\n }\r\n set\r\n {\r\n this._category = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Structure for logging changes. LOV: A List of object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"note\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public Note[] note\r\n {\r\n get\r\n {\r\n return this._note;\r\n }\r\n set\r\n {\r\n this._note = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A Related Party for this operation. LOV: A List of object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"relatedParty\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public RelatedParty[] relatedParty\r\n {\r\n get\r\n {\r\n return this._relatedParty;\r\n }\r\n set\r\n {\r\n this._relatedParty = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A unique identifier for the search request, used for the GET operation.. LOV: generally a GUID value\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"x-ms-client-request-id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string x_ms_client_request_id\r\n {\r\n get\r\n {\r\n return this._x_ms_client_request_id;\r\n }\r\n set\r\n {\r\n this._x_ms_client_request_id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Unique identifier of the Customer Facing Service to keep track of their state and changes. LOV: String identifier in the format 'Prefix-Number', where Pefix is '01' for Customer Facing Service\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A Service Specification characteristic. LOV: An object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"serviceSpecification\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public ServiceSpecification serviceSpecification\r\n {\r\n get\r\n {\r\n return this._serviceSpecification;\r\n }\r\n set\r\n {\r\n this._serviceSpecification = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// No description\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"endDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public System.DateTime? endDate\r\n {\r\n get\r\n {\r\n return this._endDate;\r\n }\r\n set\r\n {\r\n this._endDate = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// No description\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"startMode\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string startMode\r\n {\r\n get\r\n {\r\n return this._startMode;\r\n }\r\n set\r\n {\r\n this._startMode = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Service_Request_GET", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class Service_Request_GET\r\n{\r\n \r\n private string _category;\r\n \r\n private string _format;\r\n \r\n private Feature[] _feature;\r\n \r\n private System.Boolean? _hasStarted;\r\n \r\n private string _id;\r\n \r\n private System.Boolean? _isServiceEnabled;\r\n \r\n private string _accept_Language;\r\n \r\n private System.Int32? _offset;\r\n \r\n private System.Int32? _limit;\r\n \r\n private RelatedParty[] _relatedParty;\r\n \r\n private string _serviceCharacteristic;\r\n \r\n private System.DateTime? _serviceDate;\r\n \r\n private string _sort;\r\n \r\n private string _sortDirection;\r\n \r\n private System.DateTime? _startDate;\r\n \r\n private string _state;\r\n \r\n private string _x_ms_client_request_id;\r\n \r\n /// <summary>\r\n /// Used to categorize the order from order management system. LOV: value, provided by BSS template\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"category\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string category\r\n {\r\n get\r\n {\r\n return this._category;\r\n }\r\n set\r\n {\r\n this._category = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Error output format. LOV: json\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"format\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string format\r\n {\r\n get\r\n {\r\n return this._format;\r\n }\r\n set\r\n {\r\n this._format = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A list of feature associated with this service. LOV: A List of object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"feature\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public Feature[] feature\r\n {\r\n get\r\n {\r\n return this._feature;\r\n }\r\n set\r\n {\r\n this._feature = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// An Activation state of Service. LOV: If TRUE, this Service has already been started\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"hasStarted\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public System.Boolean? hasStarted\r\n {\r\n get\r\n {\r\n return this._hasStarted;\r\n }\r\n set\r\n {\r\n this._hasStarted = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Unique identifier of the Customer Facing Service to keep track of their state and changes. LOV: String identifier in the format 'Prefix-Number', where Pefix is '01' for Customer Facing Service\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A current State of Service. LOV: If FALSE and hasStarted is FALSE, this particular Service has NOT been enabled for use - if FALSE and hasStarted is TRUE then the service has disabled\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"isServiceEnabled\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public System.Boolean? isServiceEnabled\r\n {\r\n get\r\n {\r\n return this._isServiceEnabled;\r\n }\r\n set\r\n {\r\n this._isServiceEnabled = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Specifying a language for a multi-language dataset. LOV: en-English, uk-Ukrainian, ru-russian\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"Accept-Language\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string Accept_Language\r\n {\r\n get\r\n {\r\n return this._accept_Language;\r\n }\r\n set\r\n {\r\n this._accept_Language = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Requested index for start of records to be provided in response requested by client (server paging). LOV: 0 - first index\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"offset\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public System.Int32? offset\r\n {\r\n get\r\n {\r\n return this._offset;\r\n }\r\n set\r\n {\r\n this._offset = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Number of records per response (server paging). LOV: integer greater than zero\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"limit\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public System.Int32? limit\r\n {\r\n get\r\n {\r\n return this._limit;\r\n }\r\n set\r\n {\r\n this._limit = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A Related Party for this operation. LOV: A List of object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"relatedParty\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public RelatedParty[] relatedParty\r\n {\r\n get\r\n {\r\n return this._relatedParty;\r\n }\r\n set\r\n {\r\n this._relatedParty = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A list of characteristics that characterize the Customer Facing Service (ServiceCharacteristic [*]). LOV: A List of object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"serviceCharacteristic\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string serviceCharacteristic\r\n {\r\n get\r\n {\r\n return this._serviceCharacteristic;\r\n }\r\n set\r\n {\r\n this._serviceCharacteristic = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// No description\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"serviceDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public System.DateTime? serviceDate\r\n {\r\n get\r\n {\r\n return this._serviceDate;\r\n }\r\n set\r\n {\r\n this._serviceDate = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Sorting selector. LOV: usageDate\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"sort\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string sort\r\n {\r\n get\r\n {\r\n return this._sort;\r\n }\r\n set\r\n {\r\n this._sort = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// No description\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"SortDirection\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string SortDirection\r\n {\r\n get\r\n {\r\n return this._sortDirection;\r\n }\r\n set\r\n {\r\n this._sortDirection = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Date when the service starts. LOV: Date without time, effective from 0:00\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"startDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public System.DateTime? startDate\r\n {\r\n get\r\n {\r\n return this._startDate;\r\n }\r\n set\r\n {\r\n this._startDate = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Customers entity status code. LOV: Сharacteristic value, provided by BSS template\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"state\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string state\r\n {\r\n get\r\n {\r\n return this._state;\r\n }\r\n set\r\n {\r\n this._state = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A unique identifier for the search request, used for the GET operation.. LOV: generally a GUID value\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"x-ms-client-request-id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string x_ms_client_request_id\r\n {\r\n get\r\n {\r\n return this._x_ms_client_request_id;\r\n }\r\n set\r\n {\r\n this._x_ms_client_request_id = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Service_Response_GET", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class Service_Response_GET\r\n{\r\n \r\n private System.Int32? _offset;\r\n \r\n private System.Int32? _limit;\r\n \r\n private string _accept_Language;\r\n \r\n private string _content_Range;\r\n \r\n private string _link;\r\n \r\n private string _x_ms_client_request_id;\r\n \r\n private System.Int32? _x_Page_Count;\r\n \r\n /// <summary>\r\n /// Requested index for start of records to be provided in response requested by client (server paging). LOV: 0 - first index\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"offset\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public System.Int32? offset\r\n {\r\n get\r\n {\r\n return this._offset;\r\n }\r\n set\r\n {\r\n this._offset = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Number of records per response (server paging). LOV: integer greater than zero\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"limit\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public System.Int32? limit\r\n {\r\n get\r\n {\r\n return this._limit;\r\n }\r\n set\r\n {\r\n this._limit = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Specifying a language for a multi-language dataset. LOV: en-English, uk-Ukrainian, ru-russian\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"Accept-Language\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string Accept_Language\r\n {\r\n get\r\n {\r\n return this._accept_Language;\r\n }\r\n set\r\n {\r\n this._accept_Language = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// HTTP header indicates where in a full body message a partial message belongs. LOV: items <range-start>-<range-end>/<total-count>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"Content-Range\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string Content_Range\r\n {\r\n get\r\n {\r\n return this._content_Range;\r\n }\r\n set\r\n {\r\n this._content_Range = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Web Linking HTTP header. LOV: reserved\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"Link\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string Link\r\n {\r\n get\r\n {\r\n return this._link;\r\n }\r\n set\r\n {\r\n this._link = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A unique identifier for the search request, used for the GET operation.. LOV: generally a GUID value\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"x-ms-client-request-id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string x_ms_client_request_id\r\n {\r\n get\r\n {\r\n return this._x_ms_client_request_id;\r\n }\r\n set\r\n {\r\n this._x_ms_client_request_id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A Page Count from Server Paging\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"X-Page-Count\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public System.Int32? X_Page_Count\r\n {\r\n get\r\n {\r\n return this._x_Page_Count;\r\n }\r\n set\r\n {\r\n this._x_Page_Count = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Service_Response_GET_OUTPUT", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class Service_Response_GET_OUTPUT\r\n{\r\n \r\n private string _type;\r\n \r\n private Feature[] _feature;\r\n \r\n private System.Boolean? _hasStarted;\r\n \r\n private System.Boolean? _isServiceEnabled;\r\n \r\n private RelatedParty[] _relatedParty;\r\n \r\n private string _serviceDate;\r\n \r\n private System.Int32? _x_Total_Count;\r\n \r\n private string _id;\r\n \r\n private string _category;\r\n \r\n private Characteristic[] _serviceCharacteristic;\r\n \r\n private ServiceSpecification _serviceSpecification;\r\n \r\n private System.DateTime? _startDate;\r\n \r\n private string _state;\r\n \r\n private ServiceReforValue[] _supportingService;\r\n \r\n private System.DateTime? _endDate;\r\n \r\n /// <summary>\r\n /// No description\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n [Natec.Workflow.Runtime.PluginParticipation(GenerateMethodArgument=false)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A list of feature associated with this service. LOV: A List of object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"feature\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public Feature[] feature\r\n {\r\n get\r\n {\r\n return this._feature;\r\n }\r\n set\r\n {\r\n this._feature = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// No description\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"hasStarted\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public System.Boolean? hasStarted\r\n {\r\n get\r\n {\r\n return this._hasStarted;\r\n }\r\n set\r\n {\r\n this._hasStarted = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// No description\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"isServiceEnabled\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public System.Boolean? isServiceEnabled\r\n {\r\n get\r\n {\r\n return this._isServiceEnabled;\r\n }\r\n set\r\n {\r\n this._isServiceEnabled = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A Related Party for this operation. LOV: A List of object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"relatedParty\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public RelatedParty[] relatedParty\r\n {\r\n get\r\n {\r\n return this._relatedParty;\r\n }\r\n set\r\n {\r\n this._relatedParty = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// No description\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"serviceDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string serviceDate\r\n {\r\n get\r\n {\r\n return this._serviceDate;\r\n }\r\n set\r\n {\r\n this._serviceDate = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// the total number of matching records (server paging). LOV: integer greater than zero\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"X-Total-Count\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public System.Int32? X_Total_Count\r\n {\r\n get\r\n {\r\n return this._x_Total_Count;\r\n }\r\n set\r\n {\r\n this._x_Total_Count = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Unique identifier of the Customer Facing Service to keep track of their state and changes. LOV: String identifier in the format 'Prefix-Number', where Pefix is '01' for Customer Facing Service\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// unique code for the Customer Facing Service category (service's network code). LOV: value, provided by BSS template\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"category\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string category\r\n {\r\n get\r\n {\r\n return this._category;\r\n }\r\n set\r\n {\r\n this._category = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A list of characteristics that characterize the Customer Facing Service (ServiceCharacteristic [*]). LOV: A List of object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"serviceCharacteristic\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public Characteristic[] serviceCharacteristic\r\n {\r\n get\r\n {\r\n return this._serviceCharacteristic;\r\n }\r\n set\r\n {\r\n this._serviceCharacteristic = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A Service Specification characteristic. LOV: An object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"serviceSpecification\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public ServiceSpecification serviceSpecification\r\n {\r\n get\r\n {\r\n return this._serviceSpecification;\r\n }\r\n set\r\n {\r\n this._serviceSpecification = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Date when the service starts. LOV: Date without time, effective from 0:00\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"startDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public System.DateTime? startDate\r\n {\r\n get\r\n {\r\n return this._startDate;\r\n }\r\n set\r\n {\r\n this._startDate = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A current state of the Customer Facing Service. LOV: activ, synced, temp, close\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"state\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string state\r\n {\r\n get\r\n {\r\n return this._state;\r\n }\r\n set\r\n {\r\n this._state = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A list of supporting Resource Facing Services (SupportingService [*]), is used to link CFS to RFS. LOV: A List of object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"supportingService\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public ServiceReforValue[] supportingService\r\n {\r\n get\r\n {\r\n return this._supportingService;\r\n }\r\n set\r\n {\r\n this._supportingService = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// No description\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"endDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public System.DateTime? endDate\r\n {\r\n get\r\n {\r\n return this._endDate;\r\n }\r\n set\r\n {\r\n this._endDate = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Service_Response_PATCH", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class Service_Response_PATCH\r\n{\r\n \r\n private string _accept_Language;\r\n \r\n private System.Int32? _id;\r\n \r\n private string _location;\r\n \r\n /// <summary>\r\n /// Specifying a language for a multi-language dataset. LOV: en-English, uk-Ukrainian, ru-russian\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"Accept-Language\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string Accept_Language\r\n {\r\n get\r\n {\r\n return this._accept_Language;\r\n }\r\n set\r\n {\r\n this._accept_Language = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Identifier of the Monitor resource. LOV: \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public System.Int32? id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// header pointing to the created resource URI. LOV: value in format /monitor/{id}\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"Location\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string Location\r\n {\r\n get\r\n {\r\n return this._location;\r\n }\r\n set\r\n {\r\n this._location = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Service_Response_PATCH_Accept_Language", "definition": "/// <summary>\r\n/// Specifying a language for a multi-language dataset. LOV: en-English, uk-Ukrainian, ru-russian\r\n/// </summary>\r\n[System.ComponentModel.TypeConverter(typeof(Natec.Workflow.EnumMemberAttributeConverter<Service_Response_PATCH_Accept_Language>))]\r\n[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.StringEnumConverter))]\r\npublic enum Service_Response_PATCH_Accept_Language\r\n{\r\n \r\n /// <summary>\r\n /// English\r\n /// </summary>\r\n [Description(\"English\")]\r\n [System.Runtime.Serialization.EnumMember(Value=\"English\")]\r\n en,\r\n \r\n /// <summary>\r\n /// Ukrainian\r\n /// </summary>\r\n [Description(\"Ukrainian\")]\r\n [System.Runtime.Serialization.EnumMember(Value=\"Ukrainian\")]\r\n uk,\r\n \r\n /// <summary>\r\n /// russian\r\n /// </summary>\r\n [Description(\"russian\")]\r\n [System.Runtime.Serialization.EnumMember(Value=\"russian\")]\r\n ru,\r\n}\r\n", "isNativeDefinition": true }, { "name": "Service_Response_POST", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class Service_Response_POST\r\n{\r\n \r\n private string _accept_Language;\r\n \r\n private RelatedParty[] _relatedParty;\r\n \r\n private string _x_ms_client_request_id;\r\n \r\n private string _category;\r\n \r\n private Feature[] _feature;\r\n \r\n private System.Boolean? _hasStarted;\r\n \r\n private System.Boolean? _isServiceEnabled;\r\n \r\n private Characteristic[] _serviceCharacteristic;\r\n \r\n private System.DateTime? _serviceDate;\r\n \r\n private System.DateTime? _startDate;\r\n \r\n private string _state;\r\n \r\n private string _id;\r\n \r\n private ServiceReforValue[] _supportingService;\r\n \r\n private System.DateTime? _endDate;\r\n \r\n /// <summary>\r\n /// Specifying a language for a multi-language dataset. LOV: en-English, uk-Ukrainian, ru-russian\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"Accept-Language\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string Accept_Language\r\n {\r\n get\r\n {\r\n return this._accept_Language;\r\n }\r\n set\r\n {\r\n this._accept_Language = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A Related Party for this operation. LOV: A List of object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"relatedParty\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public RelatedParty[] relatedParty\r\n {\r\n get\r\n {\r\n return this._relatedParty;\r\n }\r\n set\r\n {\r\n this._relatedParty = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A unique identifier for the search request, used for the GET operation.. LOV: generally a GUID value\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"x-ms-client-request-id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string x_ms_client_request_id\r\n {\r\n get\r\n {\r\n return this._x_ms_client_request_id;\r\n }\r\n set\r\n {\r\n this._x_ms_client_request_id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// unique code for the Customer Facing Service category (service's network code). LOV: value, provided by BSS template\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"category\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string category\r\n {\r\n get\r\n {\r\n return this._category;\r\n }\r\n set\r\n {\r\n this._category = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A list of feature associated with this service. LOV: A List of object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"feature\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public Feature[] feature\r\n {\r\n get\r\n {\r\n return this._feature;\r\n }\r\n set\r\n {\r\n this._feature = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// An Activation state of Service. LOV: If TRUE, this Service has already been started\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"hasStarted\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public System.Boolean? hasStarted\r\n {\r\n get\r\n {\r\n return this._hasStarted;\r\n }\r\n set\r\n {\r\n this._hasStarted = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A current State of Service. LOV: If FALSE and hasStarted is FALSE, this particular Service has NOT been enabled for use - if FALSE and hasStarted is TRUE then the service has disabled\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"isServiceEnabled\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public System.Boolean? isServiceEnabled\r\n {\r\n get\r\n {\r\n return this._isServiceEnabled;\r\n }\r\n set\r\n {\r\n this._isServiceEnabled = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A list of characteristics that characterize the Customer Facing Service (ServiceCharacteristic [*]). LOV: A List of object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"serviceCharacteristic\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public Characteristic[] serviceCharacteristic\r\n {\r\n get\r\n {\r\n return this._serviceCharacteristic;\r\n }\r\n set\r\n {\r\n this._serviceCharacteristic = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Date when the service was created (whatever its status)\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"serviceDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public System.DateTime? serviceDate\r\n {\r\n get\r\n {\r\n return this._serviceDate;\r\n }\r\n set\r\n {\r\n this._serviceDate = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Date when the service starts. LOV: Date without time, effective from 0:00\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"startDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public System.DateTime? startDate\r\n {\r\n get\r\n {\r\n return this._startDate;\r\n }\r\n set\r\n {\r\n this._startDate = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A current state of the Customer Facing Service. LOV: activ, synced, temp, close\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"state\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string state\r\n {\r\n get\r\n {\r\n return this._state;\r\n }\r\n set\r\n {\r\n this._state = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Unique identifier of the Customer Facing Service to keep track of their state and changes. LOV: String identifier in the format 'Prefix-Number', where Pefix is '01' for Customer Facing Service\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A list of supporting Resource Facing Services (SupportingService [*]), is used to link CFS to RFS. LOV: A List of object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"supportingService\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public ServiceReforValue[] supportingService\r\n {\r\n get\r\n {\r\n return this._supportingService;\r\n }\r\n set\r\n {\r\n this._supportingService = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// No description\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"endDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public System.DateTime? endDate\r\n {\r\n get\r\n {\r\n return this._endDate;\r\n }\r\n set\r\n {\r\n this._endDate = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Service_Response_PUT", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class Service_Response_PUT\r\n{\r\n \r\n private string _accept_Language;\r\n \r\n private RelatedParty[] _relatedParty;\r\n \r\n private string _x_ms_client_request_id;\r\n \r\n private string _category;\r\n \r\n private Feature[] _feature;\r\n \r\n private System.Boolean? _hasStarted;\r\n \r\n private System.Boolean? _isServiceEnabled;\r\n \r\n private Characteristic[] _serviceCharacteristic;\r\n \r\n private System.DateTime? _serviceDate;\r\n \r\n private System.DateTime? _startDate;\r\n \r\n private string _state;\r\n \r\n private string _id;\r\n \r\n private ServiceReforValue[] _supportingService;\r\n \r\n private System.DateTime? _endDate;\r\n \r\n /// <summary>\r\n /// Specifying a language for a multi-language dataset. LOV: en-English, uk-Ukrainian, ru-russian\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"Accept-Language\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string Accept_Language\r\n {\r\n get\r\n {\r\n return this._accept_Language;\r\n }\r\n set\r\n {\r\n this._accept_Language = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A Related Party for this operation. LOV: A List of object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"relatedParty\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public RelatedParty[] relatedParty\r\n {\r\n get\r\n {\r\n return this._relatedParty;\r\n }\r\n set\r\n {\r\n this._relatedParty = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A unique identifier for the search request, used for the GET operation.. LOV: generally a GUID value\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"x-ms-client-request-id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string x_ms_client_request_id\r\n {\r\n get\r\n {\r\n return this._x_ms_client_request_id;\r\n }\r\n set\r\n {\r\n this._x_ms_client_request_id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// unique code for the Customer Facing Service category (service's network code). LOV: value, provided by BSS template\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"category\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string category\r\n {\r\n get\r\n {\r\n return this._category;\r\n }\r\n set\r\n {\r\n this._category = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A list of feature associated with this service. LOV: A List of object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"feature\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public Feature[] feature\r\n {\r\n get\r\n {\r\n return this._feature;\r\n }\r\n set\r\n {\r\n this._feature = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// An Activation state of Service. LOV: If TRUE, this Service has already been started\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"hasStarted\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public System.Boolean? hasStarted\r\n {\r\n get\r\n {\r\n return this._hasStarted;\r\n }\r\n set\r\n {\r\n this._hasStarted = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A current State of Service. LOV: If FALSE and hasStarted is FALSE, this particular Service has NOT been enabled for use - if FALSE and hasStarted is TRUE then the service has disabled\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"isServiceEnabled\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public System.Boolean? isServiceEnabled\r\n {\r\n get\r\n {\r\n return this._isServiceEnabled;\r\n }\r\n set\r\n {\r\n this._isServiceEnabled = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A list of characteristics that characterize the Customer Facing Service (ServiceCharacteristic [*]). LOV: A List of object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"serviceCharacteristic\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public Characteristic[] serviceCharacteristic\r\n {\r\n get\r\n {\r\n return this._serviceCharacteristic;\r\n }\r\n set\r\n {\r\n this._serviceCharacteristic = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Date when the service was created (whatever its status)\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"serviceDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public System.DateTime? serviceDate\r\n {\r\n get\r\n {\r\n return this._serviceDate;\r\n }\r\n set\r\n {\r\n this._serviceDate = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Date when the service starts. LOV: Date without time, effective from 0:00\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"startDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public System.DateTime? startDate\r\n {\r\n get\r\n {\r\n return this._startDate;\r\n }\r\n set\r\n {\r\n this._startDate = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A current state of the Customer Facing Service. LOV: activ, synced, temp, close\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"state\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string state\r\n {\r\n get\r\n {\r\n return this._state;\r\n }\r\n set\r\n {\r\n this._state = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Unique identifier of the Customer Facing Service to keep track of their state and changes. LOV: String identifier in the format 'Prefix-Number', where Pefix is '01' for Customer Facing Service\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A list of supporting Resource Facing Services (SupportingService [*]), is used to link CFS to RFS. LOV: A List of object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"supportingService\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public ServiceReforValue[] supportingService\r\n {\r\n get\r\n {\r\n return this._supportingService;\r\n }\r\n set\r\n {\r\n this._supportingService = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// No description\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"endDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public System.DateTime? endDate\r\n {\r\n get\r\n {\r\n return this._endDate;\r\n }\r\n set\r\n {\r\n this._endDate = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ServiceCharacteristic", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class ServiceCharacteristic\r\n{\r\n \r\n private string _type;\r\n \r\n private string _id;\r\n \r\n private string _value;\r\n \r\n private string _valueType;\r\n \r\n /// <summary>\r\n /// Characteristic type. LOV: Characteristic\r\n /// <c>p_ucp_set_patch_Service</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n [Natec.Workflow.Runtime.PluginParticipation(GenerateMethodArgument=false)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// ID of the characteristic. LOV: Value, provided by BSS template\r\n /// <c>p_ucp_set_patch_Service</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Characteristic value. LOV: New value to change\r\n /// <c>p_ucp_set_patch_Service</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"value\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string value\r\n {\r\n get\r\n {\r\n return this._value;\r\n }\r\n set\r\n {\r\n this._value = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Type of the characteristic value. LOV: string\r\n /// <c>p_ucp_set_patch_Service</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"valueType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string valueType\r\n {\r\n get\r\n {\r\n return this._valueType;\r\n }\r\n set\r\n {\r\n this._valueType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ServiceConfig", "definition": "{\r\n\t\"$schema\": \"http://json-schema.org/draft-06/schema#\",\r\n\t\"$ref\": \"#/definitions/ServiceConfig\",\r\n\t\"definitions\": {\r\n\t\t\"ServiceConfig\": {\r\n\t\t\t\"type\": \"object\",\r\n\t\t\t\"additionalProperties\": false,\r\n\t\t\t\"properties\": {\r\n\t\t\t\t\"ConnectionString\": {\r\n\t\t\t\t\t\"type\": \"string\"\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t\"title\": \"ServiceConfig\"\r\n\t\t}\r\n\t}\r\n}", "isNativeDefinition": false }, { "name": "ServiceReforValue", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class ServiceReforValue\r\n{\r\n \r\n private string _type;\r\n \r\n private Characteristic[] _serviceCharacteristic;\r\n \r\n private ServiceSpecification _serviceSpecification;\r\n \r\n private string _state;\r\n \r\n private string _id;\r\n \r\n /// <summary>\r\n /// The @type attribute represents the actual class type of an entity. LOV: An Attribute Format value of the Object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n [Natec.Workflow.Runtime.PluginParticipation(GenerateMethodArgument=false)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A list of characteristics that characterize the Resource Facing Services (ServiceCharacteristic [*]). LOV: A List of object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"serviceCharacteristic\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public Characteristic[] serviceCharacteristic\r\n {\r\n get\r\n {\r\n return this._serviceCharacteristic;\r\n }\r\n set\r\n {\r\n this._serviceCharacteristic = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A Service Specification. LOV: An object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"serviceSpecification\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public ServiceSpecification serviceSpecification\r\n {\r\n get\r\n {\r\n return this._serviceSpecification;\r\n }\r\n set\r\n {\r\n this._serviceSpecification = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A current state of the Resource Facing Service. LOV: activ, synced, temp, close\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"state\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string state\r\n {\r\n get\r\n {\r\n return this._state;\r\n }\r\n set\r\n {\r\n this._state = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// No description\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ServiceRelationship", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class ServiceRelationship\r\n{\r\n \r\n private string _type;\r\n \r\n private string _id;\r\n \r\n private object[] _serviceCharacteristic;\r\n \r\n private ServiceSpecification _serviceSpecification;\r\n \r\n /// <summary>\r\n /// Type of service relationship. LOV: Service\r\n /// <c>p_ucp_set_patch_Service</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n [Natec.Workflow.Runtime.PluginParticipation(GenerateMethodArgument=false)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// ID of the related service. LOV: String identifier in the format 'Prefix-Number', where Pefix is '02' for Resource Facing Service\r\n /// <c>p_ucp_set_patch_Service</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// List of characteristics of the related service. LOV: A List of object\r\n /// <c>p_ucp_set_patch_Service</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"serviceCharacteristic\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public object[] serviceCharacteristic\r\n {\r\n get\r\n {\r\n return this._serviceCharacteristic;\r\n }\r\n set\r\n {\r\n this._serviceCharacteristic = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Service specification (ServiceSpecification). The specification of the service to which this instance conforms.. LOV: An object\r\n /// <c>p_ucp_set_patch_Service</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"serviceSpecification\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ServiceSpecification serviceSpecification\r\n {\r\n get\r\n {\r\n return this._serviceSpecification;\r\n }\r\n set\r\n {\r\n this._serviceSpecification = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ServiceSpecification", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class ServiceSpecification\r\n{\r\n \r\n private string _type;\r\n \r\n private string _id;\r\n \r\n private string _name;\r\n \r\n /// <summary>\r\n /// The @type attribute represents the actual class type of an entity. LOV: An Attribute Format value of the Object\r\n /// <c>p_ucp_set_patch_Service</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n [Natec.Workflow.Runtime.PluginParticipation(GenerateMethodArgument=false)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Unique identifier of the characteristic. LOV: Value, provided by BSS template\r\n /// <c>p_ucp_set_patch_Service</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Code of the characteristic. LOV: Value, provided by BSS template\r\n /// <c>p_ucp_set_patch_Service</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "SystemException", "definition": "{\r\n \"$schema\":\"http://natec.tech/simpleschema\",\r\n \"$ref\":\"#/definitions/SystemException\",\r\n \"definitions\":{\r\n \"SystemException\":{\r\n \"type\":\"object\",\r\n \"properties\":{\r\n \"Exception\":{\r\n \"type\":\"types://core/System.Exception\"\r\n },\r\n \"info\":{\r\n \"type\":\"string\"\r\n }\r\n },\r\n \"title\":\"SystemException\"\r\n }\r\n }\r\n}", "isNativeDefinition": false }, { "name": "Value", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class Value\r\n{\r\n \r\n private string _type;\r\n \r\n private Note[] _note;\r\n \r\n private object[] _serviceRelationship;\r\n \r\n /// <summary>\r\n /// Type of entity, e.g., Service. LOV: Service\r\n /// <c>p_ucp_set_patch_Service</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n [Natec.Workflow.Runtime.PluginParticipation(GenerateMethodArgument=false)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A list of notes made about the service. Can be used for status or other info. LOV: A List of object\r\n /// <c>p_ucp_set_patch_Service</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"note\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public Note[] note\r\n {\r\n get\r\n {\r\n return this._note;\r\n }\r\n set\r\n {\r\n this._note = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A list of service relationships (ServiceRelationship[*]). Describes links with other service(s) in the service catalog. LOV: A List of object\r\n /// <c>p_ucp_set_patch_Service</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"serviceRelationship\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public object[] serviceRelationship\r\n {\r\n get\r\n {\r\n return this._serviceRelationship;\r\n }\r\n set\r\n {\r\n this._serviceRelationship = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }] [] - [ { "name": "formResponse", "initCode": "string formResponse(StringDictionary dic)\n{\n if (WorkflowEnvironment.RuntimeName == \"Plugin\")\n {\n if (WorkflowEnvironment.Variables.TryGetValue(\"HttpResponse\", out object httpResponseObj))\n {\n Microsoft.AspNetCore.Http.HttpResponse response = httpResponseObj as Microsoft.AspNetCore.Http.HttpResponse;\n foreach(var kvp in dic)\n {\n response.Headers[kvp.Key] = kvp.Value;\n }\n }\n }\n return string.Empty;\n}", "initParameters": [ { "name": "dic", "type": "StringDictionary" }, { "name": "Result", "type": "string" } ] }, { "name": "readCache", "initCode": "StringDictionary readCache()\n{\n Dictionary<string,string> result = null;\n //Service_Response_PATCH result = null;\n var distrCache = ServiceProvider.GetService<IDistributedCache>();\n if (distrCache != null)\n {\n var modelStr = distrCache.GetString($\"{Parameters.cacheId}{Parameters.x_ms_client_request_id}\");\n if (!string.IsNullOrEmpty(modelStr))\n {\n var buf = Natec.Workflow.MultipartStringBuffer.Parse(modelStr).Result;\n //result = buf.Parts[\"headers\"];\n result = JsonConvert.DeserializeObject<Dictionary<string,string>>(buf.Parts[\"headers\"]);\n result.Add(\"cacheStatus\", \"IsCompleted\");\n }\n } \n return result;\n}", "initParameters": [ { "name": "Result", "type": "StringDictionary" } ] }, { "name": "form_CacheId", "initCode": "string form_CacheId()\n{\n // TODO Insert your code here\n \n string prefix = \"Service_PATCH\";\n if (WorkflowEnvironment.RuntimeName == \"Plugin\")\n {\n if (WorkflowEnvironment.Variables.TryGetValue(\"HttpRequest\", out object httpRequestObj))\n {\n Microsoft.AspNetCore.Http.HttpRequest request = httpRequestObj as Microsoft.AspNetCore.Http.HttpRequest;\n prefix = $\"{request.Method}_{request.Path}_\";\n \n }\n }\n Parameters.cacheId = prefix;\n return prefix; \n}", "initParameters": [ { "name": "Result", "type": "string" } ] }, { "name": "p_ucp_set_patch_Service", "initCode": "StringDictionary p_ucp_set_patch_Service(PatchOperation[] payload, string x_ms_client_request_id, string ErrFormat, string Lang, string httpContext)\n{\n var payloadStr = JsonConvert.SerializeObject(payload);\n Logger.LogInformation(payloadStr);\n int? id = null;\n var p = new DynamicParameters();\n p.Add(\"x_ms_client_request_id\", value: x_ms_client_request_id, dbType: DbType.String, size: 32);\n\t\t\tp.Add(\"Lang\", value: Lang, dbType: DbType.String, direction: ParameterDirection.InputOutput, size: 3);\n\t\t\tp.Add(\"ErrFormat\", value: ErrFormat, dbType: DbType.String, size: 25);\n\t\t\tp.Add(\"payload\", value: payloadStr, dbType: DbType.String, size: -1);\n\t\t\tp.Add(\"httpContext\", value: httpContext, dbType: DbType.String, size: -1);\n p.Add(\"wev_ID\", value: id, dbType: DbType.Int32, direction: ParameterDirection.InputOutput);\n\t\t\t\n string unibillConnection = Parameters.sqlConnectionString;\n var procedure = \"[dbo].[p_ucp_set_patch_Service]\";\n using (var connection = new SqlConnection(unibillConnection))\n {\n connection.Execute(procedure, p, commandType: CommandType.StoredProcedure,commandTimeout:0);\n }\n \n Service_Response_PATCH result = new Service_Response_PATCH();\n\t\t\tresult.id = p.Get<int?>(\"wev_ID\").GetValueOrDefault();\n\t\t\tresult.Accept_Language = p.Get<string>(\"Lang\");\n \n WorkflowEnvironment.Variables[\"StatusCode\"] = \"200\";\n Dictionary<string,string> strDic = new Dictionary<string,string>();\n strDic[\"Accept-Language\"] = p.Get<string>(\"Lang\");\n strDic[\"Location\"] = $\"/monitor/{result.id}\";\n\n var distrCache = ServiceProvider.GetService<IDistributedCache>();\n if (distrCache != null)\n {\n string cacheKey = $\"{Parameters.cacheId}{Parameters.x_ms_client_request_id}\";\n \n\t\t\tNatec.Workflow.MultipartStringBufferComposer composer = new Natec.Workflow.MultipartStringBufferComposer()\n\t\t\t .AddString(\"headers\", Newtonsoft.Json.JsonConvert.SerializeObject(strDic))\n\t\t\t\t.AddString(\"response\", Newtonsoft.Json.JsonConvert.SerializeObject(result));\n\n distrCache.SetString(cacheKey, composer.ToString());\n } \n strDic.Add(\"cacheStatus\", \"Added\");\n return strDic;\n}", "initParameters": [ { "type": "PatchOperation[]", "name": "payload", "defaultValue": "" }, { "type": "string", "name": "x_ms_client_request_id", "defaultValue": "" }, { "type": "string", "name": "ErrFormat", "defaultValue": "" }, { "type": "string", "name": "Lang", "defaultValue": "" }, { "type": "string", "name": "httpContext", "defaultValue": "" }, { "name": "Result", "type": "StringDictionary" } ] }, { "name": "HandleException", "initCode": "Error HandleException (\n\t\tPassingResult prevData\n\t) \n {\n try\n {\n //investigate the Exception \n Logger.LogInformation($\"Exception name : {prevData.Exception?.GetType()?.Name}\");\n\n Error result = new Error(){ status = \"500\"};\n if (prevData.Exception != null)\n {\n result = prevData.Exception.GetError(\"500\");\n }\n \n int statusCode = 500;\n int.TryParse(result?.status, out statusCode);\n \n WorkflowEnvironment.Variables[\"StatusCode\"] = 500; \n if (WorkflowEnvironment.Variables.TryGetValue (\"HttpResponse\", out object httpResponseObj))\n {\n Microsoft.AspNetCore.Http.HttpResponse response = httpResponseObj as Microsoft.AspNetCore.Http.HttpResponse;\n response.StatusCode = statusCode;\n } \n return result;\n }\n catch (Exception e) \n {\n Logger.LogError($\"HandleException:: error {e}\");\n if (WorkflowEnvironment.Variables.TryGetValue (\"HttpResponse\", out object httpResponseObj))\n {\n Microsoft.AspNetCore.Http.HttpResponse response = httpResponseObj as Microsoft.AspNetCore.Http.HttpResponse;\n //Parameters.x_ms_client_request_id\n response.StatusCode = 500;\n } \n return new Error() \n { \n status = \"500\",\n message = $\"Error while handle error ! {e.Message}\"\n };\n }\n }", "initParameters": [ { "name": "Result", "type": "Error", "required": false, "defaultValue": null }, { "name": "prevData", "type": "PassingResult", "required": true, "defaultValue": null } ] }, { "name": "proceedSessionParameters", "initCode": "Json proceedSessionParameters (\n\t)\n{\n string v_author = null;\n string v_hostname = null;\n Parameters.x_ms_client_request_id = Guid.NewGuid().ToString();\n\n if(WorkflowEnvironment.RuntimeName == \"Plugin\")\n {\n if (WorkflowEnvironment.Variables.TryGetValue(\"ApiContext\", out object apiContextObj))\n {\n IApiContext apiContext = apiContextObj as IApiContext;\n v_author = apiContext.DataBag.UserName;\n v_hostname = apiContext.DataBag.From;\n }\n\n if (WorkflowEnvironment.Variables.TryGetValue(\"HttpRequest\", out object httpRequestObj))\n {\n Microsoft.AspNetCore.Http.HttpRequest req = httpRequestObj as Microsoft.AspNetCore.Http.HttpRequest;\n if (req.Headers.TryGetValue(\"x-ms-client-request-id\", out var reqIdValues))\n {\n Parameters.x_ms_client_request_id = reqIdValues.FirstOrDefault();\n Parameters.input_x_ms_client_request_id = Parameters.x_ms_client_request_id;\n } \n else\n if (req.Headers.TryGetValue(\"x_ms_client_request_id\", out reqIdValues))\n {\n Parameters.x_ms_client_request_id = reqIdValues.FirstOrDefault();\n Parameters.input_x_ms_client_request_id = Parameters.x_ms_client_request_id;\n }\n if (req.Headers.TryGetValue(\"Accept-Language\", out var lang))\n {\n Parameters.Lang = lang.FirstOrDefault();\n } \n Parameters.urlPath = req.Path;\n }\n }\n \n Parameters.httpContext = Parameters.httpContext.Replace(\"{{sourceHref}}\", Parameters.urlPath)\n .Replace(\"{{x-ms-client-request-id}}\", Parameters.x_ms_client_request_id);\n\n if (this.WorkflowEnvironment.Variables.TryGetValue(\"ConfigString\", out object configStr))\n {\n var configJson = new JSON(configStr).Cast<ServiceConfig>();\n if(!string.IsNullOrEmpty(configJson?.ConnectionString))\n {\n Parameters.sqlConnectionString = configJson.ConnectionString;\n }\n };\n return null;\n }", "initParameters": [ { "name": "Result", "type": "Json" } ] }, { "name": "setResponseStatus", "initCode": "void setResponseStatus (\n\t\tint statusCode\n\t) \n {\n // TODO Insert your code here\n WorkflowEnvironment.Variables[\"StatusCode\"] = statusCode;\n if (WorkflowEnvironment.Variables.TryGetValue(\"HttpResponse\", out object httpResponseObj))\n {\n Microsoft.AspNetCore.Http.HttpResponse response = httpResponseObj as Microsoft.AspNetCore.Http.HttpResponse;\n response.StatusCode = statusCode;\n } \n }", "initParameters": [ { "name": "Result" }, { "name": "statusCode", "type": "int", "required": false } ] }] + [ { "name": "formResponse", "initCode": "string formResponse(StringDictionary dic)\n{\n if (WorkflowEnvironment.RuntimeName == \"Plugin\")\n {\n if (WorkflowEnvironment.Variables.TryGetValue(\"HttpResponse\", out object httpResponseObj))\n {\n Microsoft.AspNetCore.Http.HttpResponse response = httpResponseObj as Microsoft.AspNetCore.Http.HttpResponse;\n foreach(var kvp in dic)\n {\n response.Headers[kvp.Key] = kvp.Value;\n }\n }\n }\n return string.Empty;\n}", "initParameters": [ { "name": "dic", "type": "StringDictionary" }, { "name": "Result", "type": "string" } ] }, { "name": "readCache", "initCode": "StringDictionary readCache()\n{\n Dictionary<string,string> result = null;\n //Service_Response_PATCH result = null;\n var distrCache = ServiceProvider.GetService<IDistributedCache>();\n if (distrCache != null)\n {\n var modelStr = distrCache.GetString($\"{Parameters.cacheId}{Parameters.x_ms_client_request_id}\");\n if (!string.IsNullOrEmpty(modelStr))\n {\n var buf = Natec.Workflow.MultipartStringBuffer.Parse(modelStr).Result;\n //result = buf.Parts[\"headers\"];\n result = JsonConvert.DeserializeObject<Dictionary<string,string>>(buf.Parts[\"headers\"]);\n result.Add(\"cacheStatus\", \"IsCompleted\");\n }\n } \n return result;\n}", "initParameters": [ { "name": "Result", "type": "StringDictionary" } ] }, { "name": "form_CacheId", "initCode": "string form_CacheId()\n{\n // TODO Insert your code here\n \n string prefix = \"Service_PATCH\";\n if (WorkflowEnvironment.RuntimeName == \"Plugin\")\n {\n if (WorkflowEnvironment.Variables.TryGetValue(\"HttpRequest\", out object httpRequestObj))\n {\n Microsoft.AspNetCore.Http.HttpRequest request = httpRequestObj as Microsoft.AspNetCore.Http.HttpRequest;\n prefix = $\"{request.Method}_{request.Path}_\";\n \n }\n }\n Parameters.cacheId = prefix;\n return prefix; \n}", "initParameters": [ { "name": "Result", "type": "string" } ] }, { "name": "p_ucp_set_patch_Service", "initCode": "StringDictionary p_ucp_set_patch_Service(PatchOperation[] payload, string x_ms_client_request_id, string ErrFormat, string Lang, string httpContext)\n{\n var payloadStr = JsonConvert.SerializeObject(payload);\n Logger.LogInformation(payloadStr);\n int? id = null;\n var p = new DynamicParameters();\n p.Add(\"x_ms_client_request_id\", value: x_ms_client_request_id, dbType: DbType.String, size: 32);\n\t\t\tp.Add(\"Lang\", value: Lang, dbType: DbType.String, direction: ParameterDirection.InputOutput, size: 3);\n\t\t\tp.Add(\"ErrFormat\", value: ErrFormat, dbType: DbType.String, size: 25);\n\t\t\tp.Add(\"payload\", value: payloadStr, dbType: DbType.String, size: -1);\n\t\t\tp.Add(\"httpContext\", value: httpContext, dbType: DbType.String, size: -1);\n p.Add(\"wev_ID\", value: id, dbType: DbType.Int32, direction: ParameterDirection.InputOutput);\n\t\t\t\n string dbConnection = Parameters.sqlConnectionString;\n var procedure = \"[dbo].[p_ucp_set_patch_Service]\";\n using (var connection = new SqlConnection(dbConnection))\n {\n connection.Execute(procedure, p, commandType: CommandType.StoredProcedure,commandTimeout:0);\n }\n \n Service_Response_PATCH result = new Service_Response_PATCH();\n\t\t\tresult.id = p.Get<int?>(\"wev_ID\").GetValueOrDefault();\n\t\t\tresult.Accept_Language = p.Get<string>(\"Lang\");\n \n WorkflowEnvironment.Variables[\"StatusCode\"] = \"200\";\n Dictionary<string,string> strDic = new Dictionary<string,string>();\n strDic[\"Accept-Language\"] = p.Get<string>(\"Lang\");\n strDic[\"Location\"] = $\"/monitor/{result.id}\";\n\n var distrCache = ServiceProvider.GetService<IDistributedCache>();\n if (distrCache != null)\n {\n string cacheKey = $\"{Parameters.cacheId}{Parameters.x_ms_client_request_id}\";\n \n\t\t\tNatec.Workflow.MultipartStringBufferComposer composer = new Natec.Workflow.MultipartStringBufferComposer()\n\t\t\t .AddString(\"headers\", Newtonsoft.Json.JsonConvert.SerializeObject(strDic))\n\t\t\t\t.AddString(\"response\", Newtonsoft.Json.JsonConvert.SerializeObject(result));\n\n distrCache.SetString(cacheKey, composer.ToString());\n } \n strDic.Add(\"cacheStatus\", \"Added\");\n return strDic;\n}", "initParameters": [ { "type": "PatchOperation[]", "name": "payload", "defaultValue": "" }, { "type": "string", "name": "x_ms_client_request_id", "defaultValue": "" }, { "type": "string", "name": "ErrFormat", "defaultValue": "" }, { "type": "string", "name": "Lang", "defaultValue": "" }, { "type": "string", "name": "httpContext", "defaultValue": "" }, { "name": "Result", "type": "StringDictionary" } ] }, { "name": "HandleException", "initCode": "Error HandleException (\n\t\tPassingResult prevData\n\t) \n {\n try\n {\n //investigate the Exception \n Logger.LogInformation($\"Exception name : {prevData.Exception?.GetType()?.Name}\");\n\n Error result = new Error(){ status = \"500\"};\n if (prevData.Exception != null)\n {\n result = prevData.Exception.GetError(\"500\");\n }\n \n int statusCode = 500;\n int.TryParse(result?.status, out statusCode);\n \n WorkflowEnvironment.Variables[\"StatusCode\"] = 500; \n if (WorkflowEnvironment.Variables.TryGetValue (\"HttpResponse\", out object httpResponseObj))\n {\n Microsoft.AspNetCore.Http.HttpResponse response = httpResponseObj as Microsoft.AspNetCore.Http.HttpResponse;\n response.StatusCode = statusCode;\n } \n return result;\n }\n catch (Exception e) \n {\n Logger.LogError($\"HandleException:: error {e}\");\n if (WorkflowEnvironment.Variables.TryGetValue (\"HttpResponse\", out object httpResponseObj))\n {\n Microsoft.AspNetCore.Http.HttpResponse response = httpResponseObj as Microsoft.AspNetCore.Http.HttpResponse;\n //Parameters.x_ms_client_request_id\n response.StatusCode = 500;\n } \n return new Error() \n { \n status = \"500\",\n message = $\"Error while handle error ! {e.Message}\"\n };\n }\n }", "initParameters": [ { "name": "Result", "type": "Error", "required": false, "defaultValue": null }, { "name": "prevData", "type": "PassingResult", "required": true, "defaultValue": null } ] }, { "name": "proceedSessionParameters", "initCode": "Json proceedSessionParameters (\n\t)\n{\n string v_author = null;\n string v_hostname = null;\n Parameters.x_ms_client_request_id = Guid.NewGuid().ToString();\n\n if(WorkflowEnvironment.RuntimeName == \"Plugin\")\n {\n if (WorkflowEnvironment.Variables.TryGetValue(\"ApiContext\", out object apiContextObj))\n {\n IApiContext apiContext = apiContextObj as IApiContext;\n v_author = apiContext.DataBag.UserName;\n v_hostname = apiContext.DataBag.From;\n }\n\n if (WorkflowEnvironment.Variables.TryGetValue(\"HttpRequest\", out object httpRequestObj))\n {\n Microsoft.AspNetCore.Http.HttpRequest req = httpRequestObj as Microsoft.AspNetCore.Http.HttpRequest;\n if (req.Headers.TryGetValue(\"x-ms-client-request-id\", out var reqIdValues))\n {\n Parameters.x_ms_client_request_id = reqIdValues.FirstOrDefault();\n Parameters.input_x_ms_client_request_id = Parameters.x_ms_client_request_id;\n } \n else\n if (req.Headers.TryGetValue(\"x_ms_client_request_id\", out reqIdValues))\n {\n Parameters.x_ms_client_request_id = reqIdValues.FirstOrDefault();\n Parameters.input_x_ms_client_request_id = Parameters.x_ms_client_request_id;\n }\n if (req.Headers.TryGetValue(\"Accept-Language\", out var lang))\n {\n Parameters.Lang = lang.FirstOrDefault();\n } \n Parameters.urlPath = req.Path;\n }\n }\n \n Parameters.httpContext = Parameters.httpContext.Replace(\"{{sourceHref}}\", Parameters.urlPath)\n .Replace(\"{{x-ms-client-request-id}}\", Parameters.x_ms_client_request_id);\n\n if (this.WorkflowEnvironment.Variables.TryGetValue(\"ConfigString\", out object configStr))\n {\n var configJson = new JSON(configStr).Cast<ServiceConfig>();\n if(!string.IsNullOrEmpty(configJson?.ConnectionString))\n {\n Parameters.sqlConnectionString = configJson.ConnectionString;\n }\n };\n return null;\n }", "initParameters": [ { "name": "Result", "type": "Json" } ] }, { "name": "setResponseStatus", "initCode": "void setResponseStatus (\n\t\tint statusCode\n\t) \n {\n // TODO Insert your code here\n WorkflowEnvironment.Variables[\"StatusCode\"] = statusCode;\n if (WorkflowEnvironment.Variables.TryGetValue(\"HttpResponse\", out object httpResponseObj))\n {\n Microsoft.AspNetCore.Http.HttpResponse response = httpResponseObj as Microsoft.AspNetCore.Http.HttpResponse;\n response.StatusCode = statusCode;\n } \n }", "initParameters": [ { "name": "Result" }, { "name": "statusCode", "type": "int", "required": false } ] }] [] [ { "name": "RestApi", "initCode": "functions://default/RestApi", "initParameters": [ { "name": "Uri", "type": "Uri", "required": true, "oldName": "Uri", "oldType": "Uri", "defaultValue": "http://servername:port/resource" }, { "name": "Method", "type": "string", "required": true, "oldName": "Method", "oldType": "string", "defaultValue": "GET" }, { "name": "Login", "type": "string", "required": false, "oldName": "Login", "oldType": "string", "defaultValue": null }, { "name": "Password", "type": "string", "required": false, "oldName": "Password", "oldType": "string", "defaultValue": null }, { "name": "Headers", "type": "StringDictionary", "required": false, "oldName": "Headers", "oldType": "StringDictionary", "defaultValue": "{\r\n \"Content-Type\":\"application/json;charset=utf-16\",\r\n \"system\":\"204\",\r\n \"global_unique_id\":\"6a297fcb-956e-4228-8c11-017e9bacd629\"\r\n }" }, { "name": "Body", "type": "string", "required": false, "oldName": "Body", "oldType": "string", "defaultValue": "{}" }, { "name": "Encoding", "type": "string", "required": false, "oldName": "Encoding", "oldType": "string", "defaultValue": "utf-8" }, { "name": "Result", "type": "HttpResponse", "required": false, "oldName": "Result", "oldType": "HttpResponse", "defaultValue": null } ], "oldName": "RestApi" }, { "name": "RestApi_Get", "initCode": "functions://default/RestApi/Get", "initParameters": [ { "name": "Uri", "type": "Uri", "required": true, "oldName": "Uri", "oldType": "Uri", "defaultValue": "http://servername:port/resource" }, { "name": "Login", "type": "string", "required": false, "oldName": "Login", "oldType": "string", "defaultValue": null }, { "name": "Password", "type": "string", "required": false, "oldName": "Password", "oldType": "string", "defaultValue": null }, { "name": "Headers", "type": "StringDictionary", "required": false, "oldName": "Headers", "oldType": "StringDictionary", "defaultValue": "{\r\n \"Content-Type\":\"application/json;charset=utf-16\",\r\n \"system\":\"204\",\r\n \"global_unique_id\":\"6a297fcb-956e-4228-8c11-017e9bacd629\"\r\n }" }, { "name": "Encoding", "type": "string", "required": false, "oldName": "Encoding", "oldType": "string", "defaultValue": "utf-8" }, { "name": "Result", "type": "HttpResponse", "required": false, "oldName": "Result", "oldType": "HttpResponse", "defaultValue": null } ], "oldName": "RestApi_Get" }, { "name": "JsonPath", "initCode": "functions://default//JsonPath", "initParameters": [ { "name": "Response", "type": "HttpResponse", "required": true, "oldName": "Response", "oldType": "HttpResponse", "defaultValue": null }, { "name": "Path", "type": "string", "required": false, "oldName": "Path", "oldType": "string", "defaultValue": "$" }, { "name": "Result", "type": "Json", "required": false, "oldName": "Result", "oldType": "Json", "defaultValue": null } ], "oldName": "JsonPath" }, { "name": "SaveVariable", "initCode": "functions://default//SaveVariable", "initParameters": [ { "name": "VariableName", "type": "string", "required": true, "oldName": "VariableName", "oldType": "string", "defaultValue": "varName" }, { "name": "Data", "type": "object", "required": true, "oldName": "Data", "oldType": "object", "defaultValue": "#previous" } ], "oldName": "SaveVariable" }, { "name": "Wait", "initCode": "functions://default//Wait", "initParameters": [ { "name": "millisecondsTimeout", "type": "int", "required": true, "oldName": "millisecondsTimeout", "oldType": "int", "defaultValue": "1000" } ], "oldName": "Wait" }, { "name": "SQL_Oracle_Query", "initCode": "functions://default//SQL/Oracle/Query", "initParameters": [ { "name": "userID", "type": "string", "required": true, "oldName": "userID", "oldType": "string", "defaultValue": null }, { "name": "password", "type": "string", "required": false, "oldName": "password", "oldType": "string", "defaultValue": null }, { "name": "dataSource", "type": "string", "required": false, "oldName": "dataSource", "oldType": "string", "defaultValue": null }, { "name": "query", "type": "string", "required": false, "oldName": "query", "oldType": "string", "defaultValue": null }, { "name": "Result", "type": "Collection", "required": false, "oldName": "Result", "oldType": "Collection", "defaultValue": null } ], "oldName": "SQL_Oracle_Query" }, { "name": "SQL_Oracle_Command", "initCode": "functions://default//SQL/Oracle/Command", "initParameters": [ { "name": "userID", "type": "string", "required": true, "oldName": "userID", "oldType": "string", "defaultValue": null }, { "name": "password", "type": "string", "required": false, "oldName": "password", "oldType": "string", "defaultValue": null }, { "name": "dataSource", "type": "string", "required": false, "oldName": "dataSource", "oldType": "string", "defaultValue": null }, { "name": "command", "type": "string", "required": false, "oldName": "command", "oldType": "string", "defaultValue": null }, { "name": "Result", "type": "int", "required": false, "oldName": "Result", "oldType": "int", "defaultValue": null } ], "oldName": "SQL_Oracle_Command" }] [] - [ { "name": "input_x_ms_client_request_id", "type": "string", "initialValue": "" }, { "name": "cacheId", "type": "string", "initialValue": "" }, { "name": "ErrFormat", "type": "string", "initialValue": "json" }, { "name": "httpConfig", "type": "HttpConfig", "initialValue": "{\r\n \"host\":\"https://10.29.101.122\",\r\n \"port\":\"6992\",\r\n \"login\":\"login\",\r\n \"password\":\"password\",\r\n \"encoding\":\"utf-8\",\r\n \"headers\":{\r\n \"Content-Type\":\"application/vnd.api+json\",\r\n \"Accept\":\"application/vnd.api+json\"\r\n }\r\n}\r\n" }, { "name": "httpContext", "type": "string", "initialValue": " {\r\n \"sourceHref\": \"{{sourceHref}}\",\r\n \"request\": { \r\n \"method\": \"PATCH\",\r\n \"to\": \"tmf/Service\",\r\n \"header\": [\r\n { \r\n \t\"name\": \"x-ms-client-request-id\",\r\n \t\"value\": \"{{x-ms-client-request-id}}\"\r\n }\r\n ]\r\n },\r\n \"response\": {\r\n \"statusCode\": \"202\"\r\n }\r\n }" }, { "name": "Lang", "type": "string", "initialValue": "uk" }, { "name": "sqlConnectionString", "type": "string", "initialValue": "Data Source=sqlserv;Initial Catalog=unibill;User ID=login;Password=password;MultipleActiveResultSets=true;Encrypt=True;TrustServerCertificate=True;Command Timeout=3600" }, { "name": "urlPath", "type": "string", "initialValue": "_wf" }, { "name": "x_ms_client_request_id", "type": "string", "initialValue": "" }] + [ { "name": "input_x_ms_client_request_id", "type": "string", "initialValue": "" }, { "name": "cacheId", "type": "string", "initialValue": "" }, { "name": "ErrFormat", "type": "string", "initialValue": "json" }, { "name": "httpConfig", "type": "HttpConfig", "initialValue": "{\r\n \"host\":\"https://localhost\",\r\n \"port\":\"6992\",\r\n \"login\":\"login\",\r\n \"password\":\"password\",\r\n \"encoding\":\"utf-8\",\r\n \"headers\":{\r\n \"Content-Type\":\"application/vnd.api+json\",\r\n \"Accept\":\"application/vnd.api+json\"\r\n }\r\n}\r\n" }, { "name": "httpContext", "type": "string", "initialValue": " {\r\n \"sourceHref\": \"{{sourceHref}}\",\r\n \"request\": { \r\n \"method\": \"PATCH\",\r\n \"to\": \"tmf/Service\",\r\n \"header\": [\r\n { \r\n \t\"name\": \"x-ms-client-request-id\",\r\n \t\"value\": \"{{x-ms-client-request-id}}\"\r\n }\r\n ]\r\n },\r\n \"response\": {\r\n \"statusCode\": \"202\"\r\n }\r\n }" }, { "name": "Lang", "type": "string", "initialValue": "uk" }, { "name": "sqlConnectionString", "type": "string", "initialValue": "Data Source=localhost;Initial Catalog=examples;User ID=login;Password=;MultipleActiveResultSets=true;Encrypt=True;TrustServerCertificate=True;Command Timeout=3600" }, { "name": "urlPath", "type": "string", "initialValue": "_wf" }, { "name": "x_ms_client_request_id", "type": "string", "initialValue": "" }] [ { "op": "replace", "path": "/02-29848", "value": { "@type": "Service", "serviceRelationship": [ { "@type": "Service", "id": "02-29848", "serviceSpecification": { "@type": "serviceSpecification", "id": "SIM" }, "serviceCharacteristic": [ { "@type": "Characteristic", "id": "scrg_Code", "value": "12345678900000", "valueType": "string" } ] } ], "note": [ { "@type": "Note", "author": "system", "text": "Changed SIM to Group with external ID value 12345678900000" } ] } }, { "op": "replace", "path": "/02-29849", "value": { "@type": "Service", "serviceRelationship": [ { "@type": "Service", "id": "02-29849", "serviceSpecification": { "@type": "serviceSpecification", "id": "SIM" }, "serviceCharacteristic": [ { "@type": "Characteristic", "id": "scrg_Code", "value": "Default", "valueType": "string" } ] } ], "note": [ { "@type": "Note", "author": "system", "text": "SIM Group Delete operation" } ] } }] diff --git a/tmforum-apis/TMF640_Service_Activation_and_Configuration/TMF640_Post_Service.bpmn b/tmforum-apis/TMF640_Service_Activation_and_Configuration/TMF640_Post_Service.bpmn index bed999a..d477728 100644 --- a/tmforum-apis/TMF640_Service_Activation_and_Configuration/TMF640_Post_Service.bpmn +++ b/tmforum-apis/TMF640_Service_Activation_and_Configuration/TMF640_Post_Service.bpmn @@ -3,12 +3,12 @@ [ "Action", "Function"] [ { "name": "HttpConfig", "definition": "{\r\n \"$schema\":\"http://natec.tech/simpleschema\",\r\n \"$ref\":\"#/definitions/HttpConfig\",\r\n \"definitions\":{\r\n \"HttpConfig\":{\r\n \"type\":\"object\",\r\n \"properties\":{\r\n \"host\":{\r\n \"type\":\"string\"\r\n },\r\n \"port\":{\r\n \"type\":\"string\"\r\n },\r\n \"login\":{\r\n \"type\":\"string\"\r\n },\r\n \"password\":{\r\n \"type\":\"string\"\r\n },\r\n \"encoding\":{\r\n \"type\":\"string\"\r\n },\r\n \"headers\":{\r\n \"type\":\"StringDictionary<string, string>\"\r\n }\r\n },\r\n \"required\": [\"host\", \"encoding\", \"headers\"],\r\n \"title\":\"HttpConfig\"\r\n }\r\n }\r\n}", "isNativeDefinition": false }, { "name": "ErrorResponse", "definition": "{\r\n \"$schema\": \"http://json-schema.org/draft-06/schema#\",\r\n \"$ref\": \"#/definitions/ErrorResponse\",\r\n \"definitions\": {\r\n \"ErrorResponse\": {\r\n \"type\": \"object\",\r\n \"additionalProperties\": true,\r\n \"properties\": {\r\n \"LevelMessage\": {\r\n \"title\": \"The Error level\",\r\n \"type\": \"string\"\r\n },\r\n \"statusCode\": {\r\n \"title\": \"The Error Status Code\",\r\n \"type\": \"integer\"\r\n },\r\n \"ErrNumber\": {\r\n \"title\": \"The Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Message\": {\r\n \"title\": \"The Error Message\",\r\n \"type\": \"string\"\r\n },\r\n \"State\": {\r\n \"title\": \"The Error State\",\r\n \"type\": \"string\"\r\n },\r\n \"HelpLink\": {\r\n \"title\": \"The Help Link\",\r\n \"type\": \"string\"\r\n },\r\n \"errNumberReason\": {\r\n \"title\": \"The initial Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Data\": {\r\n \"title\": \"The Error Data\",\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"LevelMessage\": {\r\n \"title\": \"The Error level\",\r\n \"type\": \"string\"\r\n },\r\n \"statusCode\": {\r\n \"title\": \"The Error Status Code\",\r\n \"type\": \"integer\"\r\n },\r\n \"ErrNumber\": {\r\n \"title\": \"The Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Message\": {\r\n \"title\": \"The Error Message\",\r\n \"type\": \"string\"\r\n },\r\n \"State\": {\r\n \"title\": \"The Error State\",\r\n \"type\": \"string\"\r\n },\r\n \"HelpLink\": {\r\n \"title\": \"The Help Link\",\r\n \"type\": \"string\"\r\n },\r\n \"errNumberReason\": {\r\n \"title\": \"The initial Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Data\": {\r\n \"title\": \"The Data Schema\",\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"LevelMessage\": {\r\n \"title\": \"The Error level\",\r\n \"type\": \"string\"\r\n },\r\n \"statusCode\": {\r\n \"title\": \"The Error Status Code\",\r\n \"type\": \"integer\"\r\n },\r\n \"ErrNumber\": {\r\n \"title\": \"The Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Message\": {\r\n \"title\": \"The Error Message\",\r\n \"type\": \"string\"\r\n },\r\n \"State\": {\r\n \"title\": \"The Error State\",\r\n \"type\": \"string\"\r\n },\r\n \"HelpLink\": {\r\n \"title\": \"The Help Link\",\r\n \"type\": \"string\"\r\n },\r\n \"errNumberReason\": {\r\n \"title\": \"The initial Error Number\",\r\n \"type\": \"string\"\r\n }\r\n }\r\n },\r\n \"ResolveUrl\": {\r\n \"title\": \"The Resolve Url Link\",\r\n \"type\": \"string\"\r\n }\r\n }\r\n },\r\n \"ResolveUrl\": {\r\n \"title\": \"The Resolve Url Link\",\r\n \"type\": \"string\"\r\n },\r\n \"extraData\": {\r\n \"title\": \"The Error Extra Data \",\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"operationDuration\": {\r\n \"title\": \"The Operation Duration\",\r\n \"type\": \"integer\"\r\n }\r\n }\r\n }\r\n },\r\n \"title\": \"ErrorResponse\"\r\n }\r\n }\r\n}", "isNativeDefinition": false }, { "name": "SystemException", "definition": "{\r\n \"$schema\":\"http://natec.tech/simpleschema\",\r\n \"$ref\":\"#/definitions/SystemException\",\r\n \"definitions\":{\r\n \"SystemException\":{\r\n \"type\":\"object\",\r\n \"properties\":{\r\n \"Exception\":{\r\n \"type\":\"types://core/System.Exception\"\r\n },\r\n \"info\":{\r\n \"type\":\"string\"\r\n }\r\n },\r\n \"title\":\"SystemException\"\r\n }\r\n }\r\n}", "isNativeDefinition": false }, { "name": "Characteristic", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class Characteristic\r\n{\r\n \r\n private string _type;\r\n \r\n private string _id;\r\n \r\n private string _name;\r\n \r\n private string _value;\r\n \r\n private string _valueType;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private CharacteristicRelationship[] _characteristicRelationship;\r\n \r\n /// <summary>\r\n /// The @type attribute represents the actual class type of an entity. LOV: Characteristic\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Unique identifier of the characteristic. LOV: MSISDN\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Code of the characteristic. LOV: Value, provided by BSS template\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A Value of the characteristic. LOV: Value of MSISDN\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"value\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string value\r\n {\r\n get\r\n {\r\n return this._value;\r\n }\r\n set\r\n {\r\n this._value = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Data type of the value of the characteristic. LOV: string\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"valueType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string valueType\r\n {\r\n get\r\n {\r\n return this._valueType;\r\n }\r\n set\r\n {\r\n this._valueType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"characteristicRelationship\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public CharacteristicRelationship[] characteristicRelationship\r\n {\r\n get\r\n {\r\n return this._characteristicRelationship;\r\n }\r\n set\r\n {\r\n this._characteristicRelationship = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Feature", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class Feature\r\n{\r\n \r\n private string _type;\r\n \r\n private string _id;\r\n \r\n private System.Boolean? _isEnabled;\r\n \r\n private string _name;\r\n \r\n private Characteristic[] _featureCharacteristic;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private System.Boolean? _isBundle;\r\n \r\n private FeatureRelationship[] _featureRelationship;\r\n \r\n private ConstraintRef[] _constraint;\r\n \r\n /// <summary>\r\n /// The @type attribute represents the actual class type of an entity. LOV: An Attribute Format value of the Object\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Unique identifier of an instantiated feature to keep track of their state. LOV: Value of Feature Code, provided by BSS template\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A State of Service's Feature. LOV: True if this feature is enabled\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"isEnabled\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Boolean? isEnabled\r\n {\r\n get\r\n {\r\n return this._isEnabled;\r\n }\r\n set\r\n {\r\n this._isEnabled = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of Customer Facing Service to keep track of their state and changes. LOV: Value, provided by BSS template\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A list of Characteristics for a particular feature (a TariffPackage Service's configuration). LOV: A List of object\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"featureCharacteristic\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public Characteristic[] featureCharacteristic\r\n {\r\n get\r\n {\r\n return this._featureCharacteristic;\r\n }\r\n set\r\n {\r\n this._featureCharacteristic = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// True if this is a feature group. Default is false.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"isBundle\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Boolean? isBundle\r\n {\r\n get\r\n {\r\n return this._isBundle;\r\n }\r\n set\r\n {\r\n this._isBundle = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"featureRelationship\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public FeatureRelationship[] featureRelationship\r\n {\r\n get\r\n {\r\n return this._featureRelationship;\r\n }\r\n set\r\n {\r\n this._featureRelationship = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// This is a list of feature constraints.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"constraint\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ConstraintRef[] constraint\r\n {\r\n get\r\n {\r\n return this._constraint;\r\n }\r\n set\r\n {\r\n this._constraint = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ServiceSpecification", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class ServiceSpecification\r\n{\r\n \r\n private string _type;\r\n \r\n private string _id;\r\n \r\n private string _name;\r\n \r\n /// <summary>\r\n /// The @type attribute represents the actual class type of an entity. LOV: An Attribute Format value of the Object\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Unique identifier of the characteristic. LOV: Value, provided by BSS template\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Code of the characteristic. LOV: Value, provided by BSS template\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ServiceReforValue", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class ServiceReforValue\r\n{\r\n \r\n private string _type;\r\n \r\n private Characteristic[] _serviceCharacteristic;\r\n \r\n private ServiceSpecification _serviceSpecification;\r\n \r\n private string _state;\r\n \r\n private string _id;\r\n \r\n /// <summary>\r\n /// The @type attribute represents the actual class type of an entity. LOV: An Attribute Format value of the Object\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A list of characteristics that characterize the Resource Facing Services (ServiceCharacteristic [*]). LOV: A List of object\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"serviceCharacteristic\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public Characteristic[] serviceCharacteristic\r\n {\r\n get\r\n {\r\n return this._serviceCharacteristic;\r\n }\r\n set\r\n {\r\n this._serviceCharacteristic = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A Service Specification. LOV: An object\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"serviceSpecification\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ServiceSpecification serviceSpecification\r\n {\r\n get\r\n {\r\n return this._serviceSpecification;\r\n }\r\n set\r\n {\r\n this._serviceSpecification = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A current state of the Resource Facing Service. LOV: activ, synced, temp, close\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"state\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string state\r\n {\r\n get\r\n {\r\n return this._state;\r\n }\r\n set\r\n {\r\n this._state = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// No description\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Note", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class Note\r\n{\r\n \r\n private string _type;\r\n \r\n private string _author;\r\n \r\n private string _hostname;\r\n \r\n private string _text;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private System.DateTime? _date;\r\n \r\n /// <summary>\r\n /// The @type attribute represents the actual class type of an entity. LOV: An Attribute Format value of the Object\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Author of this change. LOV: Username - user from the context, NULL - if unknown\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"author\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string author\r\n {\r\n get\r\n {\r\n return this._author;\r\n }\r\n set\r\n {\r\n this._author = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// hostname of this change. LOV: origin hostname or IP-address\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"hostname\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string hostname\r\n {\r\n get\r\n {\r\n return this._hostname;\r\n }\r\n set\r\n {\r\n this._hostname = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Comment for this change. LOV: String value greater than or equal to 10 characters\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"text\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string text\r\n {\r\n get\r\n {\r\n return this._text;\r\n }\r\n set\r\n {\r\n this._text = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Date of the note\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"date\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? date\r\n {\r\n get\r\n {\r\n return this._date;\r\n }\r\n set\r\n {\r\n this._date = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "RelatedParty", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class RelatedParty\r\n{\r\n \r\n private string _id;\r\n \r\n private System.Int32? _iDType;\r\n \r\n private string _referredType;\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _href;\r\n \r\n private string _name;\r\n \r\n private string _role;\r\n \r\n /// <summary>\r\n /// Entity identifier. LOV: IDType depended identifier value\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Sign of passing an external ID value. LOV: 1 - external ID, 0 - internal ID\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"IDType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? IDType\r\n {\r\n get\r\n {\r\n return this._iDType;\r\n }\r\n set\r\n {\r\n this._iDType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// An Entity name, available as a Related Party. LOV: supported value is \"Customers\"\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The @type attribute represents the actual class type of an entity. LOV: An Attribute Format value of the Object\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Role played by the related party\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"role\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string role\r\n {\r\n get\r\n {\r\n return this._role;\r\n }\r\n set\r\n {\r\n this._role = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Service_FVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class Service_FVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _description;\r\n \r\n private Feature[] _feature;\r\n \r\n private System.Boolean? _hasStarted;\r\n \r\n private System.Boolean? _isServiceEnabled;\r\n \r\n private Characteristic[] _serviceCharacteristic;\r\n \r\n private System.DateTime? _serviceDate;\r\n \r\n private System.DateTime? _startDate;\r\n \r\n private ServiceReforValue[] _supportingService;\r\n \r\n private string _format;\r\n \r\n private string _accept_Language;\r\n \r\n private string _state;\r\n \r\n private string _category;\r\n \r\n private Note[] _note;\r\n \r\n private RelatedParty[] _relatedParty;\r\n \r\n private string _x_ms_client_request_id;\r\n \r\n private string _id;\r\n \r\n private ServiceSpecification _serviceSpecification;\r\n \r\n private System.DateTime? _endDate;\r\n \r\n private string _startMode;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _href;\r\n \r\n private System.Boolean? _isStateful;\r\n \r\n private RelatedServiceOrderItem[] _serviceOrderItem;\r\n \r\n private string _serviceType;\r\n \r\n private System.Boolean? _isBundle;\r\n \r\n private string _name;\r\n \r\n private RelatedEntityRefOrValue_FVO[] _relatedEntity;\r\n \r\n private ServiceRelationship_FVO[] _serviceRelationship;\r\n \r\n private ResourceRef_FVO[] _supportingResource;\r\n \r\n private RelatedPlaceRefOrValue_FVO[] _place;\r\n \r\n /// <summary>\r\n /// The @type attribute represents the actual class type of an entity. LOV: supported value is \"Service\"\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [FromRoute(Name=\"@type\")]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Comment for this change\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"description\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string description\r\n {\r\n get\r\n {\r\n return this._description;\r\n }\r\n set\r\n {\r\n this._description = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A list of feature associated with this service. LOV: A List of object\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"feature\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public Feature[] feature\r\n {\r\n get\r\n {\r\n return this._feature;\r\n }\r\n set\r\n {\r\n this._feature = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// An Activation state of Service. LOV: If TRUE, this Service has already been started\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"hasStarted\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Boolean? hasStarted\r\n {\r\n get\r\n {\r\n return this._hasStarted;\r\n }\r\n set\r\n {\r\n this._hasStarted = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A current State of Service. LOV: If FALSE and hasStarted is FALSE, this particular Service has NOT been enabled for use - if FALSE and hasStarted is TRUE then the service has disabled\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"isServiceEnabled\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Boolean? isServiceEnabled\r\n {\r\n get\r\n {\r\n return this._isServiceEnabled;\r\n }\r\n set\r\n {\r\n this._isServiceEnabled = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A list of characteristics that characterize the Customer Facing Service (ServiceCharacteristic [*]). LOV: A List of object\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"serviceCharacteristic\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public Characteristic[] serviceCharacteristic\r\n {\r\n get\r\n {\r\n return this._serviceCharacteristic;\r\n }\r\n set\r\n {\r\n this._serviceCharacteristic = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Date when the service was created (whatever its status)\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"serviceDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? serviceDate\r\n {\r\n get\r\n {\r\n return this._serviceDate;\r\n }\r\n set\r\n {\r\n this._serviceDate = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Date when the service starts. LOV: Date without time, effective from 0:00\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"startDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? startDate\r\n {\r\n get\r\n {\r\n return this._startDate;\r\n }\r\n set\r\n {\r\n this._startDate = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A list of supporting Resource Facing Services (SupportingService [*]), is used to link CFS to RFS. LOV: A List of object\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"supportingService\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ServiceReforValue[] supportingService\r\n {\r\n get\r\n {\r\n return this._supportingService;\r\n }\r\n set\r\n {\r\n this._supportingService = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Error output format. LOV: supported value is json\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"format\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [FromRoute(Name=\"format\")]\r\n public string format\r\n {\r\n get\r\n {\r\n return this._format;\r\n }\r\n set\r\n {\r\n this._format = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Specifying a language for a multi-language dataset. LOV: supported value are en-English, uk-Ukrainian, ru-russian\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"Accept-Language\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [FromHeader(Name=\"Accept-Language\")]\r\n public string Accept_Language\r\n {\r\n get\r\n {\r\n return this._accept_Language;\r\n }\r\n set\r\n {\r\n this._accept_Language = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A current state of the Customer Facing Service. LOV: activ, synced, temp, close\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"state\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string state\r\n {\r\n get\r\n {\r\n return this._state;\r\n }\r\n set\r\n {\r\n this._state = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// unique code for the Customer Facing Service category (service's network code). LOV: value, provided by BSS template\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"category\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string category\r\n {\r\n get\r\n {\r\n return this._category;\r\n }\r\n set\r\n {\r\n this._category = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Structure for logging changes. LOV: A List of object\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"note\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public Note[] note\r\n {\r\n get\r\n {\r\n return this._note;\r\n }\r\n set\r\n {\r\n this._note = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A Related Party for this operation. LOV: A List of object\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"relatedParty\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public RelatedParty[] relatedParty\r\n {\r\n get\r\n {\r\n return this._relatedParty;\r\n }\r\n set\r\n {\r\n this._relatedParty = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A unique identifier for the search request, used for the GET operation.. LOV: generally a GUID value\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"x-ms-client-request-id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [FromHeader(Name=\"x-ms-client-request-id\")]\r\n public string x_ms_client_request_id\r\n {\r\n get\r\n {\r\n return this._x_ms_client_request_id;\r\n }\r\n set\r\n {\r\n this._x_ms_client_request_id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Unique identifier of the Customer Facing Service to keep track of their state and changes. LOV: String identifier in the format 'Prefix-Number', where Pefix is '01' for Customer Facing Service\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A Service Specification characteristic. LOV: An object\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"serviceSpecification\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ServiceSpecification serviceSpecification\r\n {\r\n get\r\n {\r\n return this._serviceSpecification;\r\n }\r\n set\r\n {\r\n this._serviceSpecification = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// No description\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"endDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? endDate\r\n {\r\n get\r\n {\r\n return this._endDate;\r\n }\r\n set\r\n {\r\n this._endDate = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// No description\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"startMode\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string startMode\r\n {\r\n get\r\n {\r\n return this._startMode;\r\n }\r\n set\r\n {\r\n this._startMode = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// If TRUE, this Service can be changed without affecting any other services\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"isStateful\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Boolean? isStateful\r\n {\r\n get\r\n {\r\n return this._isStateful;\r\n }\r\n set\r\n {\r\n this._isStateful = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A list of service order items related to this service\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"serviceOrderItem\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public RelatedServiceOrderItem[] serviceOrderItem\r\n {\r\n get\r\n {\r\n return this._serviceOrderItem;\r\n }\r\n set\r\n {\r\n this._serviceOrderItem = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Business type of the service\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"serviceType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string serviceType\r\n {\r\n get\r\n {\r\n return this._serviceType;\r\n }\r\n set\r\n {\r\n this._serviceType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// If true, the service is a ServiceBundle which regroup a service hierachy. If false, the service is a 'atomic' service (hierachy leaf).\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"isBundle\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Boolean? isBundle\r\n {\r\n get\r\n {\r\n return this._isBundle;\r\n }\r\n set\r\n {\r\n this._isBundle = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the service\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A list of related entities in relationship with this service\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"relatedEntity\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public RelatedEntityRefOrValue_FVO[] relatedEntity\r\n {\r\n get\r\n {\r\n return this._relatedEntity;\r\n }\r\n set\r\n {\r\n this._relatedEntity = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A list of service relationships (ServiceRelationship [*]). Describes links with other service(s) in the inventory.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"serviceRelationship\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ServiceRelationship_FVO[] serviceRelationship\r\n {\r\n get\r\n {\r\n return this._serviceRelationship;\r\n }\r\n set\r\n {\r\n this._serviceRelationship = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A list of supporting resources (SupportingResource [*]).Note: only Service of type RFS can be associated with Resources\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"supportingResource\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ResourceRef_FVO[] supportingResource\r\n {\r\n get\r\n {\r\n return this._supportingResource;\r\n }\r\n set\r\n {\r\n this._supportingResource = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A list of places (Place [*]). Used to define a place useful for the service (for example a geographical place whre the service is installed)\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"place\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public RelatedPlaceRefOrValue_FVO[] place\r\n {\r\n get\r\n {\r\n return this._place;\r\n }\r\n set\r\n {\r\n this._place = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Service_MVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class Service_MVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _description;\r\n \r\n private Feature[] _feature;\r\n \r\n private System.Boolean? _hasStarted;\r\n \r\n private System.Boolean? _isServiceEnabled;\r\n \r\n private Characteristic[] _serviceCharacteristic;\r\n \r\n private System.DateTime? _serviceDate;\r\n \r\n private System.DateTime? _startDate;\r\n \r\n private ServiceReforValue[] _supportingService;\r\n \r\n private string _format;\r\n \r\n private string _accept_Language;\r\n \r\n private string _state;\r\n \r\n private string _category;\r\n \r\n private Note[] _note;\r\n \r\n private RelatedParty[] _relatedParty;\r\n \r\n private string _x_ms_client_request_id;\r\n \r\n private string _id;\r\n \r\n private ServiceSpecification _serviceSpecification;\r\n \r\n private System.DateTime? _endDate;\r\n \r\n private string _startMode;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _href;\r\n \r\n private System.Boolean? _isStateful;\r\n \r\n private RelatedServiceOrderItem[] _serviceOrderItem;\r\n \r\n private string _serviceType;\r\n \r\n private System.Boolean? _isBundle;\r\n \r\n private string _name;\r\n \r\n private RelatedEntityRefOrValue_MVO[] _relatedEntity;\r\n \r\n private ServiceRelationship_MVO[] _serviceRelationship;\r\n \r\n private ResourceRef_MVO[] _supportingResource;\r\n \r\n private RelatedPlaceRefOrValue_MVO[] _place;\r\n \r\n /// <summary>\r\n /// The @type attribute represents the actual class type of an entity. LOV: supported value is \"Service\"\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [FromRoute(Name=\"@type\")]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Comment for this change\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"description\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string description\r\n {\r\n get\r\n {\r\n return this._description;\r\n }\r\n set\r\n {\r\n this._description = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A list of feature associated with this service. LOV: A List of object\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"feature\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public Feature[] feature\r\n {\r\n get\r\n {\r\n return this._feature;\r\n }\r\n set\r\n {\r\n this._feature = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// An Activation state of Service. LOV: If TRUE, this Service has already been started\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"hasStarted\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Boolean? hasStarted\r\n {\r\n get\r\n {\r\n return this._hasStarted;\r\n }\r\n set\r\n {\r\n this._hasStarted = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A current State of Service. LOV: If FALSE and hasStarted is FALSE, this particular Service has NOT been enabled for use - if FALSE and hasStarted is TRUE then the service has disabled\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"isServiceEnabled\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Boolean? isServiceEnabled\r\n {\r\n get\r\n {\r\n return this._isServiceEnabled;\r\n }\r\n set\r\n {\r\n this._isServiceEnabled = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A list of characteristics that characterize the Customer Facing Service (ServiceCharacteristic [*]). LOV: A List of object\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"serviceCharacteristic\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public Characteristic[] serviceCharacteristic\r\n {\r\n get\r\n {\r\n return this._serviceCharacteristic;\r\n }\r\n set\r\n {\r\n this._serviceCharacteristic = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Date when the service was created (whatever its status)\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"serviceDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? serviceDate\r\n {\r\n get\r\n {\r\n return this._serviceDate;\r\n }\r\n set\r\n {\r\n this._serviceDate = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Date when the service starts. LOV: Date without time, effective from 0:00\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"startDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? startDate\r\n {\r\n get\r\n {\r\n return this._startDate;\r\n }\r\n set\r\n {\r\n this._startDate = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A list of supporting Resource Facing Services (SupportingService [*]), is used to link CFS to RFS. LOV: A List of object\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"supportingService\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ServiceReforValue[] supportingService\r\n {\r\n get\r\n {\r\n return this._supportingService;\r\n }\r\n set\r\n {\r\n this._supportingService = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Error output format. LOV: supported value is json\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"format\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [FromRoute(Name=\"format\")]\r\n public string format\r\n {\r\n get\r\n {\r\n return this._format;\r\n }\r\n set\r\n {\r\n this._format = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Specifying a language for a multi-language dataset. LOV: supported value are en-English, uk-Ukrainian, ru-russian\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"Accept-Language\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [FromHeader(Name=\"Accept-Language\")]\r\n public string Accept_Language\r\n {\r\n get\r\n {\r\n return this._accept_Language;\r\n }\r\n set\r\n {\r\n this._accept_Language = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A current state of the Customer Facing Service. LOV: activ, synced, temp, close\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"state\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string state\r\n {\r\n get\r\n {\r\n return this._state;\r\n }\r\n set\r\n {\r\n this._state = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// unique code for the Customer Facing Service category (service's network code). LOV: value, provided by BSS template\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"category\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string category\r\n {\r\n get\r\n {\r\n return this._category;\r\n }\r\n set\r\n {\r\n this._category = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Structure for logging changes. LOV: A List of object\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"note\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public Note[] note\r\n {\r\n get\r\n {\r\n return this._note;\r\n }\r\n set\r\n {\r\n this._note = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A Related Party for this operation. LOV: A List of object\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"relatedParty\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public RelatedParty[] relatedParty\r\n {\r\n get\r\n {\r\n return this._relatedParty;\r\n }\r\n set\r\n {\r\n this._relatedParty = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A unique identifier for the search request, used for the GET operation.. LOV: generally a GUID value\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"x-ms-client-request-id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [FromHeader(Name=\"x-ms-client-request-id\")]\r\n public string x_ms_client_request_id\r\n {\r\n get\r\n {\r\n return this._x_ms_client_request_id;\r\n }\r\n set\r\n {\r\n this._x_ms_client_request_id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Unique identifier of the Customer Facing Service to keep track of their state and changes. LOV: String identifier in the format 'Prefix-Number', where Pefix is '01' for Customer Facing Service\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A Service Specification characteristic. LOV: An object\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"serviceSpecification\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ServiceSpecification serviceSpecification\r\n {\r\n get\r\n {\r\n return this._serviceSpecification;\r\n }\r\n set\r\n {\r\n this._serviceSpecification = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// No description\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"endDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? endDate\r\n {\r\n get\r\n {\r\n return this._endDate;\r\n }\r\n set\r\n {\r\n this._endDate = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// No description\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"startMode\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string startMode\r\n {\r\n get\r\n {\r\n return this._startMode;\r\n }\r\n set\r\n {\r\n this._startMode = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// If TRUE, this Service can be changed without affecting any other services\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"isStateful\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Boolean? isStateful\r\n {\r\n get\r\n {\r\n return this._isStateful;\r\n }\r\n set\r\n {\r\n this._isStateful = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A list of service order items related to this service\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"serviceOrderItem\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public RelatedServiceOrderItem[] serviceOrderItem\r\n {\r\n get\r\n {\r\n return this._serviceOrderItem;\r\n }\r\n set\r\n {\r\n this._serviceOrderItem = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Business type of the service\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"serviceType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string serviceType\r\n {\r\n get\r\n {\r\n return this._serviceType;\r\n }\r\n set\r\n {\r\n this._serviceType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// If true, the service is a ServiceBundle which regroup a service hierachy. If false, the service is a 'atomic' service (hierachy leaf).\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"isBundle\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Boolean? isBundle\r\n {\r\n get\r\n {\r\n return this._isBundle;\r\n }\r\n set\r\n {\r\n this._isBundle = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the service\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A list of related entities in relationship with this service\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"relatedEntity\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public RelatedEntityRefOrValue_MVO[] relatedEntity\r\n {\r\n get\r\n {\r\n return this._relatedEntity;\r\n }\r\n set\r\n {\r\n this._relatedEntity = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A list of service relationships (ServiceRelationship [*]). Describes links with other service(s) in the inventory.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"serviceRelationship\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ServiceRelationship_MVO[] serviceRelationship\r\n {\r\n get\r\n {\r\n return this._serviceRelationship;\r\n }\r\n set\r\n {\r\n this._serviceRelationship = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A list of supporting resources (SupportingResource [*]).Note: only Service of type RFS can be associated with Resources\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"supportingResource\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ResourceRef_MVO[] supportingResource\r\n {\r\n get\r\n {\r\n return this._supportingResource;\r\n }\r\n set\r\n {\r\n this._supportingResource = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A list of places (Place [*]). Used to define a place useful for the service (for example a geographical place whre the service is installed)\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"place\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public RelatedPlaceRefOrValue_MVO[] place\r\n {\r\n get\r\n {\r\n return this._place;\r\n }\r\n set\r\n {\r\n this._place = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Service_Response_SET", "definition": "/// <summary>\r\n/// &lt;empty description&gt;\r\n/// </summary>\r\npublic sealed class Service_Response_SET\r\n{\r\n \r\n private string _accept_Language;\r\n \r\n private RelatedParty[] _relatedParty;\r\n \r\n private string _x_ms_client_request_id;\r\n \r\n private string _category;\r\n \r\n private Feature[] _feature;\r\n \r\n private System.Boolean? _hasStarted;\r\n \r\n private System.Boolean? _isServiceEnabled;\r\n \r\n private Characteristic[] _serviceCharacteristic;\r\n \r\n private System.DateTime? _serviceDate;\r\n \r\n private System.DateTime? _startDate;\r\n \r\n private string _state;\r\n \r\n private string _id;\r\n \r\n private ServiceReforValue[] _supportingService;\r\n \r\n /// <summary>\r\n /// Specifying a language for a multi-language dataset. LOV: supported value are en-English, uk-Ukrainian, ru-russian\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"Accept-Language\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string Accept_Language\r\n {\r\n get\r\n {\r\n return this._accept_Language;\r\n }\r\n set\r\n {\r\n this._accept_Language = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A Related Party for this operation. LOV: A List of object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"relatedParty\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public RelatedParty[] relatedParty\r\n {\r\n get\r\n {\r\n return this._relatedParty;\r\n }\r\n set\r\n {\r\n this._relatedParty = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A unique identifier for the search request, used for the GET operation.. LOV: generally a GUID value\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"x-ms-client-request-id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string x_ms_client_request_id\r\n {\r\n get\r\n {\r\n return this._x_ms_client_request_id;\r\n }\r\n set\r\n {\r\n this._x_ms_client_request_id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// unique code for the Customer Facing Service category (service's network code). LOV: value, provided by BSS template\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"category\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string category\r\n {\r\n get\r\n {\r\n return this._category;\r\n }\r\n set\r\n {\r\n this._category = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A list of feature associated with this service. LOV: A List of object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"feature\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public Feature[] feature\r\n {\r\n get\r\n {\r\n return this._feature;\r\n }\r\n set\r\n {\r\n this._feature = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// An Activation state of Service. LOV: If TRUE, this Service has already been started\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"hasStarted\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Boolean? hasStarted\r\n {\r\n get\r\n {\r\n return this._hasStarted;\r\n }\r\n set\r\n {\r\n this._hasStarted = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A current State of Service. LOV: If FALSE and hasStarted is FALSE, this particular Service has NOT been enabled for use - if FALSE and hasStarted is TRUE then the service has disabled\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"isServiceEnabled\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Boolean? isServiceEnabled\r\n {\r\n get\r\n {\r\n return this._isServiceEnabled;\r\n }\r\n set\r\n {\r\n this._isServiceEnabled = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A list of characteristics that characterize the Customer Facing Service (ServiceCharacteristic [*]). LOV: A List of object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"serviceCharacteristic\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public Characteristic[] serviceCharacteristic\r\n {\r\n get\r\n {\r\n return this._serviceCharacteristic;\r\n }\r\n set\r\n {\r\n this._serviceCharacteristic = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Date when the service was created (whatever its status)\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"serviceDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? serviceDate\r\n {\r\n get\r\n {\r\n return this._serviceDate;\r\n }\r\n set\r\n {\r\n this._serviceDate = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Date when the service starts. LOV: Date without time, effective from 0:00\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"startDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? startDate\r\n {\r\n get\r\n {\r\n return this._startDate;\r\n }\r\n set\r\n {\r\n this._startDate = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A current state of the Customer Facing Service. LOV: created,activ,temp,close\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"state\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string state\r\n {\r\n get\r\n {\r\n return this._state;\r\n }\r\n set\r\n {\r\n this._state = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Unique identifier of the Customer Facing Service to keep track of their state and changes. LOV: Identifier value\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A list of supporting Resource Facing Services (SupportingService [*]), is used to link CFS to RFS. LOV: A List of object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"supportingService\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ServiceReforValue[] supportingService\r\n {\r\n get\r\n {\r\n return this._supportingService;\r\n }\r\n set\r\n {\r\n this._supportingService = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ServiceConfig", "definition": "{\n\t\"$schema\": \"http://json-schema.org/draft-06/schema#\",\n\t\"$ref\": \"#/definitions/ServiceConfig\",\n\t\"definitions\": {\n\t\t\"ServiceConfig\": {\n\t\t\t\"type\": \"object\",\n\t\t\t\"additionalProperties\": false,\n\t\t\t\"properties\": {\n\t\t\t\t\"ConnectionString\": {\n\t\t\t\t\t\"type\": \"string\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"title\": \"ServiceConfig\"\n\t\t}\n\t}\n}", "isNativeDefinition": false }, { "name": "Error", "definition": "{\n\t\"$schema\": \"http://json-schema.org/draft-06/schema#\",\n\t\"$ref\": \"#/definitions/Error\",\n\t\"definitions\": {\n\t\t\"Error\": {\n\t\t\t\"type\": \"object\",\n\t\t\t\"additionalProperties\": false,\n\t\t\t\"properties\": {\n\t\t\t\t\"code\": {\n\t\t\t\t\t\"type\": \"string\",\n\t\t\t\t\t\"description\": \"Application relevant detail, defined in the API or a common list\"\n\t\t\t\t},\n\t\t\t\t\"reason\": {\n\t\t\t\t\t\"type\": \"string\"\n\t\t\t\t},\n\t\t\t\t\"message\": {\n\t\t\t\t\t\"type\": \"string\"\n\t\t\t\t},\n\t\t\t\t\"status\": {\n\t\t\t\t\t\"type\": \"string\"\n\t\t\t\t},\n\t\t\t\t\"referenceError\":{\n\t\t\t\t\t\"type\": \"string\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"title\": \"Error\"\n\t\t}\n\t}\n}", "isNativeDefinition": false }, { "name": "ExceptionExtensions", "definition": "public static class ExceptionExtensions\r\n {\r\n internal enum ReasonCodes\r\n {\r\n ServiceAccessError = 0x1,\r\n UnderConstruction = 0x64,\r\n PreventiveStop = 0X65\r\n }\r\n\r\n class BaseSqlExceptionModel\r\n {\r\n public int LevelMessage { get; set; }\r\n public int ErrNumber { get; set; }\r\n public int ErrNumberReason { get; set; }\r\n public long State { get; set; }\r\n public string HelpLink { get; set; }\r\n public string ResolveUrl { get; set; }\r\n public int? Number { get; set; }\r\n public string Message { get; set; }\r\n public BaseSqlExceptionModel Data { get; set; }\r\n\r\n public Error ToError(string statusArg = null)\r\n {\r\n return new Error()\r\n {\r\n code = (ErrNumber > 0) ? ErrNumber.ToString() : Number.GetValueOrDefault().ToString(),\r\n message = this.Message,\r\n reason = ErrNumberReason.ToString(),\r\n referenceError = ResolveUrl,\r\n status = statusArg\r\n };\r\n }\r\n }\r\n\r\n #region [const]\r\n private const int DeadlockErrorNumber = 1205;\r\n private const int LockingErrorNumber = 1222;\r\n private const int UpdateConflictErrorNumber = 3960;\r\n //для ретрай - функционала\r\n private const int TimeoutExpiredErrorNumber = -2;\r\n private const int CouldNotOpenConnectionErrorNumber = 53;\r\n private const int TransportFailErrorNumber = 121;\r\n //вот тут не надо ретрай\r\n private const int HandledDeadlockErrorNumber = 50999;\r\n private const int SQLErrorNumber = 50000;\r\n\r\n public static IEnumerable<int> DeadLockFeatures\r\n {\r\n get\r\n {\r\n yield return DeadlockErrorNumber;\r\n yield return LockingErrorNumber;\r\n yield return UpdateConflictErrorNumber;\r\n yield break;\r\n }\r\n }\r\n\r\n public static IEnumerable<int> RetryNeededFeatures\r\n {\r\n get\r\n {\r\n yield return DeadlockErrorNumber;\r\n //yield return TimeoutExpiredErrorNumber;\r\n yield return CouldNotOpenConnectionErrorNumber;\r\n yield return TransportFailErrorNumber;\r\n yield break;\r\n }\r\n }\r\n\r\n #endregion\r\n\r\n public static Error GetError(this Exception exception, string statusCode)\r\n {\r\n if (exception is SqlException sqlException)\r\n return sqlException.GetError();\r\n else\r\n if (exception is WorkflowInvokeActionException)\r\n {\r\n if(exception.InnerException is SqlException innerSqlException)\r\n return innerSqlException.GetError();\r\n return new Error()\r\n {\r\n code = exception?.InnerException?.HResult.ToString(),\r\n message = $\"{exception.Message} : {exception.InnerException?.Message}\",\r\n reason = exception?.InnerException?.GetType().Name,\r\n referenceError = null,\r\n status = statusCode\r\n };\r\n }\r\n else\r\n return new Error()\r\n {\r\n code = exception.HResult.ToString(),\r\n message = exception.Message,\r\n reason = exception.GetType().Name,\r\n referenceError = null,\r\n status = statusCode\r\n };\r\n }\r\n public static Error GetError(this SqlException sqlException)\r\n {\r\n BaseSqlExceptionModel errorModel = null;\r\n int actualStatusCode = 500;\r\n\r\n #region [Deadlock]\r\n if (sqlException.Number == ExceptionExtensions.HandledDeadlockErrorNumber)\r\n {\r\n return new Error()\r\n {\r\n code = sqlException.Number.ToString(), //RequestTimeout\r\n message = $\"Request timeout - retry operation should be used\",\r\n reason = \"RequestTimeout\",\r\n referenceError = null,\r\n status = \"408\"\r\n };\r\n }\r\n\r\n #endregion\r\n\r\n try\r\n {\r\n var sqlExceptionMessage = sqlException.Errors.Cast<SqlError>()\r\n .Where(se => (se.Class > 0) &&\r\n (se.Message.Trim().StartsWith(\"{\")) &&\r\n (se.Message.Trim().EndsWith(\"}\"))).\r\n Select(se => se.Message).\r\n FirstOrDefault();\r\n errorModel = JsonConvert.DeserializeObject<BaseSqlExceptionModel>(sqlExceptionMessage);\r\n }\r\n catch (Exception) { }\r\n\r\n if (errorModel != null)\r\n {\r\n errorModel.Number = sqlException.Number;\r\n\r\n var resultErrorModel = errorModel.ToError(\"500\");\r\n\r\n if (errorModel.ErrNumber == ExceptionExtensions.HandledDeadlockErrorNumber)\r\n {\r\n resultErrorModel.status = \"408\";\r\n resultErrorModel.reason = \"RequestTimeout\";\r\n }\r\n return resultErrorModel;\r\n }\r\n\r\n actualStatusCode = ResolveActualStatusCode(sqlException);\r\n\r\n var result = new Error()\r\n {\r\n code = sqlException.Number.ToString(),\r\n message = sqlException.Message,\r\n referenceError = null,\r\n status = actualStatusCode.ToString()\r\n };\r\n if (actualStatusCode == 500)\r\n {\r\n result.reason = \"Internal Server Error\";\r\n }\r\n else\r\n if (actualStatusCode == 503)\r\n {\r\n result.reason = \"Service Unavailable\";\r\n }\r\n else\r\n {\r\n result.reason = \"Service Unavailable\";\r\n }\r\n return result;\r\n }\r\n private static int ResolveActualStatusCode(SqlException sqlException)\r\n {\r\n int actualStatusCode = 500;\r\n //Ошибка 503 - TimeoutExpiredErrorNumber ИЛИ Количество ретраев исчерпано и НЕ DeadLockFeatures\r\n //Ошибка 408 - DeadLockFeatures И Количество ретраев исчерпано\r\n //пс. этот код в принципе будет выполняться только после исчерпания попыток\r\n //если дедлок\r\n if (sqlException.IsDeadLockException())\r\n return 408;\r\n else\r\n if (sqlException.Number == TimeoutExpiredErrorNumber) // Истекло время ожидание \r\n return 503;\r\n else\r\n if (sqlException.Number == 50101 || sqlException.Number == 50100 || sqlException.Number == 50182)\t// Значит, что произошла не фатальная ошибка.\r\n {\r\n }\r\n else\r\n if ((sqlException.Class >= 12 && sqlException.Class <= 14) || (sqlException.Class >= 18 && sqlException.Class <= 24))\t// Значит, что произошла ошибка, из-за которой соединение разорвано. Ощибки с классом 17 - обработаннЫе нами\r\n {\r\n return 503;\r\n }\r\n else\r\n if (sqlException.Class == 11 || sqlException.Class == 15 || sqlException.Class == 16)\t// Значит, что произошла ошибка.\r\n {\r\n return 503;\r\n }\r\n else\r\n if (sqlException.Number >= 0 && sqlException.Number <= 10)\t// Значит, что произошла не фатальная ошибка.\r\n {\r\n }\r\n else\r\n if (sqlException.Number >= 0 && sqlException.Number <= 24)\r\n {\r\n }\r\n return actualStatusCode;\r\n }\r\n\r\n #region [IsDeadLock]\r\n public static bool IsDeadLockException(this SqlException exception)\r\n {\r\n if (exception == null)\r\n return false;\r\n else\r\n return DeadLockFeatures.Contains(exception.Number) ||\r\n exception.Errors.IsDeadLockException();\r\n }\r\n\r\n public static bool IsDeadLockException(this SqlError error)\r\n {\r\n if (error == null)\r\n return false;\r\n else\r\n return DeadLockFeatures.Contains(error.Number);\r\n }\r\n\r\n public static bool IsDeadLockException(this SqlErrorCollection sqlErrorCollection)\r\n {\r\n if (sqlErrorCollection == null)\r\n return false;\r\n else\r\n return sqlErrorCollection.Cast<SqlError>().Any(error => error.IsDeadLockException());\r\n }\r\n #endregion\r\n\r\n #region [IsRetryNeeded]\r\n public static bool IsRetryNeeded(this SqlException exception)\r\n {\r\n if (exception == null)\r\n return false;\r\n else\r\n return RetryNeededFeatures.Contains(exception.Number) ||\r\n exception.Errors.IsRetryNeeded();\r\n }\r\n\r\n public static bool IsRetryNeeded(this SqlError error)\r\n {\r\n if (error == null)\r\n return false;\r\n else\r\n return RetryNeededFeatures.Contains(error.Number);\r\n }\r\n\r\n public static bool IsRetryNeeded(this SqlErrorCollection sqlErrorCollection)\r\n {\r\n if (sqlErrorCollection == null)\r\n return false;\r\n else\r\n return sqlErrorCollection.Cast<SqlError>().Any(error => error.IsRetryNeeded());\r\n }\r\n #endregion\r\n }", "isNativeDefinition": true }, { "name": "Extensible", "definition": "/// <summary>\r\n/// Base Extensible schema for use in TMForum Open-APIs - When used for in a schema it means that the Entity described by the schema MUST be extended with the @type\r\n/// </summary>\r\npublic sealed class Extensible\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "FeatureRelationship", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class FeatureRelationship\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _href;\r\n \r\n private string _id;\r\n \r\n private string _relationshipType;\r\n \r\n private string _name;\r\n \r\n private TimePeriod _validFor;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// unique identifier\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// This is the type of the feature relationship.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"relationshipType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string relationshipType\r\n {\r\n get\r\n {\r\n return this._relationshipType;\r\n }\r\n set\r\n {\r\n this._relationshipType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// This is the name of the target feature.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A period of time, either as a deadline (endDateTime only) a startDateTime only, or both\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"validFor\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public TimePeriod validFor\r\n {\r\n get\r\n {\r\n return this._validFor;\r\n }\r\n set\r\n {\r\n this._validFor = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Entity", "definition": "/// <summary>\r\n/// Base entity schema for use in TMForum Open-APIs. Property.\r\n/// </summary>\r\npublic sealed class Entity\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _href;\r\n \r\n private string _id;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// unique identifier\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Addressable", "definition": "/// <summary>\r\n/// Base schema for adressable entities\r\n/// </summary>\r\npublic sealed class Addressable\r\n{\r\n \r\n private string _href;\r\n \r\n private string _id;\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// unique identifier\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "TimePeriod", "definition": "/// <summary>\r\n/// A period of time, either as a deadline (endDateTime only) a startDateTime only, or both\r\n/// </summary>\r\npublic sealed class TimePeriod\r\n{\r\n \r\n private System.DateTime? _startDateTime;\r\n \r\n private System.DateTime? _endDateTime;\r\n \r\n /// <summary>\r\n /// Start of the time period, using IETC-RFC-3339 format\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"startDateTime\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? startDateTime\r\n {\r\n get\r\n {\r\n return this._startDateTime;\r\n }\r\n set\r\n {\r\n this._startDateTime = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// End of the time period, using IETC-RFC-3339 format\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"endDateTime\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? endDateTime\r\n {\r\n get\r\n {\r\n return this._endDateTime;\r\n }\r\n set\r\n {\r\n this._endDateTime = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "CharacteristicRelationship", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class CharacteristicRelationship\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _id;\r\n \r\n private string _relationshipType;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Unique identifier of the characteristic\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The type of relationship\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"relationshipType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string relationshipType\r\n {\r\n get\r\n {\r\n return this._relationshipType;\r\n }\r\n set\r\n {\r\n this._relationshipType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ConstraintRef", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class ConstraintRef\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _href;\r\n \r\n private string _id;\r\n \r\n private string _name;\r\n \r\n private string _referredType;\r\n \r\n private string _version;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Identifier of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// constraint version\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"version\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string version\r\n {\r\n get\r\n {\r\n return this._version;\r\n }\r\n set\r\n {\r\n this._version = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "EntityRef", "definition": "/// <summary>\r\n/// Entity reference schema to be use for all entityRef class.\r\n/// </summary>\r\npublic sealed class EntityRef\r\n{\r\n \r\n private string _href;\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Reference", "definition": "/// <summary>\r\n/// Reference schema .\r\n/// </summary>\r\npublic sealed class Reference\r\n{\r\n \r\n private string _id;\r\n \r\n private string _name;\r\n \r\n private string _referredType;\r\n \r\n /// <summary>\r\n /// Identifier of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Service_Request_GET", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class Service_Request_GET\r\n{\r\n \r\n private string _category;\r\n \r\n private string _format;\r\n \r\n private Feature[] _feature;\r\n \r\n private System.Boolean? _hasStarted;\r\n \r\n private string _id;\r\n \r\n private System.Boolean? _isServiceEnabled;\r\n \r\n private string _accept_Language;\r\n \r\n private System.Int32? _offset;\r\n \r\n private System.Int32? _limit;\r\n \r\n private RelatedParty[] _relatedParty;\r\n \r\n private string _serviceCharacteristic;\r\n \r\n private System.DateTime? _serviceDate;\r\n \r\n private string _sort;\r\n \r\n private string _sortDirection;\r\n \r\n private System.DateTime? _startDate;\r\n \r\n private string _state;\r\n \r\n private string _x_ms_client_request_id;\r\n \r\n /// <summary>\r\n /// Used to categorize the order from order management system. LOV: value, provided by BSS template\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"category\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string category\r\n {\r\n get\r\n {\r\n return this._category;\r\n }\r\n set\r\n {\r\n this._category = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Error output format. LOV: supported value is json\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"format\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string format\r\n {\r\n get\r\n {\r\n return this._format;\r\n }\r\n set\r\n {\r\n this._format = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A list of feature associated with this service. LOV: A List of object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"feature\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public Feature[] feature\r\n {\r\n get\r\n {\r\n return this._feature;\r\n }\r\n set\r\n {\r\n this._feature = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// An Activation state of Service. LOV: If TRUE, this Service has already been started\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"hasStarted\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Boolean? hasStarted\r\n {\r\n get\r\n {\r\n return this._hasStarted;\r\n }\r\n set\r\n {\r\n this._hasStarted = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Unique identifier of the Customer Facing Service to keep track of their state and changes. LOV: String identifier in the format 'Prefix-Number', where Pefix is '01' for Customer Facing Service\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A current State of Service. LOV: If FALSE and hasStarted is FALSE, this particular Service has NOT been enabled for use - if FALSE and hasStarted is TRUE then the service has disabled\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"isServiceEnabled\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Boolean? isServiceEnabled\r\n {\r\n get\r\n {\r\n return this._isServiceEnabled;\r\n }\r\n set\r\n {\r\n this._isServiceEnabled = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Specifying a language for a multi-language dataset. LOV: supported value are en-English, uk-Ukrainian, ru-russian\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"Accept-Language\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string Accept_Language\r\n {\r\n get\r\n {\r\n return this._accept_Language;\r\n }\r\n set\r\n {\r\n this._accept_Language = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Requested index for start of records to be provided in response requested by client (server paging). LOV: 0 - first index\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"offset\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? offset\r\n {\r\n get\r\n {\r\n return this._offset;\r\n }\r\n set\r\n {\r\n this._offset = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Number of records per response (server paging). LOV: integer greater than zero\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"limit\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? limit\r\n {\r\n get\r\n {\r\n return this._limit;\r\n }\r\n set\r\n {\r\n this._limit = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A Related Party for this operation. LOV: A List of object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"relatedParty\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public RelatedParty[] relatedParty\r\n {\r\n get\r\n {\r\n return this._relatedParty;\r\n }\r\n set\r\n {\r\n this._relatedParty = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A list of characteristics that characterize the Customer Facing Service (ServiceCharacteristic [*]). LOV: A List of object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"serviceCharacteristic\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string serviceCharacteristic\r\n {\r\n get\r\n {\r\n return this._serviceCharacteristic;\r\n }\r\n set\r\n {\r\n this._serviceCharacteristic = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// No description\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"serviceDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? serviceDate\r\n {\r\n get\r\n {\r\n return this._serviceDate;\r\n }\r\n set\r\n {\r\n this._serviceDate = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Sorting selector. LOV: usageDate\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"sort\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string sort\r\n {\r\n get\r\n {\r\n return this._sort;\r\n }\r\n set\r\n {\r\n this._sort = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// No description\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"SortDirection\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string SortDirection\r\n {\r\n get\r\n {\r\n return this._sortDirection;\r\n }\r\n set\r\n {\r\n this._sortDirection = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Date when the service starts. LOV: Date without time, effective from 0:00\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"startDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? startDate\r\n {\r\n get\r\n {\r\n return this._startDate;\r\n }\r\n set\r\n {\r\n this._startDate = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Customers entity status code. LOV: Сharacteristic value, provided by BSS template\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"state\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string state\r\n {\r\n get\r\n {\r\n return this._state;\r\n }\r\n set\r\n {\r\n this._state = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A unique identifier for the search request, used for the GET operation.. LOV: generally a GUID value\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"x-ms-client-request-id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string x_ms_client_request_id\r\n {\r\n get\r\n {\r\n return this._x_ms_client_request_id;\r\n }\r\n set\r\n {\r\n this._x_ms_client_request_id = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Service_Response_GET", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class Service_Response_GET\r\n{\r\n \r\n private System.Int32? _offset;\r\n \r\n private System.Int32? _limit;\r\n \r\n private string _accept_Language;\r\n \r\n private string _content_Range;\r\n \r\n private string _link;\r\n \r\n private string _x_ms_client_request_id;\r\n \r\n private System.Int32? _x_Page_Count;\r\n \r\n /// <summary>\r\n /// Requested index for start of records to be provided in response requested by client (server paging). LOV: 0 - first index\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"offset\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? offset\r\n {\r\n get\r\n {\r\n return this._offset;\r\n }\r\n set\r\n {\r\n this._offset = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Number of records per response (server paging). LOV: integer greater than zero\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"limit\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? limit\r\n {\r\n get\r\n {\r\n return this._limit;\r\n }\r\n set\r\n {\r\n this._limit = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Specifying a language for a multi-language dataset. LOV: supported value are en-English, uk-Ukrainian, ru-russian\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"Accept-Language\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string Accept_Language\r\n {\r\n get\r\n {\r\n return this._accept_Language;\r\n }\r\n set\r\n {\r\n this._accept_Language = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// HTTP header indicates where in a full body message a partial message belongs. LOV: items <range-start>-<range-end>/<total-count>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"Content-Range\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string Content_Range\r\n {\r\n get\r\n {\r\n return this._content_Range;\r\n }\r\n set\r\n {\r\n this._content_Range = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Web Linking HTTP header. LOV: reserved\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"Link\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string Link\r\n {\r\n get\r\n {\r\n return this._link;\r\n }\r\n set\r\n {\r\n this._link = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A unique identifier for the search request, used for the GET operation.. LOV: generally a GUID value\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"x-ms-client-request-id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string x_ms_client_request_id\r\n {\r\n get\r\n {\r\n return this._x_ms_client_request_id;\r\n }\r\n set\r\n {\r\n this._x_ms_client_request_id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A Page Count from Server Paging\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"X-Page-Count\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? X_Page_Count\r\n {\r\n get\r\n {\r\n return this._x_Page_Count;\r\n }\r\n set\r\n {\r\n this._x_Page_Count = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Service_Response_GET_OUTPUT", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class Service_Response_GET_OUTPUT\r\n{\r\n \r\n private string _type;\r\n \r\n private Feature[] _feature;\r\n \r\n private System.Boolean? _hasStarted;\r\n \r\n private System.Boolean? _isServiceEnabled;\r\n \r\n private RelatedParty[] _relatedParty;\r\n \r\n private string _serviceDate;\r\n \r\n private System.Int32? _x_Total_Count;\r\n \r\n private string _id;\r\n \r\n private string _category;\r\n \r\n private Characteristic[] _serviceCharacteristic;\r\n \r\n private ServiceSpecification _serviceSpecification;\r\n \r\n private System.DateTime? _startDate;\r\n \r\n private string _state;\r\n \r\n private ServiceReforValue[] _supportingService;\r\n \r\n private System.DateTime? _endDate;\r\n \r\n /// <summary>\r\n /// No description\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A list of feature associated with this service. LOV: A List of object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"feature\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public Feature[] feature\r\n {\r\n get\r\n {\r\n return this._feature;\r\n }\r\n set\r\n {\r\n this._feature = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// No description\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"hasStarted\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Boolean? hasStarted\r\n {\r\n get\r\n {\r\n return this._hasStarted;\r\n }\r\n set\r\n {\r\n this._hasStarted = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// No description\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"isServiceEnabled\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Boolean? isServiceEnabled\r\n {\r\n get\r\n {\r\n return this._isServiceEnabled;\r\n }\r\n set\r\n {\r\n this._isServiceEnabled = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A Related Party for this operation. LOV: A List of object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"relatedParty\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public RelatedParty[] relatedParty\r\n {\r\n get\r\n {\r\n return this._relatedParty;\r\n }\r\n set\r\n {\r\n this._relatedParty = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// No description\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"serviceDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string serviceDate\r\n {\r\n get\r\n {\r\n return this._serviceDate;\r\n }\r\n set\r\n {\r\n this._serviceDate = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// the total number of matching records (server paging). LOV: integer greater than zero\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"X-Total-Count\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? X_Total_Count\r\n {\r\n get\r\n {\r\n return this._x_Total_Count;\r\n }\r\n set\r\n {\r\n this._x_Total_Count = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Unique identifier of the Customer Facing Service to keep track of their state and changes. LOV: String identifier in the format 'Prefix-Number', where Pefix is '01' for Customer Facing Service\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// unique code for the Customer Facing Service category (service's network code). LOV: value, provided by BSS template\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"category\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string category\r\n {\r\n get\r\n {\r\n return this._category;\r\n }\r\n set\r\n {\r\n this._category = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A list of characteristics that characterize the Customer Facing Service (ServiceCharacteristic [*]). LOV: A List of object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"serviceCharacteristic\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public Characteristic[] serviceCharacteristic\r\n {\r\n get\r\n {\r\n return this._serviceCharacteristic;\r\n }\r\n set\r\n {\r\n this._serviceCharacteristic = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A Service Specification characteristic. LOV: An object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"serviceSpecification\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ServiceSpecification serviceSpecification\r\n {\r\n get\r\n {\r\n return this._serviceSpecification;\r\n }\r\n set\r\n {\r\n this._serviceSpecification = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Date when the service starts. LOV: Date without time, effective from 0:00\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"startDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? startDate\r\n {\r\n get\r\n {\r\n return this._startDate;\r\n }\r\n set\r\n {\r\n this._startDate = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A current state of the Customer Facing Service. LOV: activ, synced, temp, close\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"state\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string state\r\n {\r\n get\r\n {\r\n return this._state;\r\n }\r\n set\r\n {\r\n this._state = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A list of supporting Resource Facing Services (SupportingService [*]), is used to link CFS to RFS. LOV: A List of object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"supportingService\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ServiceReforValue[] supportingService\r\n {\r\n get\r\n {\r\n return this._supportingService;\r\n }\r\n set\r\n {\r\n this._supportingService = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// No description\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"endDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? endDate\r\n {\r\n get\r\n {\r\n return this._endDate;\r\n }\r\n set\r\n {\r\n this._endDate = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Entity_FVO", "definition": "/// <summary>\r\n/// Base entity schema for use in TMForum Open-APIs. Property.\r\n/// </summary>\r\npublic sealed class Entity_FVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _href;\r\n \r\n private string _id;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// unique identifier\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Extensible_FVO", "definition": "/// <summary>\r\n/// Base Extensible schema for use in TMForum Open-APIs - When used for in a schema it means that the Entity described by the schema MUST be extended with the @type\r\n/// </summary>\r\npublic sealed class Extensible_FVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Addressable_FVO", "definition": "/// <summary>\r\n/// Base schema for adressable entities\r\n/// </summary>\r\npublic sealed class Addressable_FVO\r\n{\r\n \r\n private string _href;\r\n \r\n private string _id;\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// unique identifier\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "RelatedServiceOrderItem", "definition": "/// <summary>\r\n/// RelatedServiceOrderItem (a ServiceOrder item) .The service order item which triggered service creation/change/termination.\r\n/// </summary>\r\npublic sealed class RelatedServiceOrderItem\r\n{\r\n \r\n private string _referredType;\r\n \r\n private string _serviceOrderHref;\r\n \r\n private string _serviceOrderId;\r\n \r\n private string _itemAction;\r\n \r\n private string _itemId;\r\n \r\n private string _role;\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Reference of the related entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"serviceOrderHref\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string serviceOrderHref\r\n {\r\n get\r\n {\r\n return this._serviceOrderHref;\r\n }\r\n set\r\n {\r\n this._serviceOrderHref = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Unique identifier of a related entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"serviceOrderId\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string serviceOrderId\r\n {\r\n get\r\n {\r\n return this._serviceOrderId;\r\n }\r\n set\r\n {\r\n this._serviceOrderId = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// action to be performed on the product\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"itemAction\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string itemAction\r\n {\r\n get\r\n {\r\n return this._itemAction;\r\n }\r\n set\r\n {\r\n this._itemAction = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Identifier of the order item where the service was managed\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"itemId\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string itemId\r\n {\r\n get\r\n {\r\n return this._itemId;\r\n }\r\n set\r\n {\r\n this._itemId = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// role of the service order item for this service\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"role\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string role\r\n {\r\n get\r\n {\r\n return this._role;\r\n }\r\n set\r\n {\r\n this._role = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "OrderItemActionType", "definition": "/// <summary>\r\n/// action to be performed on the product\r\n/// </summary>\r\npublic sealed class OrderItemActionType\r\n{\r\n}\r\n", "isNativeDefinition": true }, { "name": "Note_FVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class Note_FVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _author;\r\n \r\n private System.DateTime? _date;\r\n \r\n private string _text;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Author of the note\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"author\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string author\r\n {\r\n get\r\n {\r\n return this._author;\r\n }\r\n set\r\n {\r\n this._author = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Date of the note\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"date\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? date\r\n {\r\n get\r\n {\r\n return this._date;\r\n }\r\n set\r\n {\r\n this._date = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Text of the note\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"text\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string text\r\n {\r\n get\r\n {\r\n return this._text;\r\n }\r\n set\r\n {\r\n this._text = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Feature_FVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class Feature_FVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private System.Boolean? _isBundle;\r\n \r\n private FeatureRelationship_FVO[] _featureRelationship;\r\n \r\n private Characteristic_FVO[] _featureCharacteristic;\r\n \r\n private ConstraintRef_FVO[] _constraint;\r\n \r\n private System.Boolean? _isEnabled;\r\n \r\n private string _id;\r\n \r\n private string _name;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// True if this is a feature group. Default is false.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"isBundle\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Boolean? isBundle\r\n {\r\n get\r\n {\r\n return this._isBundle;\r\n }\r\n set\r\n {\r\n this._isBundle = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"featureRelationship\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public FeatureRelationship_FVO[] featureRelationship\r\n {\r\n get\r\n {\r\n return this._featureRelationship;\r\n }\r\n set\r\n {\r\n this._featureRelationship = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// This is a list of Characteristics for a particular feature.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"featureCharacteristic\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public Characteristic_FVO[] featureCharacteristic\r\n {\r\n get\r\n {\r\n return this._featureCharacteristic;\r\n }\r\n set\r\n {\r\n this._featureCharacteristic = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// This is a list of feature constraints.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"constraint\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ConstraintRef_FVO[] constraint\r\n {\r\n get\r\n {\r\n return this._constraint;\r\n }\r\n set\r\n {\r\n this._constraint = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// True if this feature is enabled. Default is true.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"isEnabled\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Boolean? isEnabled\r\n {\r\n get\r\n {\r\n return this._isEnabled;\r\n }\r\n set\r\n {\r\n this._isEnabled = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// unique identifier\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// This is the name for the feature.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "FeatureRelationship_FVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class FeatureRelationship_FVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _href;\r\n \r\n private string _id;\r\n \r\n private string _relationshipType;\r\n \r\n private string _name;\r\n \r\n private TimePeriod _validFor;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// unique identifier\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// This is the type of the feature relationship.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"relationshipType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string relationshipType\r\n {\r\n get\r\n {\r\n return this._relationshipType;\r\n }\r\n set\r\n {\r\n this._relationshipType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// This is the name of the target feature.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A period of time, either as a deadline (endDateTime only) a startDateTime only, or both\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"validFor\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public TimePeriod validFor\r\n {\r\n get\r\n {\r\n return this._validFor;\r\n }\r\n set\r\n {\r\n this._validFor = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Characteristic_FVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class Characteristic_FVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _id;\r\n \r\n private string _valueType;\r\n \r\n private CharacteristicRelationship_FVO[] _characteristicRelationship;\r\n \r\n private string _name;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Unique identifier of the characteristic\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Data type of the value of the characteristic\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"valueType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string valueType\r\n {\r\n get\r\n {\r\n return this._valueType;\r\n }\r\n set\r\n {\r\n this._valueType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"characteristicRelationship\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public CharacteristicRelationship_FVO[] characteristicRelationship\r\n {\r\n get\r\n {\r\n return this._characteristicRelationship;\r\n }\r\n set\r\n {\r\n this._characteristicRelationship = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the characteristic\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "CharacteristicRelationship_FVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class CharacteristicRelationship_FVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _id;\r\n \r\n private string _relationshipType;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Unique identifier of the characteristic\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The type of relationship\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"relationshipType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string relationshipType\r\n {\r\n get\r\n {\r\n return this._relationshipType;\r\n }\r\n set\r\n {\r\n this._relationshipType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ConstraintRef_FVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class ConstraintRef_FVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _href;\r\n \r\n private string _id;\r\n \r\n private string _name;\r\n \r\n private string _referredType;\r\n \r\n private string _version;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Identifier of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// constraint version\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"version\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string version\r\n {\r\n get\r\n {\r\n return this._version;\r\n }\r\n set\r\n {\r\n this._version = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Reference_FVO", "definition": "/// <summary>\r\n/// Reference schema .\r\n/// </summary>\r\npublic sealed class Reference_FVO\r\n{\r\n \r\n private string _id;\r\n \r\n private string _name;\r\n \r\n private string _referredType;\r\n \r\n /// <summary>\r\n /// Identifier of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "RelatedEntityRefOrValue_FVO", "definition": "/// <summary>\r\n/// A reference to an entity, where the type of the entity is not known in advance. A related entity defines a entity described by reference or by value linked to a specific entity. The polymorphic attributes @type, @schemaLocation @referredType are related to the Entity and not the RelatedEntityRefOrValue class itself\r\n/// </summary>\r\npublic sealed class RelatedEntityRefOrValue_FVO\r\n{\r\n}\r\n", "isNativeDefinition": true }, { "name": "ServiceRelationship_FVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class ServiceRelationship_FVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private Characteristic_FVO[] _serviceRelationshipCharacteristic;\r\n \r\n private ServiceRefOrValue_FVO _service;\r\n \r\n private string _relationshipType;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"serviceRelationshipCharacteristic\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public Characteristic_FVO[] serviceRelationshipCharacteristic\r\n {\r\n get\r\n {\r\n return this._serviceRelationshipCharacteristic;\r\n }\r\n set\r\n {\r\n this._serviceRelationshipCharacteristic = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A Service to be created defined by value or existing defined by reference. The polymorphic attributes @type, @schemaLocation & @referredType are related to the Service entity and not the RelatedServiceRefOrValue class itself\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"service\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ServiceRefOrValue_FVO service\r\n {\r\n get\r\n {\r\n return this._service;\r\n }\r\n set\r\n {\r\n this._service = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"relationshipType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string relationshipType\r\n {\r\n get\r\n {\r\n return this._relationshipType;\r\n }\r\n set\r\n {\r\n this._relationshipType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ServiceRefOrValue_FVO", "definition": "/// <summary>\r\n/// A Service to be created defined by value or existing defined by reference. The polymorphic attributes @type, @schemaLocation @referredType are related to the Service entity and not the RelatedServiceRefOrValue class itself\r\n/// </summary>\r\npublic sealed class ServiceRefOrValue_FVO\r\n{\r\n}\r\n", "isNativeDefinition": true }, { "name": "ResourceRef_FVO", "definition": "/// <summary>\r\n/// Resource reference, for when Resource is used by other entities.\r\n/// </summary>\r\npublic sealed class ResourceRef_FVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _href;\r\n \r\n private string _id;\r\n \r\n private string _name;\r\n \r\n private string _referredType;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Identifier of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "RelatedParty_FVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class RelatedParty_FVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _href;\r\n \r\n private string _id;\r\n \r\n private string _name;\r\n \r\n private string _referredType;\r\n \r\n private string _role;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Identifier of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Role played by the related party\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"role\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string role\r\n {\r\n get\r\n {\r\n return this._role;\r\n }\r\n set\r\n {\r\n this._role = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "RelatedPlaceRefOrValue_FVO", "definition": "/// <summary>\r\n/// Related Entity reference. A related place defines a place described by reference or by value linked to a specific entity. The polymorphic attributes @type, @schemaLocation @referredType are related to the place entity and not the RelatedPlaceRefOrValue class itself\r\n/// </summary>\r\npublic sealed class RelatedPlaceRefOrValue_FVO\r\n{\r\n}\r\n", "isNativeDefinition": true }, { "name": "ServiceStateType", "definition": "/// <summary>\r\n/// Valid values for the lifecycle state of the service\r\n/// </summary>\r\npublic sealed class ServiceStateType\r\n{\r\n}\r\n", "isNativeDefinition": true }, { "name": "ServiceSpecificationRef_FVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class ServiceSpecificationRef_FVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _href;\r\n \r\n private string _id;\r\n \r\n private string _name;\r\n \r\n private string _referredType;\r\n \r\n private string _version;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Identifier of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Service specification version\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"version\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string version\r\n {\r\n get\r\n {\r\n return this._version;\r\n }\r\n set\r\n {\r\n this._version = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Entity_MVO", "definition": "/// <summary>\r\n/// Base entity schema for use in TMForum Open-APIs. Property.\r\n/// </summary>\r\npublic sealed class Entity_MVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _href;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Extensible_MVO", "definition": "/// <summary>\r\n/// Base Extensible schema for use in TMForum Open-APIs - When used for in a schema it means that the Entity described by the schema MUST be extended with the @type\r\n/// </summary>\r\npublic sealed class Extensible_MVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Addressable_MVO", "definition": "/// <summary>\r\n/// Base schema for adressable entities\r\n/// </summary>\r\npublic sealed class Addressable_MVO\r\n{\r\n \r\n private string _href;\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Note_MVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class Note_MVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _author;\r\n \r\n private System.DateTime? _date;\r\n \r\n private string _text;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Author of the note\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"author\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string author\r\n {\r\n get\r\n {\r\n return this._author;\r\n }\r\n set\r\n {\r\n this._author = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Date of the note\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"date\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? date\r\n {\r\n get\r\n {\r\n return this._date;\r\n }\r\n set\r\n {\r\n this._date = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Text of the note\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"text\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string text\r\n {\r\n get\r\n {\r\n return this._text;\r\n }\r\n set\r\n {\r\n this._text = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Feature_MVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class Feature_MVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private System.Boolean? _isBundle;\r\n \r\n private FeatureRelationship_MVO[] _featureRelationship;\r\n \r\n private Characteristic_MVO[] _featureCharacteristic;\r\n \r\n private ConstraintRef_MVO[] _constraint;\r\n \r\n private System.Boolean? _isEnabled;\r\n \r\n private string _id;\r\n \r\n private string _name;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// True if this is a feature group. Default is false.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"isBundle\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Boolean? isBundle\r\n {\r\n get\r\n {\r\n return this._isBundle;\r\n }\r\n set\r\n {\r\n this._isBundle = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"featureRelationship\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public FeatureRelationship_MVO[] featureRelationship\r\n {\r\n get\r\n {\r\n return this._featureRelationship;\r\n }\r\n set\r\n {\r\n this._featureRelationship = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// This is a list of Characteristics for a particular feature.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"featureCharacteristic\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public Characteristic_MVO[] featureCharacteristic\r\n {\r\n get\r\n {\r\n return this._featureCharacteristic;\r\n }\r\n set\r\n {\r\n this._featureCharacteristic = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// This is a list of feature constraints.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"constraint\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ConstraintRef_MVO[] constraint\r\n {\r\n get\r\n {\r\n return this._constraint;\r\n }\r\n set\r\n {\r\n this._constraint = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// True if this feature is enabled. Default is true.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"isEnabled\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Boolean? isEnabled\r\n {\r\n get\r\n {\r\n return this._isEnabled;\r\n }\r\n set\r\n {\r\n this._isEnabled = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// unique identifier\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// This is the name for the feature.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "FeatureRelationship_MVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class FeatureRelationship_MVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _href;\r\n \r\n private string _relationshipType;\r\n \r\n private string _id;\r\n \r\n private string _name;\r\n \r\n private TimePeriod _validFor;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// This is the type of the feature relationship.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"relationshipType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string relationshipType\r\n {\r\n get\r\n {\r\n return this._relationshipType;\r\n }\r\n set\r\n {\r\n this._relationshipType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Unique identifier of the target feature.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// This is the name of the target feature.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A period of time, either as a deadline (endDateTime only) a startDateTime only, or both\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"validFor\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public TimePeriod validFor\r\n {\r\n get\r\n {\r\n return this._validFor;\r\n }\r\n set\r\n {\r\n this._validFor = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Characteristic_MVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class Characteristic_MVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _id;\r\n \r\n private string _valueType;\r\n \r\n private CharacteristicRelationship_MVO[] _characteristicRelationship;\r\n \r\n private string _name;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Unique identifier of the characteristic\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Data type of the value of the characteristic\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"valueType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string valueType\r\n {\r\n get\r\n {\r\n return this._valueType;\r\n }\r\n set\r\n {\r\n this._valueType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"characteristicRelationship\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public CharacteristicRelationship_MVO[] characteristicRelationship\r\n {\r\n get\r\n {\r\n return this._characteristicRelationship;\r\n }\r\n set\r\n {\r\n this._characteristicRelationship = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the characteristic\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "CharacteristicRelationship_MVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class CharacteristicRelationship_MVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _id;\r\n \r\n private string _relationshipType;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Unique identifier of the characteristic\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The type of relationship\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"relationshipType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string relationshipType\r\n {\r\n get\r\n {\r\n return this._relationshipType;\r\n }\r\n set\r\n {\r\n this._relationshipType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ConstraintRef_MVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class ConstraintRef_MVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _href;\r\n \r\n private string _id;\r\n \r\n private string _name;\r\n \r\n private string _referredType;\r\n \r\n private string _version;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Identifier of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// constraint version\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"version\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string version\r\n {\r\n get\r\n {\r\n return this._version;\r\n }\r\n set\r\n {\r\n this._version = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Reference_MVO", "definition": "/// <summary>\r\n/// Reference schema .\r\n/// </summary>\r\npublic sealed class Reference_MVO\r\n{\r\n \r\n private string _id;\r\n \r\n private string _name;\r\n \r\n private string _referredType;\r\n \r\n /// <summary>\r\n /// Identifier of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "RelatedEntityRefOrValue_MVO", "definition": "/// <summary>\r\n/// A reference to an entity, where the type of the entity is not known in advance. A related entity defines a entity described by reference or by value linked to a specific entity. The polymorphic attributes @type, @schemaLocation @referredType are related to the Entity and not the RelatedEntityRefOrValue class itself\r\n/// </summary>\r\npublic sealed class RelatedEntityRefOrValue_MVO\r\n{\r\n}\r\n", "isNativeDefinition": true }, { "name": "ServiceRelationship_MVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class ServiceRelationship_MVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private Characteristic_MVO[] _serviceRelationshipCharacteristic;\r\n \r\n private ServiceRefOrValue_MVO _service;\r\n \r\n private string _relationshipType;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"serviceRelationshipCharacteristic\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public Characteristic_MVO[] serviceRelationshipCharacteristic\r\n {\r\n get\r\n {\r\n return this._serviceRelationshipCharacteristic;\r\n }\r\n set\r\n {\r\n this._serviceRelationshipCharacteristic = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A Service to be created defined by value or existing defined by reference. The polymorphic attributes @type, @schemaLocation & @referredType are related to the Service entity and not the RelatedServiceRefOrValue class itself\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"service\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ServiceRefOrValue_MVO service\r\n {\r\n get\r\n {\r\n return this._service;\r\n }\r\n set\r\n {\r\n this._service = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"relationshipType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string relationshipType\r\n {\r\n get\r\n {\r\n return this._relationshipType;\r\n }\r\n set\r\n {\r\n this._relationshipType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ServiceRefOrValue_MVO", "definition": "/// <summary>\r\n/// A Service to be created defined by value or existing defined by reference. The polymorphic attributes @type, @schemaLocation @referredType are related to the Service entity and not the RelatedServiceRefOrValue class itself\r\n/// </summary>\r\npublic sealed class ServiceRefOrValue_MVO\r\n{\r\n}\r\n", "isNativeDefinition": true }, { "name": "ResourceRef_MVO", "definition": "/// <summary>\r\n/// Resource reference, for when Resource is used by other entities.\r\n/// </summary>\r\npublic sealed class ResourceRef_MVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _href;\r\n \r\n private string _id;\r\n \r\n private string _name;\r\n \r\n private string _referredType;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Identifier of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "RelatedParty_MVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class RelatedParty_MVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _href;\r\n \r\n private string _id;\r\n \r\n private string _name;\r\n \r\n private string _referredType;\r\n \r\n private string _role;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Identifier of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Role played by the related party\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"role\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string role\r\n {\r\n get\r\n {\r\n return this._role;\r\n }\r\n set\r\n {\r\n this._role = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "RelatedPlaceRefOrValue_MVO", "definition": "/// <summary>\r\n/// Related Entity reference. A related place defines a place described by reference or by value linked to a specific entity. The polymorphic attributes @type, @schemaLocation @referredType are related to the place entity and not the RelatedPlaceRefOrValue class itself\r\n/// </summary>\r\npublic sealed class RelatedPlaceRefOrValue_MVO\r\n{\r\n}\r\n", "isNativeDefinition": true }, { "name": "ServiceSpecificationRef_MVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class ServiceSpecificationRef_MVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _href;\r\n \r\n private string _id;\r\n \r\n private string _name;\r\n \r\n private string _referredType;\r\n \r\n private string _version;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Identifier of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Service specification version\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"version\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string version\r\n {\r\n get\r\n {\r\n return this._version;\r\n }\r\n set\r\n {\r\n this._version = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Service_Response_POST", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class Service_Response_POST\r\n{\r\n \r\n private string _accept_Language;\r\n \r\n private RelatedParty[] _relatedParty;\r\n \r\n private string _x_ms_client_request_id;\r\n \r\n private string _category;\r\n \r\n private Feature[] _feature;\r\n \r\n private System.Boolean? _hasStarted;\r\n \r\n private System.Boolean? _isServiceEnabled;\r\n \r\n private Characteristic[] _serviceCharacteristic;\r\n \r\n private System.DateTime? _serviceDate;\r\n \r\n private System.DateTime? _startDate;\r\n \r\n private string _state;\r\n \r\n private string _id;\r\n \r\n private ServiceReforValue[] _supportingService;\r\n \r\n private System.DateTime? _endDate;\r\n \r\n /// <summary>\r\n /// Specifying a language for a multi-language dataset. LOV: supported value are en-English, uk-Ukrainian, ru-russian\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"Accept-Language\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string Accept_Language\r\n {\r\n get\r\n {\r\n return this._accept_Language;\r\n }\r\n set\r\n {\r\n this._accept_Language = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A Related Party for this operation. LOV: A List of object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"relatedParty\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public RelatedParty[] relatedParty\r\n {\r\n get\r\n {\r\n return this._relatedParty;\r\n }\r\n set\r\n {\r\n this._relatedParty = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A unique identifier for the search request, used for the GET operation.. LOV: generally a GUID value\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"x-ms-client-request-id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string x_ms_client_request_id\r\n {\r\n get\r\n {\r\n return this._x_ms_client_request_id;\r\n }\r\n set\r\n {\r\n this._x_ms_client_request_id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// unique code for the Customer Facing Service category (service's network code). LOV: value, provided by BSS template\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"category\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string category\r\n {\r\n get\r\n {\r\n return this._category;\r\n }\r\n set\r\n {\r\n this._category = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A list of feature associated with this service. LOV: A List of object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"feature\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public Feature[] feature\r\n {\r\n get\r\n {\r\n return this._feature;\r\n }\r\n set\r\n {\r\n this._feature = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// An Activation state of Service. LOV: If TRUE, this Service has already been started\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"hasStarted\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Boolean? hasStarted\r\n {\r\n get\r\n {\r\n return this._hasStarted;\r\n }\r\n set\r\n {\r\n this._hasStarted = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A current State of Service. LOV: If FALSE and hasStarted is FALSE, this particular Service has NOT been enabled for use - if FALSE and hasStarted is TRUE then the service has disabled\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"isServiceEnabled\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Boolean? isServiceEnabled\r\n {\r\n get\r\n {\r\n return this._isServiceEnabled;\r\n }\r\n set\r\n {\r\n this._isServiceEnabled = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A list of characteristics that characterize the Customer Facing Service (ServiceCharacteristic [*]). LOV: A List of object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"serviceCharacteristic\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public Characteristic[] serviceCharacteristic\r\n {\r\n get\r\n {\r\n return this._serviceCharacteristic;\r\n }\r\n set\r\n {\r\n this._serviceCharacteristic = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Date when the service was created (whatever its status)\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"serviceDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? serviceDate\r\n {\r\n get\r\n {\r\n return this._serviceDate;\r\n }\r\n set\r\n {\r\n this._serviceDate = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Date when the service starts. LOV: Date without time, effective from 0:00\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"startDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? startDate\r\n {\r\n get\r\n {\r\n return this._startDate;\r\n }\r\n set\r\n {\r\n this._startDate = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A current state of the Customer Facing Service. LOV: activ, synced, temp, close\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"state\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string state\r\n {\r\n get\r\n {\r\n return this._state;\r\n }\r\n set\r\n {\r\n this._state = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Unique identifier of the Customer Facing Service to keep track of their state and changes. LOV: String identifier in the format 'Prefix-Number', where Pefix is '01' for Customer Facing Service\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A list of supporting Resource Facing Services (SupportingService [*]), is used to link CFS to RFS. LOV: A List of object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"supportingService\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ServiceReforValue[] supportingService\r\n {\r\n get\r\n {\r\n return this._supportingService;\r\n }\r\n set\r\n {\r\n this._supportingService = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// No description\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"endDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? endDate\r\n {\r\n get\r\n {\r\n return this._endDate;\r\n }\r\n set\r\n {\r\n this._endDate = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Service_Response_PUT", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class Service_Response_PUT\r\n{\r\n \r\n private string _accept_Language;\r\n \r\n private RelatedParty[] _relatedParty;\r\n \r\n private string _x_ms_client_request_id;\r\n \r\n private string _category;\r\n \r\n private Feature[] _feature;\r\n \r\n private System.Boolean? _hasStarted;\r\n \r\n private System.Boolean? _isServiceEnabled;\r\n \r\n private Characteristic[] _serviceCharacteristic;\r\n \r\n private System.DateTime? _serviceDate;\r\n \r\n private System.DateTime? _startDate;\r\n \r\n private string _state;\r\n \r\n private string _id;\r\n \r\n private ServiceReforValue[] _supportingService;\r\n \r\n private System.DateTime? _endDate;\r\n \r\n /// <summary>\r\n /// Specifying a language for a multi-language dataset. LOV: supported value are en-English, uk-Ukrainian, ru-russian\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"Accept-Language\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string Accept_Language\r\n {\r\n get\r\n {\r\n return this._accept_Language;\r\n }\r\n set\r\n {\r\n this._accept_Language = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A Related Party for this operation. LOV: A List of object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"relatedParty\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public RelatedParty[] relatedParty\r\n {\r\n get\r\n {\r\n return this._relatedParty;\r\n }\r\n set\r\n {\r\n this._relatedParty = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A unique identifier for the search request, used for the GET operation.. LOV: generally a GUID value\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"x-ms-client-request-id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string x_ms_client_request_id\r\n {\r\n get\r\n {\r\n return this._x_ms_client_request_id;\r\n }\r\n set\r\n {\r\n this._x_ms_client_request_id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// unique code for the Customer Facing Service category (service's network code). LOV: value, provided by BSS template\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"category\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string category\r\n {\r\n get\r\n {\r\n return this._category;\r\n }\r\n set\r\n {\r\n this._category = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A list of feature associated with this service. LOV: A List of object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"feature\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public Feature[] feature\r\n {\r\n get\r\n {\r\n return this._feature;\r\n }\r\n set\r\n {\r\n this._feature = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// An Activation state of Service. LOV: If TRUE, this Service has already been started\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"hasStarted\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Boolean? hasStarted\r\n {\r\n get\r\n {\r\n return this._hasStarted;\r\n }\r\n set\r\n {\r\n this._hasStarted = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A current State of Service. LOV: If FALSE and hasStarted is FALSE, this particular Service has NOT been enabled for use - if FALSE and hasStarted is TRUE then the service has disabled\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"isServiceEnabled\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Boolean? isServiceEnabled\r\n {\r\n get\r\n {\r\n return this._isServiceEnabled;\r\n }\r\n set\r\n {\r\n this._isServiceEnabled = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A list of characteristics that characterize the Customer Facing Service (ServiceCharacteristic [*]). LOV: A List of object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"serviceCharacteristic\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public Characteristic[] serviceCharacteristic\r\n {\r\n get\r\n {\r\n return this._serviceCharacteristic;\r\n }\r\n set\r\n {\r\n this._serviceCharacteristic = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Date when the service was created (whatever its status)\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"serviceDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? serviceDate\r\n {\r\n get\r\n {\r\n return this._serviceDate;\r\n }\r\n set\r\n {\r\n this._serviceDate = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Date when the service starts. LOV: Date without time, effective from 0:00\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"startDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? startDate\r\n {\r\n get\r\n {\r\n return this._startDate;\r\n }\r\n set\r\n {\r\n this._startDate = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A current state of the Customer Facing Service. LOV: activ, synced, temp, close\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"state\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string state\r\n {\r\n get\r\n {\r\n return this._state;\r\n }\r\n set\r\n {\r\n this._state = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Unique identifier of the Customer Facing Service to keep track of their state and changes. LOV: String identifier in the format 'Prefix-Number', where Pefix is '01' for Customer Facing Service\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A list of supporting Resource Facing Services (SupportingService [*]), is used to link CFS to RFS. LOV: A List of object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"supportingService\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ServiceReforValue[] supportingService\r\n {\r\n get\r\n {\r\n return this._supportingService;\r\n }\r\n set\r\n {\r\n this._supportingService = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// No description\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"endDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? endDate\r\n {\r\n get\r\n {\r\n return this._endDate;\r\n }\r\n set\r\n {\r\n this._endDate = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }] [] - [ { "name": "HandleException", "initCode": "Error HandleException (\n\t\tPassingResult prevData\n\t) \n {\n try\n {\n //investigate the Exception \n Logger.LogInformation($\"Exception name : {prevData.Exception?.GetType()?.Name}\");\n\n Error result = new Error(){ status = \"500\"};\n if (prevData.Exception != null)\n {\n result = prevData.Exception.GetError(\"500\");\n }\n \n int statusCode = 500;\n int.TryParse(result?.status, out statusCode);\n \n WorkflowEnvironment.Variables[\"StatusCode\"] = 500; \n if (WorkflowEnvironment.Variables.TryGetValue (\"HttpResponse\", out object httpResponseObj))\n {\n Microsoft.AspNetCore.Http.HttpResponse response = httpResponseObj as Microsoft.AspNetCore.Http.HttpResponse;\n response.StatusCode = statusCode;\n } \n return result;\n }\n catch (Exception e) \n {\n Logger.LogError($\"HandleException:: error {e}\");\n if (WorkflowEnvironment.Variables.TryGetValue (\"HttpResponse\", out object httpResponseObj))\n {\n Microsoft.AspNetCore.Http.HttpResponse response = httpResponseObj as Microsoft.AspNetCore.Http.HttpResponse;\n //Parameters.x_ms_client_request_id\n response.StatusCode = 500;\n } \n return new Error() \n { \n status = \"500\",\n message = $\"Error while handle error ! {e.Message}\"\n };\n }\n }", "initParameters": [ { "name": "Result", "type": "Error", "required": false, "defaultValue": null }, { "name": "prevData", "type": "PassingResult", "required": true, "defaultValue": null } ] }, { "name": "p_ucp_set_ServiceOrder", "initCode": "Service_Response_POST p_ucp_set_ServiceOrder (\n\t\tstring id,\n\t\tstring description,\n\t\tbool? isServiceEnabled,\n\t\tbool? hasStarted,\n\t\tdatetime? startDate,\n\t\tdatetime? endDate,\n\t\tstring note,\n\t\tstring category,\n\t\tstring feature,\n\t\tstring serviceCharacteristic,\n\t\tstring supportingService,\n\t\tstring relatedParty,\n\t\tstring state,\n\t\tstring serviceSpecification,\n\t\tdatetime? serviceDate,\n\t\tstring ErrFormat,\n\t\tstring Lang,\n\t\tstring x_ms_client_request_id\n\t) \n{\n var p = new DynamicParameters();\np.Add(\"id\", value: id, dbType: DbType.String, direction:ParameterDirection.Input, size:24);\np.Add(\"description\", value: description, dbType: DbType.String, direction:ParameterDirection.Input, size:200);\np.Add(\"isServiceEnabled\", value: isServiceEnabled, dbType: DbType.Boolean, direction:ParameterDirection.Input);\np.Add(\"hasStarted\", value: hasStarted, dbType: DbType.Boolean, direction:ParameterDirection.Input);\np.Add(\"startDate\", value: startDate, dbType: DbType.DateTime2, direction:ParameterDirection.Input);\np.Add(\"endDate\", value: endDate, dbType: DbType.DateTime2, direction:ParameterDirection.Input);\np.Add(\"note\", value: note, dbType: DbType.String, direction:ParameterDirection.Input, size:-1);\np.Add(\"category\", value: category, dbType: DbType.String, direction:ParameterDirection.Input, size:50);\np.Add(\"feature\", value: feature, dbType: DbType.String, direction:ParameterDirection.Input, size:-1);\np.Add(\"serviceCharacteristic\", value: serviceCharacteristic, dbType: DbType.String, direction:ParameterDirection.Input, size:-1);\np.Add(\"supportingService\", value: supportingService, dbType: DbType.String, direction:ParameterDirection.Input, size:-1);\np.Add(\"relatedParty\", value: relatedParty, dbType: DbType.String, direction:ParameterDirection.Input, size:-1);\np.Add(\"state\", value: state, dbType: DbType.String, direction:ParameterDirection.Input, size:50);\np.Add(\"serviceSpecification\", value: serviceSpecification, dbType: DbType.String, direction:ParameterDirection.Input, size:-1);\np.Add(\"serviceDate\", value: serviceDate, dbType: DbType.DateTime2, direction:ParameterDirection.Input);\np.Add(\"ErrFormat\", value: ErrFormat, dbType: DbType.String, direction:ParameterDirection.Input, size:25);\np.Add(\"Lang\", value: Lang, dbType: DbType.String, direction:ParameterDirection.Input, size:3);\np.Add(\"x_ms_client_request_id\", value: x_ms_client_request_id, dbType: DbType.String, direction:ParameterDirection.Input, size:32);\n\nstring sqlConnectionString = Parameters.sqlConnectionString;\nif (this.WorkflowEnvironment.Variables.TryGetValue(\"ConfigString\", out object configStr))\n{\n var configJson = new JSON(configStr).Cast<ServiceConfig>();\n if(!string.IsNullOrEmpty(configJson?.ConnectionString))\n {\n sqlConnectionString = configJson.ConnectionString;\n }\n};\n\nvar procedure = \"[dbo].[p_ucp_set_ServiceOrder]\";\nusing (var connection = new SqlConnection(sqlConnectionString))\n{\n connection.Execute(procedure, p, commandType: CommandType.StoredProcedure, commandTimeout:0);\n}\n// fill output params\nService_Response_POST result = new Service_Response_POST();\nresult.Accept_Language = p.Get<System.String>(\"Lang\");\nresult.relatedParty = string.IsNullOrEmpty(p.Get<string>(\"relatedParty\"))?new RelatedParty[]{new RelatedParty()}:new JSON(p.Get<string>(\"relatedParty\")).Cast<RelatedParty[]>();\nresult.x_ms_client_request_id = p.Get<System.String>(\"x_ms_client_request_id\");\nresult.category = p.Get<System.String>(\"category\");\nresult.feature = string.IsNullOrEmpty(p.Get<string>(\"feature\"))?new Feature[]{new Feature()}:new JSON(p.Get<string>(\"feature\")).Cast<Feature[]>();\nresult.hasStarted = p.Get<System.Boolean?>(\"hasStarted\");\nresult.isServiceEnabled = p.Get<System.Boolean?>(\"isServiceEnabled\");\nresult.serviceCharacteristic = string.IsNullOrEmpty(p.Get<string>(\"serviceCharacteristic\"))?new Characteristic[]{new Characteristic()}:new JSON(p.Get<string>(\"serviceCharacteristic\")).Cast<Characteristic[]>();\nresult.serviceDate = p.Get<System.DateTime?>(\"serviceDate\");\nresult.startDate = p.Get<System.DateTime?>(\"startDate\");\nresult.state = p.Get<System.String>(\"state\");\nresult.id = p.Get<System.String>(\"id\");\nresult.supportingService = string.IsNullOrEmpty(p.Get<string>(\"supportingService\"))?new ServiceReforValue[]{new ServiceReforValue()}:new JSON(p.Get<string>(\"supportingService\")).Cast<ServiceReforValue[]>();\nresult.endDate = p.Get<System.DateTime?>(\"endDate\");\n\n if (WorkflowEnvironment.RuntimeName == \"Plugin\")\n {\n if (WorkflowEnvironment.Variables.TryGetValue(\"HttpResponse\", out object httpResponseObj))\n {\n Microsoft.AspNetCore.Http.HttpResponse response = httpResponseObj as Microsoft.AspNetCore.Http.HttpResponse;\n response.Headers[\"Accept-Language\"] = result.Accept_Language;\n result.Accept_Language = null;\n response.Headers[\"x-ms-client-request-id\"] = result.x_ms_client_request_id;\n result.x_ms_client_request_id = null;\n }\n }\n\nreturn result;\n}\n", "initParameters": [ { "name": "id", "type": "string", "required": false, "defaultValue": null }, { "name": "description", "type": "string", "required": false, "defaultValue": null }, { "name": "isServiceEnabled", "type": "bool?", "required": false, "defaultValue": null }, { "name": "hasStarted", "type": "bool?", "required": false, "defaultValue": null }, { "name": "startDate", "type": "datetime?", "required": false, "defaultValue": null }, { "name": "endDate", "type": "datetime?", "required": false, "defaultValue": null }, { "name": "note", "type": "string", "required": false, "defaultValue": null }, { "name": "category", "type": "string", "required": false, "defaultValue": null }, { "name": "feature", "type": "string", "required": false, "defaultValue": null }, { "name": "serviceCharacteristic", "type": "string", "required": false, "defaultValue": null }, { "name": "supportingService", "type": "string", "required": false, "defaultValue": null }, { "name": "relatedParty", "type": "string", "required": false, "defaultValue": null }, { "name": "state", "type": "string", "required": false, "defaultValue": null }, { "name": "serviceSpecification", "type": "string", "required": false, "defaultValue": null }, { "name": "serviceDate", "type": "datetime?", "required": false, "defaultValue": null }, { "name": "ErrFormat", "type": "string", "required": false, "defaultValue": null }, { "name": "Lang", "type": "string", "required": false, "defaultValue": null }, { "name": "x_ms_client_request_id", "type": "string", "required": false, "defaultValue": null }, { "name": "Result", "type": "Service_Response_POST", "required": false, "defaultValue": null } ] }, { "name": "POST_p_ucp_set_ServiceOrder", "initCode": "Service_Response_SET POST_p_ucp_set_ServiceOrder (\n\t\tstring x_ms_client_request_id,\n\t\tstring id,\n\t\tdatetime serviceDate,\n\t\tstring description,\n\t\tstring supportingService,\n\t\tstring relatedParty,\n\t\tstring feature,\n\t\tstring state,\n\t\tstring category,\n\t\tdatetime startDate,\n\t\tstring serviceCharacteristic,\n\t\tstring note,\n\t\tbool hasStarted,\n\t\tbool isServiceEnabled,\n\t\tstring ErrFormat,\n\t\tstring Lang\n\t) \n {\n\t\t\tvar p = new DynamicParameters();\n\t\t\tp.Add(\"x_ms_client_request_id\", value: x_ms_client_request_id, dbType: DbType.String, direction: ParameterDirection.InputOutput, size: 32);\n\t\t\tp.Add(\"id\", value: id, dbType: DbType.String, direction: ParameterDirection.InputOutput, size: 24);\n\t\t\tp.Add(\"serviceDate\", value: serviceDate, dbType: DbType.DateTime2, direction: ParameterDirection.InputOutput);\n\t\t\tp.Add(\"description\", value: description, dbType: DbType.String, size: 200);\n\t\t\tp.Add(\"supportingService\", value: supportingService, dbType: DbType.String, size: -1);\n\t\t\tp.Add(\"relatedParty\", value: relatedParty, dbType: DbType.String, direction: ParameterDirection.InputOutput, size: -1);\n\t\t\tp.Add(\"feature\", value: feature, dbType: DbType.String, direction: ParameterDirection.InputOutput, size: -1);\n\t\t\tp.Add(\"state\", value: state, dbType: DbType.String, direction: ParameterDirection.InputOutput, size: 50);\n\t\t\tp.Add(\"category\", value: category, dbType: DbType.String, direction: ParameterDirection.InputOutput, size: 50);\n\t\t\tp.Add(\"startDate\", value: startDate, dbType: DbType.DateTime2, direction: ParameterDirection.InputOutput);\n\t\t\tp.Add(\"serviceCharacteristic\", value: serviceCharacteristic, dbType: DbType.String, direction: ParameterDirection.InputOutput, size: -1);\n\t\t\tp.Add(\"note\", value: note, dbType: DbType.String, size: -1);\n\t\t\tp.Add(\"hasStarted\", value: hasStarted, dbType: DbType.Boolean, direction: ParameterDirection.InputOutput);\n\t\t\tp.Add(\"isServiceEnabled\", value: isServiceEnabled, dbType: DbType.Boolean, direction: ParameterDirection.InputOutput);\n\t\t\tp.Add(\"ErrFormat\", value: ErrFormat, dbType: DbType.String, size: 24);\n\t\t\tp.Add(\"Lang\", value: Lang, dbType: DbType.String, direction: ParameterDirection.InputOutput, size: 3);\n\n\t\t\tstring unibillConnection = Parameters.sqlConnectionString;\n\t\t\tvar procedure = \"[dbo].[p_ucp_set_ServiceOrder]\";\n\t\t\tusing (var connection = new SqlConnection(unibillConnection))\n\t\t\t{\n\t\t\t\tconnection.Execute(procedure, p, commandType: CommandType.StoredProcedure);\n\t\t\t}\n\n\n\t\t\tService_Response_SET result = new Service_Response_SET();\n\t\t\tresult.feature = new JSON(p.Get<string>(\"feature\")).Cast<Feature[]>();\n\t\t\tresult.Accept_Language = p.Get<string>(\"Lang\");\n\t\t\tresult.x_ms_client_request_id = p.Get<string>(\"x_ms_client_request_id\");\n\t\t\tresult.startDate = p.Get<DateTime?>(\"startDate\");\n\t\t\tresult.state = p.Get<string>(\"state\");\n\t\t\tresult.category = p.Get<string>(\"category\");\n\t\t\tresult.hasStarted = p.Get<bool?>(\"hasStarted\");\n\t\t\tresult.id = p.Get<string>(\"id\");\n\t\t\tresult.isServiceEnabled = p.Get<bool?>(\"isServiceEnabled\");\n\t\t\tresult.relatedParty = new JSON(p.Get<string>(\"relatedParty\")).Cast<RelatedParty[]>();\n\t\t\tresult.serviceCharacteristic = new JSON(p.Get<string>(\"serviceCharacteristic\")).Cast<Characteristic[]>();\n\t\t\tresult.serviceDate = p.Get<DateTime?>(\"serviceDate\");\n\n\t\t\treturn result;\n }", "initParameters": [ { "name": "Result", "type": "Service_Response_SET", "required": false, "defaultValue": null }, { "name": "x_ms_client_request_id", "type": "string", "required": false, "defaultValue": null }, { "name": "id", "type": "string", "required": false, "defaultValue": null }, { "name": "serviceDate", "type": "datetime", "required": false, "defaultValue": null }, { "name": "description", "type": "string", "required": false, "defaultValue": null }, { "name": "supportingService", "type": "string", "required": false, "defaultValue": null }, { "name": "relatedParty", "type": "string", "required": false, "defaultValue": null }, { "name": "feature", "type": "string", "required": false, "defaultValue": null }, { "name": "state", "type": "string", "required": false, "defaultValue": null }, { "name": "category", "type": "string", "required": false, "defaultValue": null }, { "name": "startDate", "type": "datetime", "required": false, "defaultValue": null }, { "name": "serviceCharacteristic", "type": "string", "required": false, "defaultValue": null }, { "name": "note", "type": "string", "required": false, "defaultValue": null }, { "name": "hasStarted", "type": "bool", "required": false, "defaultValue": null }, { "name": "isServiceEnabled", "type": "bool", "required": false, "defaultValue": null }, { "name": "ErrFormat", "type": "string", "required": false, "defaultValue": null }, { "name": "Lang", "type": "string", "required": false, "defaultValue": null } ] }, { "name": "proceedConfig", "initCode": "Note[] proceedConfig (\n\t) \n {\n string v_author = null;\n string v_hostname = null;\n Note[] notes = null;\n \n if(WorkflowEnvironment.RuntimeName == \"Plugin\")\n {\n if (this.WorkflowEnvironment.Variables.TryGetValue(\"ApiContext\", out object apiContextObj))\n {\n IApiContext apiContext = apiContextObj as IApiContext;\n v_author = apiContext.DataBag.UserName;\n v_hostname = apiContext.DataBag.From;\n }\n\t\t\t\tvar note = Input.note?.Select(n => new Note()\n\t\t\t\t{\n\t\t\t\t\tauthor = n.author,\n\t\t\t\t\thostname = n.hostname,\n\t\t\t\t\ttext = n.text\n\t\t\t\t})?.FirstOrDefault() ?? new Note();\n\t\t\t\t\n\t\t\t\tnote.author = v_author;\n\t\t\t\tnote.hostname = v_hostname;\n\t\t\t\t\n notes = new Note[1]{note};\n if (this.WorkflowEnvironment.Variables.TryGetValue(\"ConfigString\", out object configStr))\n {\n var configJson = new JSON(configStr).Cast<ServiceConfig>();\n if(!string.IsNullOrEmpty(configJson?.ConnectionString))\n {\n Parameters.sqlConnectionString = configJson.ConnectionString;\n }\n \n };\n }\n else\n {\n notes = Input.note; \n }\n return notes.ToList(); \n }", "initParameters": [ { "name": "Result", "type": "Note[]", "required": false, "defaultValue": null } ] }] + [ { "name": "HandleException", "initCode": "Error HandleException (\n\t\tPassingResult prevData\n\t) \n {\n try\n {\n //investigate the Exception \n Logger.LogInformation($\"Exception name : {prevData.Exception?.GetType()?.Name}\");\n\n Error result = new Error(){ status = \"500\"};\n if (prevData.Exception != null)\n {\n result = prevData.Exception.GetError(\"500\");\n }\n \n int statusCode = 500;\n int.TryParse(result?.status, out statusCode);\n \n WorkflowEnvironment.Variables[\"StatusCode\"] = 500; \n if (WorkflowEnvironment.Variables.TryGetValue (\"HttpResponse\", out object httpResponseObj))\n {\n Microsoft.AspNetCore.Http.HttpResponse response = httpResponseObj as Microsoft.AspNetCore.Http.HttpResponse;\n response.StatusCode = statusCode;\n } \n return result;\n }\n catch (Exception e) \n {\n Logger.LogError($\"HandleException:: error {e}\");\n if (WorkflowEnvironment.Variables.TryGetValue (\"HttpResponse\", out object httpResponseObj))\n {\n Microsoft.AspNetCore.Http.HttpResponse response = httpResponseObj as Microsoft.AspNetCore.Http.HttpResponse;\n //Parameters.x_ms_client_request_id\n response.StatusCode = 500;\n } \n return new Error() \n { \n status = \"500\",\n message = $\"Error while handle error ! {e.Message}\"\n };\n }\n }", "initParameters": [ { "name": "Result", "type": "Error", "required": false, "defaultValue": null }, { "name": "prevData", "type": "PassingResult", "required": true, "defaultValue": null } ] }, { "name": "p_ucp_set_ServiceOrder", "initCode": "Service_Response_POST p_ucp_set_ServiceOrder (\n\t\tstring id,\n\t\tstring description,\n\t\tbool? isServiceEnabled,\n\t\tbool? hasStarted,\n\t\tdatetime? startDate,\n\t\tdatetime? endDate,\n\t\tstring note,\n\t\tstring category,\n\t\tstring feature,\n\t\tstring serviceCharacteristic,\n\t\tstring supportingService,\n\t\tstring relatedParty,\n\t\tstring state,\n\t\tstring serviceSpecification,\n\t\tdatetime? serviceDate,\n\t\tstring ErrFormat,\n\t\tstring Lang,\n\t\tstring x_ms_client_request_id\n\t) \n{\n var p = new DynamicParameters();\np.Add(\"id\", value: id, dbType: DbType.String, direction:ParameterDirection.Input, size:24);\np.Add(\"description\", value: description, dbType: DbType.String, direction:ParameterDirection.Input, size:200);\np.Add(\"isServiceEnabled\", value: isServiceEnabled, dbType: DbType.Boolean, direction:ParameterDirection.Input);\np.Add(\"hasStarted\", value: hasStarted, dbType: DbType.Boolean, direction:ParameterDirection.Input);\np.Add(\"startDate\", value: startDate, dbType: DbType.DateTime2, direction:ParameterDirection.Input);\np.Add(\"endDate\", value: endDate, dbType: DbType.DateTime2, direction:ParameterDirection.Input);\np.Add(\"note\", value: note, dbType: DbType.String, direction:ParameterDirection.Input, size:-1);\np.Add(\"category\", value: category, dbType: DbType.String, direction:ParameterDirection.Input, size:50);\np.Add(\"feature\", value: feature, dbType: DbType.String, direction:ParameterDirection.Input, size:-1);\np.Add(\"serviceCharacteristic\", value: serviceCharacteristic, dbType: DbType.String, direction:ParameterDirection.Input, size:-1);\np.Add(\"supportingService\", value: supportingService, dbType: DbType.String, direction:ParameterDirection.Input, size:-1);\np.Add(\"relatedParty\", value: relatedParty, dbType: DbType.String, direction:ParameterDirection.Input, size:-1);\np.Add(\"state\", value: state, dbType: DbType.String, direction:ParameterDirection.Input, size:50);\np.Add(\"serviceSpecification\", value: serviceSpecification, dbType: DbType.String, direction:ParameterDirection.Input, size:-1);\np.Add(\"serviceDate\", value: serviceDate, dbType: DbType.DateTime2, direction:ParameterDirection.Input);\np.Add(\"ErrFormat\", value: ErrFormat, dbType: DbType.String, direction:ParameterDirection.Input, size:25);\np.Add(\"Lang\", value: Lang, dbType: DbType.String, direction:ParameterDirection.Input, size:3);\np.Add(\"x_ms_client_request_id\", value: x_ms_client_request_id, dbType: DbType.String, direction:ParameterDirection.Input, size:32);\n\nstring sqlConnectionString = Parameters.sqlConnectionString;\nif (this.WorkflowEnvironment.Variables.TryGetValue(\"ConfigString\", out object configStr))\n{\n var configJson = new JSON(configStr).Cast<ServiceConfig>();\n if(!string.IsNullOrEmpty(configJson?.ConnectionString))\n {\n sqlConnectionString = configJson.ConnectionString;\n }\n};\n\nvar procedure = \"[dbo].[p_ucp_set_ServiceOrder]\";\nusing (var connection = new SqlConnection(sqlConnectionString))\n{\n connection.Execute(procedure, p, commandType: CommandType.StoredProcedure, commandTimeout:0);\n}\n// fill output params\nService_Response_POST result = new Service_Response_POST();\nresult.Accept_Language = p.Get<System.String>(\"Lang\");\nresult.relatedParty = string.IsNullOrEmpty(p.Get<string>(\"relatedParty\"))?new RelatedParty[]{new RelatedParty()}:new JSON(p.Get<string>(\"relatedParty\")).Cast<RelatedParty[]>();\nresult.x_ms_client_request_id = p.Get<System.String>(\"x_ms_client_request_id\");\nresult.category = p.Get<System.String>(\"category\");\nresult.feature = string.IsNullOrEmpty(p.Get<string>(\"feature\"))?new Feature[]{new Feature()}:new JSON(p.Get<string>(\"feature\")).Cast<Feature[]>();\nresult.hasStarted = p.Get<System.Boolean?>(\"hasStarted\");\nresult.isServiceEnabled = p.Get<System.Boolean?>(\"isServiceEnabled\");\nresult.serviceCharacteristic = string.IsNullOrEmpty(p.Get<string>(\"serviceCharacteristic\"))?new Characteristic[]{new Characteristic()}:new JSON(p.Get<string>(\"serviceCharacteristic\")).Cast<Characteristic[]>();\nresult.serviceDate = p.Get<System.DateTime?>(\"serviceDate\");\nresult.startDate = p.Get<System.DateTime?>(\"startDate\");\nresult.state = p.Get<System.String>(\"state\");\nresult.id = p.Get<System.String>(\"id\");\nresult.supportingService = string.IsNullOrEmpty(p.Get<string>(\"supportingService\"))?new ServiceReforValue[]{new ServiceReforValue()}:new JSON(p.Get<string>(\"supportingService\")).Cast<ServiceReforValue[]>();\nresult.endDate = p.Get<System.DateTime?>(\"endDate\");\n\n if (WorkflowEnvironment.RuntimeName == \"Plugin\")\n {\n if (WorkflowEnvironment.Variables.TryGetValue(\"HttpResponse\", out object httpResponseObj))\n {\n Microsoft.AspNetCore.Http.HttpResponse response = httpResponseObj as Microsoft.AspNetCore.Http.HttpResponse;\n response.Headers[\"Accept-Language\"] = result.Accept_Language;\n result.Accept_Language = null;\n response.Headers[\"x-ms-client-request-id\"] = result.x_ms_client_request_id;\n result.x_ms_client_request_id = null;\n }\n }\n\nreturn result;\n}\n", "initParameters": [ { "name": "id", "type": "string", "required": false, "defaultValue": null }, { "name": "description", "type": "string", "required": false, "defaultValue": null }, { "name": "isServiceEnabled", "type": "bool?", "required": false, "defaultValue": null }, { "name": "hasStarted", "type": "bool?", "required": false, "defaultValue": null }, { "name": "startDate", "type": "datetime?", "required": false, "defaultValue": null }, { "name": "endDate", "type": "datetime?", "required": false, "defaultValue": null }, { "name": "note", "type": "string", "required": false, "defaultValue": null }, { "name": "category", "type": "string", "required": false, "defaultValue": null }, { "name": "feature", "type": "string", "required": false, "defaultValue": null }, { "name": "serviceCharacteristic", "type": "string", "required": false, "defaultValue": null }, { "name": "supportingService", "type": "string", "required": false, "defaultValue": null }, { "name": "relatedParty", "type": "string", "required": false, "defaultValue": null }, { "name": "state", "type": "string", "required": false, "defaultValue": null }, { "name": "serviceSpecification", "type": "string", "required": false, "defaultValue": null }, { "name": "serviceDate", "type": "datetime?", "required": false, "defaultValue": null }, { "name": "ErrFormat", "type": "string", "required": false, "defaultValue": null }, { "name": "Lang", "type": "string", "required": false, "defaultValue": null }, { "name": "x_ms_client_request_id", "type": "string", "required": false, "defaultValue": null }, { "name": "Result", "type": "Service_Response_POST", "required": false, "defaultValue": null } ] }, { "name": "POST_p_ucp_set_ServiceOrder", "initCode": "Service_Response_SET POST_p_ucp_set_ServiceOrder (\n\t\tstring x_ms_client_request_id,\n\t\tstring id,\n\t\tdatetime serviceDate,\n\t\tstring description,\n\t\tstring supportingService,\n\t\tstring relatedParty,\n\t\tstring feature,\n\t\tstring state,\n\t\tstring category,\n\t\tdatetime startDate,\n\t\tstring serviceCharacteristic,\n\t\tstring note,\n\t\tbool hasStarted,\n\t\tbool isServiceEnabled,\n\t\tstring ErrFormat,\n\t\tstring Lang\n\t) \n {\n\t\t\tvar p = new DynamicParameters();\n\t\t\tp.Add(\"x_ms_client_request_id\", value: x_ms_client_request_id, dbType: DbType.String, direction: ParameterDirection.InputOutput, size: 32);\n\t\t\tp.Add(\"id\", value: id, dbType: DbType.String, direction: ParameterDirection.InputOutput, size: 24);\n\t\t\tp.Add(\"serviceDate\", value: serviceDate, dbType: DbType.DateTime2, direction: ParameterDirection.InputOutput);\n\t\t\tp.Add(\"description\", value: description, dbType: DbType.String, size: 200);\n\t\t\tp.Add(\"supportingService\", value: supportingService, dbType: DbType.String, size: -1);\n\t\t\tp.Add(\"relatedParty\", value: relatedParty, dbType: DbType.String, direction: ParameterDirection.InputOutput, size: -1);\n\t\t\tp.Add(\"feature\", value: feature, dbType: DbType.String, direction: ParameterDirection.InputOutput, size: -1);\n\t\t\tp.Add(\"state\", value: state, dbType: DbType.String, direction: ParameterDirection.InputOutput, size: 50);\n\t\t\tp.Add(\"category\", value: category, dbType: DbType.String, direction: ParameterDirection.InputOutput, size: 50);\n\t\t\tp.Add(\"startDate\", value: startDate, dbType: DbType.DateTime2, direction: ParameterDirection.InputOutput);\n\t\t\tp.Add(\"serviceCharacteristic\", value: serviceCharacteristic, dbType: DbType.String, direction: ParameterDirection.InputOutput, size: -1);\n\t\t\tp.Add(\"note\", value: note, dbType: DbType.String, size: -1);\n\t\t\tp.Add(\"hasStarted\", value: hasStarted, dbType: DbType.Boolean, direction: ParameterDirection.InputOutput);\n\t\t\tp.Add(\"isServiceEnabled\", value: isServiceEnabled, dbType: DbType.Boolean, direction: ParameterDirection.InputOutput);\n\t\t\tp.Add(\"ErrFormat\", value: ErrFormat, dbType: DbType.String, size: 24);\n\t\t\tp.Add(\"Lang\", value: Lang, dbType: DbType.String, direction: ParameterDirection.InputOutput, size: 3);\n\n\t\t\tstring dbConnection = Parameters.sqlConnectionString;\n\t\t\tvar procedure = \"[dbo].[p_ucp_set_ServiceOrder]\";\n\t\t\tusing (var connection = new SqlConnection(dbConnection))\n\t\t\t{\n\t\t\t\tconnection.Execute(procedure, p, commandType: CommandType.StoredProcedure);\n\t\t\t}\n\n\n\t\t\tService_Response_SET result = new Service_Response_SET();\n\t\t\tresult.feature = new JSON(p.Get<string>(\"feature\")).Cast<Feature[]>();\n\t\t\tresult.Accept_Language = p.Get<string>(\"Lang\");\n\t\t\tresult.x_ms_client_request_id = p.Get<string>(\"x_ms_client_request_id\");\n\t\t\tresult.startDate = p.Get<DateTime?>(\"startDate\");\n\t\t\tresult.state = p.Get<string>(\"state\");\n\t\t\tresult.category = p.Get<string>(\"category\");\n\t\t\tresult.hasStarted = p.Get<bool?>(\"hasStarted\");\n\t\t\tresult.id = p.Get<string>(\"id\");\n\t\t\tresult.isServiceEnabled = p.Get<bool?>(\"isServiceEnabled\");\n\t\t\tresult.relatedParty = new JSON(p.Get<string>(\"relatedParty\")).Cast<RelatedParty[]>();\n\t\t\tresult.serviceCharacteristic = new JSON(p.Get<string>(\"serviceCharacteristic\")).Cast<Characteristic[]>();\n\t\t\tresult.serviceDate = p.Get<DateTime?>(\"serviceDate\");\n\n\t\t\treturn result;\n }", "initParameters": [ { "name": "Result", "type": "Service_Response_SET", "required": false, "defaultValue": null }, { "name": "x_ms_client_request_id", "type": "string", "required": false, "defaultValue": null }, { "name": "id", "type": "string", "required": false, "defaultValue": null }, { "name": "serviceDate", "type": "datetime", "required": false, "defaultValue": null }, { "name": "description", "type": "string", "required": false, "defaultValue": null }, { "name": "supportingService", "type": "string", "required": false, "defaultValue": null }, { "name": "relatedParty", "type": "string", "required": false, "defaultValue": null }, { "name": "feature", "type": "string", "required": false, "defaultValue": null }, { "name": "state", "type": "string", "required": false, "defaultValue": null }, { "name": "category", "type": "string", "required": false, "defaultValue": null }, { "name": "startDate", "type": "datetime", "required": false, "defaultValue": null }, { "name": "serviceCharacteristic", "type": "string", "required": false, "defaultValue": null }, { "name": "note", "type": "string", "required": false, "defaultValue": null }, { "name": "hasStarted", "type": "bool", "required": false, "defaultValue": null }, { "name": "isServiceEnabled", "type": "bool", "required": false, "defaultValue": null }, { "name": "ErrFormat", "type": "string", "required": false, "defaultValue": null }, { "name": "Lang", "type": "string", "required": false, "defaultValue": null } ] }, { "name": "proceedConfig", "initCode": "Note[] proceedConfig (\n\t) \n {\n string v_author = null;\n string v_hostname = null;\n Note[] notes = null;\n \n if(WorkflowEnvironment.RuntimeName == \"Plugin\")\n {\n if (this.WorkflowEnvironment.Variables.TryGetValue(\"ApiContext\", out object apiContextObj))\n {\n IApiContext apiContext = apiContextObj as IApiContext;\n v_author = apiContext.DataBag.UserName;\n v_hostname = apiContext.DataBag.From;\n }\n\t\t\t\tvar note = Input.note?.Select(n => new Note()\n\t\t\t\t{\n\t\t\t\t\tauthor = n.author,\n\t\t\t\t\thostname = n.hostname,\n\t\t\t\t\ttext = n.text\n\t\t\t\t})?.FirstOrDefault() ?? new Note();\n\t\t\t\t\n\t\t\t\tnote.author = v_author;\n\t\t\t\tnote.hostname = v_hostname;\n\t\t\t\t\n notes = new Note[1]{note};\n if (this.WorkflowEnvironment.Variables.TryGetValue(\"ConfigString\", out object configStr))\n {\n var configJson = new JSON(configStr).Cast<ServiceConfig>();\n if(!string.IsNullOrEmpty(configJson?.ConnectionString))\n {\n Parameters.sqlConnectionString = configJson.ConnectionString;\n }\n \n };\n }\n else\n {\n notes = Input.note; \n }\n return notes.ToList(); \n }", "initParameters": [ { "name": "Result", "type": "Note[]", "required": false, "defaultValue": null } ] }] [] [ { "name": "RestApi", "initCode": "functions://default/RestApi", "initParameters": [ { "name": "Uri", "type": "Uri", "required": true, "oldName": "Uri", "oldType": "Uri", "defaultValue": "http://servername:port/resource" }, { "name": "Method", "type": "string", "required": true, "oldName": "Method", "oldType": "string", "defaultValue": "GET" }, { "name": "Login", "type": "string", "required": false, "oldName": "Login", "oldType": "string", "defaultValue": null }, { "name": "Password", "type": "string", "required": false, "oldName": "Password", "oldType": "string", "defaultValue": null }, { "name": "Headers", "type": "StringDictionary", "required": false, "oldName": "Headers", "oldType": "StringDictionary", "defaultValue": "{\r\n \"Content-Type\":\"application/json;charset=utf-16\",\r\n \"system\":\"204\",\r\n \"global_unique_id\":\"6a297fcb-956e-4228-8c11-017e9bacd629\"\r\n }" }, { "name": "Body", "type": "string", "required": false, "oldName": "Body", "oldType": "string", "defaultValue": "{}" }, { "name": "Encoding", "type": "string", "required": false, "oldName": "Encoding", "oldType": "string", "defaultValue": "utf-8" }, { "name": "Result", "type": "HttpResponse", "required": false, "oldName": "Result", "oldType": "HttpResponse", "defaultValue": null } ], "oldName": "RestApi" }, { "name": "RestApi_Get", "initCode": "functions://default/RestApi/Get", "initParameters": [ { "name": "Uri", "type": "Uri", "required": true, "oldName": "Uri", "oldType": "Uri", "defaultValue": "http://servername:port/resource" }, { "name": "Login", "type": "string", "required": false, "oldName": "Login", "oldType": "string", "defaultValue": null }, { "name": "Password", "type": "string", "required": false, "oldName": "Password", "oldType": "string", "defaultValue": null }, { "name": "Headers", "type": "StringDictionary", "required": false, "oldName": "Headers", "oldType": "StringDictionary", "defaultValue": "{\r\n \"Content-Type\":\"application/json;charset=utf-16\",\r\n \"system\":\"204\",\r\n \"global_unique_id\":\"6a297fcb-956e-4228-8c11-017e9bacd629\"\r\n }" }, { "name": "Encoding", "type": "string", "required": false, "oldName": "Encoding", "oldType": "string", "defaultValue": "utf-8" }, { "name": "Result", "type": "HttpResponse", "required": false, "oldName": "Result", "oldType": "HttpResponse", "defaultValue": null } ], "oldName": "RestApi_Get" }, { "name": "JsonPath", "initCode": "functions://default//JsonPath", "initParameters": [ { "name": "Response", "type": "HttpResponse", "required": true, "oldName": "Response", "oldType": "HttpResponse", "defaultValue": null }, { "name": "Path", "type": "string", "required": false, "oldName": "Path", "oldType": "string", "defaultValue": "$" }, { "name": "Result", "type": "Json", "required": false, "oldName": "Result", "oldType": "Json", "defaultValue": null } ], "oldName": "JsonPath" }, { "name": "SaveVariable", "initCode": "functions://default//SaveVariable", "initParameters": [ { "name": "VariableName", "type": "string", "required": true, "oldName": "VariableName", "oldType": "string", "defaultValue": "varName" }, { "name": "Data", "type": "object", "required": true, "oldName": "Data", "oldType": "object", "defaultValue": "#previous" } ], "oldName": "SaveVariable" }, { "name": "Wait", "initCode": "functions://default//Wait", "initParameters": [ { "name": "millisecondsTimeout", "type": "int", "required": true, "oldName": "millisecondsTimeout", "oldType": "int", "defaultValue": "1000" } ], "oldName": "Wait" }, { "name": "SQL_Oracle_Query", "initCode": "functions://default//SQL/Oracle/Query", "initParameters": [ { "name": "userID", "type": "string", "required": true, "oldName": "userID", "oldType": "string", "defaultValue": null }, { "name": "password", "type": "string", "required": false, "oldName": "password", "oldType": "string", "defaultValue": null }, { "name": "dataSource", "type": "string", "required": false, "oldName": "dataSource", "oldType": "string", "defaultValue": null }, { "name": "query", "type": "string", "required": false, "oldName": "query", "oldType": "string", "defaultValue": null }, { "name": "Result", "type": "Collection", "required": false, "oldName": "Result", "oldType": "Collection", "defaultValue": null } ], "oldName": "SQL_Oracle_Query" }, { "name": "SQL_Oracle_Command", "initCode": "functions://default//SQL/Oracle/Command", "initParameters": [ { "name": "userID", "type": "string", "required": true, "oldName": "userID", "oldType": "string", "defaultValue": null }, { "name": "password", "type": "string", "required": false, "oldName": "password", "oldType": "string", "defaultValue": null }, { "name": "dataSource", "type": "string", "required": false, "oldName": "dataSource", "oldType": "string", "defaultValue": null }, { "name": "command", "type": "string", "required": false, "oldName": "command", "oldType": "string", "defaultValue": null }, { "name": "Result", "type": "int", "required": false, "oldName": "Result", "oldType": "int", "defaultValue": null } ], "oldName": "SQL_Oracle_Command" }] [] - [ { "name": "httpConfig", "type": "HttpConfig", "initialValue": "{\r\n \"host\":\"https://10.29.101.122\",\r\n \"port\":\"6992\",\r\n \"login\":\"login\",\r\n \"password\":\"password\",\r\n \"encoding\":\"utf-8\",\r\n \"headers\":{\r\n \"Content-Type\":\"application/vnd.api+json\",\r\n \"Accept\":\"application/vnd.api+json\"\r\n }\r\n}\r\n" }, { "name": "sqlConnectionString", "type": "string", "initialValue": "Data Source=sqlserv;Initial Catalog=unibill;User ID=login;Password=password;MultipleActiveResultSets=true;Encrypt=True;TrustServerCertificate=True;Command Timeout=3600" }] - { "@type": "Service", "serviceSpecification": { "@type": "serviceSpecification", "id": "SIM" }, "category": "GSM", "startDate": "2023-11-01T00:00:00Z", "note": [ { "author": "domain+username", "hostname": "192.156.7.77", "text": "creating GSM services", "@type": "Note" } ], "state": "activ", "serviceCharacteristic": [ { "valueType": "string", "id": "scrd_IMSI", "value": "228012176510739" }, { "valueType": "string", "id": "scrt_Code", "value": "UNI" }, { "valueType": "string", "id": "scrg_Code", "value": "default" }, { "valueType": "Integer", "id": "scrd_ICC", "value": 1 }, { "valueType": "string", "id": "scrd_PUK1", "value": "01231234" }, { "valueType": "string", "id": "scrd_PUK2", "value": "01231234" }, { "valueType": "string", "id": "scrd_PIN1", "value": "0123" }, { "valueType": "string", "id": "scrd_PIN2", "value": "0123" }, { "valueType": "date-time", "id": "scrd_ExpirationDate", "value": "2999-12-31T23:59:59.997Z" } ]} + [ { "name": "httpConfig", "type": "HttpConfig", "initialValue": "{\r\n \"host\":\"https://localhost\",\r\n \"port\":\"6992\",\r\n \"login\":\"login\",\r\n \"password\":\"password\",\r\n \"encoding\":\"utf-8\",\r\n \"headers\":{\r\n \"Content-Type\":\"application/vnd.api+json\",\r\n \"Accept\":\"application/vnd.api+json\"\r\n }\r\n}\r\n" }, { "name": "sqlConnectionString", "type": "string", "initialValue": "Data Source=localhost;Initial Catalog=examples;User ID=login;Password=;MultipleActiveResultSets=true;Encrypt=True;TrustServerCertificate=True;Command Timeout=3600" }] + { "@type": "Service", "serviceSpecification": { "@type": "serviceSpecification", "id": "SIM" }, "category": "GSM", "startDate": "2023-11-01T00:00:00Z", "note": [ { "author": "domain+username", "hostname": "localhost", "text": "creating GSM services", "@type": "Note" } ], "state": "activ", "serviceCharacteristic": [ { "valueType": "string", "id": "scrd_IMSI", "value": "228012176510739" }, { "valueType": "string", "id": "scrt_Code", "value": "UNI" }, { "valueType": "string", "id": "scrg_Code", "value": "default" }, { "valueType": "Integer", "id": "scrd_ICC", "value": 1 }, { "valueType": "string", "id": "scrd_PUK1", "value": "01231234" }, { "valueType": "string", "id": "scrd_PUK2", "value": "01231234" }, { "valueType": "string", "id": "scrd_PIN1", "value": "0123" }, { "valueType": "string", "id": "scrd_PIN2", "value": "0123" }, { "valueType": "date-time", "id": "scrd_ExpirationDate", "value": "2999-12-31T23:59:59.997Z" } ]} diff --git a/tmforum-apis/TMF640_Service_Activation_and_Configuration/TMF640_Put_Service.bpmn b/tmforum-apis/TMF640_Service_Activation_and_Configuration/TMF640_Put_Service.bpmn index 19fb4e4..8b4ef72 100644 --- a/tmforum-apis/TMF640_Service_Activation_and_Configuration/TMF640_Put_Service.bpmn +++ b/tmforum-apis/TMF640_Service_Activation_and_Configuration/TMF640_Put_Service.bpmn @@ -3,17 +3,17 @@ [ "Action", "Function"] [ { "name": "Addressable", "definition": "/// <summary>\r\n/// Base schema for adressable entities\r\n/// </summary>\r\npublic sealed class Addressable\r\n{\r\n \r\n private string _href;\r\n \r\n private string _id;\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// unique identifier\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Addressable_FVO", "definition": "/// <summary>\r\n/// Base schema for adressable entities\r\n/// </summary>\r\npublic sealed class Addressable_FVO\r\n{\r\n \r\n private string _href;\r\n \r\n private string _id;\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// unique identifier\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Addressable_MVO", "definition": "/// <summary>\r\n/// Base schema for adressable entities\r\n/// </summary>\r\npublic sealed class Addressable_MVO\r\n{\r\n \r\n private string _href;\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Characteristic", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class Characteristic\r\n{\r\n \r\n private string _type;\r\n \r\n private string _id;\r\n \r\n private string _name;\r\n \r\n private string _value;\r\n \r\n private string _valueType;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private CharacteristicRelationship[] _characteristicRelationship;\r\n \r\n /// <summary>\r\n /// The @type attribute represents the actual class type of an entity. LOV: Characteristic\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Unique identifier of the characteristic. LOV: MSISDN\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Code of the characteristic. LOV: Value, provided by BSS template\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A Value of the characteristic. LOV: Value of MSISDN\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"value\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string value\r\n {\r\n get\r\n {\r\n return this._value;\r\n }\r\n set\r\n {\r\n this._value = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Data type of the value of the characteristic. LOV: string\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"valueType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string valueType\r\n {\r\n get\r\n {\r\n return this._valueType;\r\n }\r\n set\r\n {\r\n this._valueType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"characteristicRelationship\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public CharacteristicRelationship[] characteristicRelationship\r\n {\r\n get\r\n {\r\n return this._characteristicRelationship;\r\n }\r\n set\r\n {\r\n this._characteristicRelationship = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Characteristic_FVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class Characteristic_FVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _id;\r\n \r\n private string _valueType;\r\n \r\n private CharacteristicRelationship_FVO[] _characteristicRelationship;\r\n \r\n private string _name;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Unique identifier of the characteristic\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Data type of the value of the characteristic\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"valueType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string valueType\r\n {\r\n get\r\n {\r\n return this._valueType;\r\n }\r\n set\r\n {\r\n this._valueType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"characteristicRelationship\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public CharacteristicRelationship_FVO[] characteristicRelationship\r\n {\r\n get\r\n {\r\n return this._characteristicRelationship;\r\n }\r\n set\r\n {\r\n this._characteristicRelationship = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the characteristic\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Characteristic_MVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class Characteristic_MVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _id;\r\n \r\n private string _valueType;\r\n \r\n private CharacteristicRelationship_MVO[] _characteristicRelationship;\r\n \r\n private string _name;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Unique identifier of the characteristic\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Data type of the value of the characteristic\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"valueType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string valueType\r\n {\r\n get\r\n {\r\n return this._valueType;\r\n }\r\n set\r\n {\r\n this._valueType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"characteristicRelationship\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public CharacteristicRelationship_MVO[] characteristicRelationship\r\n {\r\n get\r\n {\r\n return this._characteristicRelationship;\r\n }\r\n set\r\n {\r\n this._characteristicRelationship = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the characteristic\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "CharacteristicRelationship", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class CharacteristicRelationship\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _id;\r\n \r\n private string _relationshipType;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Unique identifier of the characteristic\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The type of relationship\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"relationshipType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string relationshipType\r\n {\r\n get\r\n {\r\n return this._relationshipType;\r\n }\r\n set\r\n {\r\n this._relationshipType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "CharacteristicRelationship_FVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class CharacteristicRelationship_FVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _id;\r\n \r\n private string _relationshipType;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Unique identifier of the characteristic\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The type of relationship\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"relationshipType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string relationshipType\r\n {\r\n get\r\n {\r\n return this._relationshipType;\r\n }\r\n set\r\n {\r\n this._relationshipType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "CharacteristicRelationship_MVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class CharacteristicRelationship_MVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _id;\r\n \r\n private string _relationshipType;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Unique identifier of the characteristic\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The type of relationship\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"relationshipType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string relationshipType\r\n {\r\n get\r\n {\r\n return this._relationshipType;\r\n }\r\n set\r\n {\r\n this._relationshipType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ConstraintRef", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class ConstraintRef\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _href;\r\n \r\n private string _id;\r\n \r\n private string _name;\r\n \r\n private string _referredType;\r\n \r\n private string _version;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Identifier of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// constraint version\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"version\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string version\r\n {\r\n get\r\n {\r\n return this._version;\r\n }\r\n set\r\n {\r\n this._version = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ConstraintRef_FVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class ConstraintRef_FVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _href;\r\n \r\n private string _id;\r\n \r\n private string _name;\r\n \r\n private string _referredType;\r\n \r\n private string _version;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Identifier of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// constraint version\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"version\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string version\r\n {\r\n get\r\n {\r\n return this._version;\r\n }\r\n set\r\n {\r\n this._version = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ConstraintRef_MVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class ConstraintRef_MVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _href;\r\n \r\n private string _id;\r\n \r\n private string _name;\r\n \r\n private string _referredType;\r\n \r\n private string _version;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Identifier of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// constraint version\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"version\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string version\r\n {\r\n get\r\n {\r\n return this._version;\r\n }\r\n set\r\n {\r\n this._version = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Entity", "definition": "/// <summary>\r\n/// Base entity schema for use in TMForum Open-APIs. Property.\r\n/// </summary>\r\npublic sealed class Entity\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _href;\r\n \r\n private string _id;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// unique identifier\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Entity_FVO", "definition": "/// <summary>\r\n/// Base entity schema for use in TMForum Open-APIs. Property.\r\n/// </summary>\r\npublic sealed class Entity_FVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _href;\r\n \r\n private string _id;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// unique identifier\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Entity_MVO", "definition": "/// <summary>\r\n/// Base entity schema for use in TMForum Open-APIs. Property.\r\n/// </summary>\r\npublic sealed class Entity_MVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _href;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "EntityRef", "definition": "/// <summary>\r\n/// Entity reference schema to be use for all entityRef class.\r\n/// </summary>\r\npublic sealed class EntityRef\r\n{\r\n \r\n private string _href;\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Error", "definition": "{\n\t\"$schema\": \"http://json-schema.org/draft-06/schema#\",\n\t\"$ref\": \"#/definitions/Error\",\n\t\"definitions\": {\n\t\t\"Error\": {\n\t\t\t\"type\": \"object\",\n\t\t\t\"additionalProperties\": false,\n\t\t\t\"properties\": {\n\t\t\t\t\"code\": {\n\t\t\t\t\t\"type\": \"string\",\n\t\t\t\t\t\"description\": \"Application relevant detail, defined in the API or a common list\"\n\t\t\t\t},\n\t\t\t\t\"reason\": {\n\t\t\t\t\t\"type\": \"string\"\n\t\t\t\t},\n\t\t\t\t\"message\": {\n\t\t\t\t\t\"type\": \"string\"\n\t\t\t\t},\n\t\t\t\t\"status\": {\n\t\t\t\t\t\"type\": \"string\"\n\t\t\t\t},\n\t\t\t\t\"referenceError\":{\n\t\t\t\t\t\"type\": \"string\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"title\": \"Error\"\n\t\t}\n\t}\n}", "isNativeDefinition": false }, { "name": "ErrorResponse", "definition": "{\r\n \"$schema\": \"http://json-schema.org/draft-06/schema#\",\r\n \"$ref\": \"#/definitions/ErrorResponse\",\r\n \"definitions\": {\r\n \"ErrorResponse\": {\r\n \"type\": \"object\",\r\n \"additionalProperties\": true,\r\n \"properties\": {\r\n \"LevelMessage\": {\r\n \"title\": \"The Error level\",\r\n \"type\": \"string\"\r\n },\r\n \"statusCode\": {\r\n \"title\": \"The Error Status Code\",\r\n \"type\": \"integer\"\r\n },\r\n \"ErrNumber\": {\r\n \"title\": \"The Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Message\": {\r\n \"title\": \"The Error Message\",\r\n \"type\": \"string\"\r\n },\r\n \"State\": {\r\n \"title\": \"The Error State\",\r\n \"type\": \"string\"\r\n },\r\n \"HelpLink\": {\r\n \"title\": \"The Help Link\",\r\n \"type\": \"string\"\r\n },\r\n \"errNumberReason\": {\r\n \"title\": \"The initial Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Data\": {\r\n \"title\": \"The Error Data\",\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"LevelMessage\": {\r\n \"title\": \"The Error level\",\r\n \"type\": \"string\"\r\n },\r\n \"statusCode\": {\r\n \"title\": \"The Error Status Code\",\r\n \"type\": \"integer\"\r\n },\r\n \"ErrNumber\": {\r\n \"title\": \"The Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Message\": {\r\n \"title\": \"The Error Message\",\r\n \"type\": \"string\"\r\n },\r\n \"State\": {\r\n \"title\": \"The Error State\",\r\n \"type\": \"string\"\r\n },\r\n \"HelpLink\": {\r\n \"title\": \"The Help Link\",\r\n \"type\": \"string\"\r\n },\r\n \"errNumberReason\": {\r\n \"title\": \"The initial Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Data\": {\r\n \"title\": \"The Data Schema\",\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"LevelMessage\": {\r\n \"title\": \"The Error level\",\r\n \"type\": \"string\"\r\n },\r\n \"statusCode\": {\r\n \"title\": \"The Error Status Code\",\r\n \"type\": \"integer\"\r\n },\r\n \"ErrNumber\": {\r\n \"title\": \"The Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Message\": {\r\n \"title\": \"The Error Message\",\r\n \"type\": \"string\"\r\n },\r\n \"State\": {\r\n \"title\": \"The Error State\",\r\n \"type\": \"string\"\r\n },\r\n \"HelpLink\": {\r\n \"title\": \"The Help Link\",\r\n \"type\": \"string\"\r\n },\r\n \"errNumberReason\": {\r\n \"title\": \"The initial Error Number\",\r\n \"type\": \"string\"\r\n }\r\n }\r\n },\r\n \"ResolveUrl\": {\r\n \"title\": \"The Resolve Url Link\",\r\n \"type\": \"string\"\r\n }\r\n }\r\n },\r\n \"ResolveUrl\": {\r\n \"title\": \"The Resolve Url Link\",\r\n \"type\": \"string\"\r\n },\r\n \"extraData\": {\r\n \"title\": \"The Error Extra Data \",\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"operationDuration\": {\r\n \"title\": \"The Operation Duration\",\r\n \"type\": \"integer\"\r\n }\r\n }\r\n }\r\n },\r\n \"title\": \"ErrorResponse\"\r\n }\r\n }\r\n}", "isNativeDefinition": false }, { "name": "ExceptionExtensions", "definition": "public static class ExceptionExtensions\r\n {\r\n internal enum ReasonCodes\r\n {\r\n ServiceAccessError = 0x1,\r\n UnderConstruction = 0x64,\r\n PreventiveStop = 0X65\r\n }\r\n\r\n class BaseSqlExceptionModel\r\n {\r\n public int LevelMessage { get; set; }\r\n public int ErrNumber { get; set; }\r\n public int ErrNumberReason { get; set; }\r\n public long State { get; set; }\r\n public string HelpLink { get; set; }\r\n public string ResolveUrl { get; set; }\r\n public int? Number { get; set; }\r\n public string Message { get; set; }\r\n public BaseSqlExceptionModel Data { get; set; }\r\n\r\n public Error ToError(string statusArg = null)\r\n {\r\n return new Error()\r\n {\r\n code = (ErrNumber > 0) ? ErrNumber.ToString() : Number.GetValueOrDefault().ToString(),\r\n message = this.Message,\r\n reason = ErrNumberReason.ToString(),\r\n referenceError = ResolveUrl,\r\n status = statusArg\r\n };\r\n }\r\n }\r\n\r\n #region [const]\r\n private const int DeadlockErrorNumber = 1205;\r\n private const int LockingErrorNumber = 1222;\r\n private const int UpdateConflictErrorNumber = 3960;\r\n //для ретрай - функционала\r\n private const int TimeoutExpiredErrorNumber = -2;\r\n private const int CouldNotOpenConnectionErrorNumber = 53;\r\n private const int TransportFailErrorNumber = 121;\r\n //вот тут не надо ретрай\r\n private const int HandledDeadlockErrorNumber = 50999;\r\n private const int SQLErrorNumber = 50000;\r\n\r\n public static IEnumerable<int> DeadLockFeatures\r\n {\r\n get\r\n {\r\n yield return DeadlockErrorNumber;\r\n yield return LockingErrorNumber;\r\n yield return UpdateConflictErrorNumber;\r\n yield break;\r\n }\r\n }\r\n\r\n public static IEnumerable<int> RetryNeededFeatures\r\n {\r\n get\r\n {\r\n yield return DeadlockErrorNumber;\r\n //yield return TimeoutExpiredErrorNumber;\r\n yield return CouldNotOpenConnectionErrorNumber;\r\n yield return TransportFailErrorNumber;\r\n yield break;\r\n }\r\n }\r\n\r\n #endregion\r\n\r\n public static Error GetError(this Exception exception, string statusCode)\r\n {\r\n if (exception is SqlException sqlException)\r\n return sqlException.GetError();\r\n else\r\n if (exception is WorkflowInvokeActionException)\r\n {\r\n if(exception.InnerException is SqlException innerSqlException)\r\n return innerSqlException.GetError();\r\n return new Error()\r\n {\r\n code = exception?.InnerException?.HResult.ToString(),\r\n message = $\"{exception.Message} : {exception.InnerException?.Message}\",\r\n reason = exception?.InnerException?.GetType().Name,\r\n referenceError = null,\r\n status = statusCode\r\n };\r\n }\r\n else\r\n return new Error()\r\n {\r\n code = exception.HResult.ToString(),\r\n message = exception.Message,\r\n reason = exception.GetType().Name,\r\n referenceError = null,\r\n status = statusCode\r\n };\r\n }\r\n public static Error GetError(this SqlException sqlException)\r\n {\r\n BaseSqlExceptionModel errorModel = null;\r\n int actualStatusCode = 500;\r\n\r\n #region [Deadlock]\r\n if (sqlException.Number == ExceptionExtensions.HandledDeadlockErrorNumber)\r\n {\r\n return new Error()\r\n {\r\n code = sqlException.Number.ToString(), //RequestTimeout\r\n message = $\"Request timeout - retry operation should be used\",\r\n reason = \"RequestTimeout\",\r\n referenceError = null,\r\n status = \"408\"\r\n };\r\n }\r\n\r\n #endregion\r\n\r\n try\r\n {\r\n var sqlExceptionMessage = sqlException.Errors.Cast<SqlError>()\r\n .Where(se => (se.Class > 0) &&\r\n (se.Message.Trim().StartsWith(\"{\")) &&\r\n (se.Message.Trim().EndsWith(\"}\"))).\r\n Select(se => se.Message).\r\n FirstOrDefault();\r\n errorModel = JsonConvert.DeserializeObject<BaseSqlExceptionModel>(sqlExceptionMessage);\r\n }\r\n catch (Exception) { }\r\n\r\n if (errorModel != null)\r\n {\r\n errorModel.Number = sqlException.Number;\r\n\r\n var resultErrorModel = errorModel.ToError(\"500\");\r\n\r\n if (errorModel.ErrNumber == ExceptionExtensions.HandledDeadlockErrorNumber)\r\n {\r\n resultErrorModel.status = \"408\";\r\n resultErrorModel.reason = \"RequestTimeout\";\r\n }\r\n return resultErrorModel;\r\n }\r\n\r\n actualStatusCode = ResolveActualStatusCode(sqlException);\r\n\r\n var result = new Error()\r\n {\r\n code = sqlException.Number.ToString(),\r\n message = sqlException.Message,\r\n referenceError = null,\r\n status = actualStatusCode.ToString()\r\n };\r\n if (actualStatusCode == 500)\r\n {\r\n result.reason = \"Internal Server Error\";\r\n }\r\n else\r\n if (actualStatusCode == 503)\r\n {\r\n result.reason = \"Service Unavailable\";\r\n }\r\n else\r\n {\r\n result.reason = \"Service Unavailable\";\r\n }\r\n return result;\r\n }\r\n private static int ResolveActualStatusCode(SqlException sqlException)\r\n {\r\n int actualStatusCode = 500;\r\n //Ошибка 503 - TimeoutExpiredErrorNumber ИЛИ Количество ретраев исчерпано и НЕ DeadLockFeatures\r\n //Ошибка 408 - DeadLockFeatures И Количество ретраев исчерпано\r\n //пс. этот код в принципе будет выполняться только после исчерпания попыток\r\n //если дедлок\r\n if (sqlException.IsDeadLockException())\r\n return 408;\r\n else\r\n if (sqlException.Number == TimeoutExpiredErrorNumber) // Истекло время ожидание \r\n return 503;\r\n else\r\n if (sqlException.Number == 50101 || sqlException.Number == 50100 || sqlException.Number == 50182)\t// Значит, что произошла не фатальная ошибка.\r\n {\r\n }\r\n else\r\n if ((sqlException.Class >= 12 && sqlException.Class <= 14) || (sqlException.Class >= 18 && sqlException.Class <= 24))\t// Значит, что произошла ошибка, из-за которой соединение разорвано. Ощибки с классом 17 - обработаннЫе нами\r\n {\r\n return 503;\r\n }\r\n else\r\n if (sqlException.Class == 11 || sqlException.Class == 15 || sqlException.Class == 16)\t// Значит, что произошла ошибка.\r\n {\r\n return 503;\r\n }\r\n else\r\n if (sqlException.Number >= 0 && sqlException.Number <= 10)\t// Значит, что произошла не фатальная ошибка.\r\n {\r\n }\r\n else\r\n if (sqlException.Number >= 0 && sqlException.Number <= 24)\r\n {\r\n }\r\n return actualStatusCode;\r\n }\r\n\r\n #region [IsDeadLock]\r\n public static bool IsDeadLockException(this SqlException exception)\r\n {\r\n if (exception == null)\r\n return false;\r\n else\r\n return DeadLockFeatures.Contains(exception.Number) ||\r\n exception.Errors.IsDeadLockException();\r\n }\r\n\r\n public static bool IsDeadLockException(this SqlError error)\r\n {\r\n if (error == null)\r\n return false;\r\n else\r\n return DeadLockFeatures.Contains(error.Number);\r\n }\r\n\r\n public static bool IsDeadLockException(this SqlErrorCollection sqlErrorCollection)\r\n {\r\n if (sqlErrorCollection == null)\r\n return false;\r\n else\r\n return sqlErrorCollection.Cast<SqlError>().Any(error => error.IsDeadLockException());\r\n }\r\n #endregion\r\n\r\n #region [IsRetryNeeded]\r\n public static bool IsRetryNeeded(this SqlException exception)\r\n {\r\n if (exception == null)\r\n return false;\r\n else\r\n return RetryNeededFeatures.Contains(exception.Number) ||\r\n exception.Errors.IsRetryNeeded();\r\n }\r\n\r\n public static bool IsRetryNeeded(this SqlError error)\r\n {\r\n if (error == null)\r\n return false;\r\n else\r\n return RetryNeededFeatures.Contains(error.Number);\r\n }\r\n\r\n public static bool IsRetryNeeded(this SqlErrorCollection sqlErrorCollection)\r\n {\r\n if (sqlErrorCollection == null)\r\n return false;\r\n else\r\n return sqlErrorCollection.Cast<SqlError>().Any(error => error.IsRetryNeeded());\r\n }\r\n #endregion\r\n }", "isNativeDefinition": true }, { "name": "Extensible", "definition": "/// <summary>\r\n/// Base Extensible schema for use in TMForum Open-APIs - When used for in a schema it means that the Entity described by the schema MUST be extended with the @type\r\n/// </summary>\r\npublic sealed class Extensible\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Extensible_FVO", "definition": "/// <summary>\r\n/// Base Extensible schema for use in TMForum Open-APIs - When used for in a schema it means that the Entity described by the schema MUST be extended with the @type\r\n/// </summary>\r\npublic sealed class Extensible_FVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Extensible_MVO", "definition": "/// <summary>\r\n/// Base Extensible schema for use in TMForum Open-APIs - When used for in a schema it means that the Entity described by the schema MUST be extended with the @type\r\n/// </summary>\r\npublic sealed class Extensible_MVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Feature", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class Feature\r\n{\r\n \r\n private string _type;\r\n \r\n private string _id;\r\n \r\n private System.Boolean? _isEnabled;\r\n \r\n private string _name;\r\n \r\n private Characteristic[] _featureCharacteristic;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private System.Boolean? _isBundle;\r\n \r\n private FeatureRelationship[] _featureRelationship;\r\n \r\n private ConstraintRef[] _constraint;\r\n \r\n /// <summary>\r\n /// The @type attribute represents the actual class type of an entity. LOV: An Attribute Format value of the Object\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Unique identifier of an instantiated feature to keep track of their state. LOV: Value of Feature Code, provided by BSS template\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A State of Service's Feature. LOV: True if this feature is enabled\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"isEnabled\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Boolean? isEnabled\r\n {\r\n get\r\n {\r\n return this._isEnabled;\r\n }\r\n set\r\n {\r\n this._isEnabled = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of Customer Facing Service to keep track of their state and changes. LOV: Value, provided by BSS template\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A list of Characteristics for a particular feature (a TariffPackage Service's configuration). LOV: A List of object\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"featureCharacteristic\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public Characteristic[] featureCharacteristic\r\n {\r\n get\r\n {\r\n return this._featureCharacteristic;\r\n }\r\n set\r\n {\r\n this._featureCharacteristic = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// True if this is a feature group. Default is false.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"isBundle\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Boolean? isBundle\r\n {\r\n get\r\n {\r\n return this._isBundle;\r\n }\r\n set\r\n {\r\n this._isBundle = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"featureRelationship\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public FeatureRelationship[] featureRelationship\r\n {\r\n get\r\n {\r\n return this._featureRelationship;\r\n }\r\n set\r\n {\r\n this._featureRelationship = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// This is a list of feature constraints.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"constraint\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ConstraintRef[] constraint\r\n {\r\n get\r\n {\r\n return this._constraint;\r\n }\r\n set\r\n {\r\n this._constraint = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Feature_FVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class Feature_FVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private System.Boolean? _isBundle;\r\n \r\n private FeatureRelationship_FVO[] _featureRelationship;\r\n \r\n private Characteristic_FVO[] _featureCharacteristic;\r\n \r\n private ConstraintRef_FVO[] _constraint;\r\n \r\n private System.Boolean? _isEnabled;\r\n \r\n private string _id;\r\n \r\n private string _name;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// True if this is a feature group. Default is false.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"isBundle\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Boolean? isBundle\r\n {\r\n get\r\n {\r\n return this._isBundle;\r\n }\r\n set\r\n {\r\n this._isBundle = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"featureRelationship\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public FeatureRelationship_FVO[] featureRelationship\r\n {\r\n get\r\n {\r\n return this._featureRelationship;\r\n }\r\n set\r\n {\r\n this._featureRelationship = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// This is a list of Characteristics for a particular feature.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"featureCharacteristic\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public Characteristic_FVO[] featureCharacteristic\r\n {\r\n get\r\n {\r\n return this._featureCharacteristic;\r\n }\r\n set\r\n {\r\n this._featureCharacteristic = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// This is a list of feature constraints.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"constraint\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ConstraintRef_FVO[] constraint\r\n {\r\n get\r\n {\r\n return this._constraint;\r\n }\r\n set\r\n {\r\n this._constraint = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// True if this feature is enabled. Default is true.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"isEnabled\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Boolean? isEnabled\r\n {\r\n get\r\n {\r\n return this._isEnabled;\r\n }\r\n set\r\n {\r\n this._isEnabled = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// unique identifier\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// This is the name for the feature.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Feature_MVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class Feature_MVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private System.Boolean? _isBundle;\r\n \r\n private FeatureRelationship_MVO[] _featureRelationship;\r\n \r\n private Characteristic_MVO[] _featureCharacteristic;\r\n \r\n private ConstraintRef_MVO[] _constraint;\r\n \r\n private System.Boolean? _isEnabled;\r\n \r\n private string _id;\r\n \r\n private string _name;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// True if this is a feature group. Default is false.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"isBundle\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Boolean? isBundle\r\n {\r\n get\r\n {\r\n return this._isBundle;\r\n }\r\n set\r\n {\r\n this._isBundle = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"featureRelationship\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public FeatureRelationship_MVO[] featureRelationship\r\n {\r\n get\r\n {\r\n return this._featureRelationship;\r\n }\r\n set\r\n {\r\n this._featureRelationship = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// This is a list of Characteristics for a particular feature.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"featureCharacteristic\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public Characteristic_MVO[] featureCharacteristic\r\n {\r\n get\r\n {\r\n return this._featureCharacteristic;\r\n }\r\n set\r\n {\r\n this._featureCharacteristic = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// This is a list of feature constraints.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"constraint\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ConstraintRef_MVO[] constraint\r\n {\r\n get\r\n {\r\n return this._constraint;\r\n }\r\n set\r\n {\r\n this._constraint = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// True if this feature is enabled. Default is true.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"isEnabled\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Boolean? isEnabled\r\n {\r\n get\r\n {\r\n return this._isEnabled;\r\n }\r\n set\r\n {\r\n this._isEnabled = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// unique identifier\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// This is the name for the feature.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "FeatureRelationship", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class FeatureRelationship\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _href;\r\n \r\n private string _id;\r\n \r\n private string _relationshipType;\r\n \r\n private string _name;\r\n \r\n private TimePeriod _validFor;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// unique identifier\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// This is the type of the feature relationship.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"relationshipType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string relationshipType\r\n {\r\n get\r\n {\r\n return this._relationshipType;\r\n }\r\n set\r\n {\r\n this._relationshipType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// This is the name of the target feature.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A period of time, either as a deadline (endDateTime only) a startDateTime only, or both\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"validFor\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public TimePeriod validFor\r\n {\r\n get\r\n {\r\n return this._validFor;\r\n }\r\n set\r\n {\r\n this._validFor = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "FeatureRelationship_FVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class FeatureRelationship_FVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _href;\r\n \r\n private string _id;\r\n \r\n private string _relationshipType;\r\n \r\n private string _name;\r\n \r\n private TimePeriod _validFor;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// unique identifier\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// This is the type of the feature relationship.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"relationshipType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string relationshipType\r\n {\r\n get\r\n {\r\n return this._relationshipType;\r\n }\r\n set\r\n {\r\n this._relationshipType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// This is the name of the target feature.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A period of time, either as a deadline (endDateTime only) a startDateTime only, or both\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"validFor\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public TimePeriod validFor\r\n {\r\n get\r\n {\r\n return this._validFor;\r\n }\r\n set\r\n {\r\n this._validFor = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "FeatureRelationship_MVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class FeatureRelationship_MVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _href;\r\n \r\n private string _relationshipType;\r\n \r\n private string _id;\r\n \r\n private string _name;\r\n \r\n private TimePeriod _validFor;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// This is the type of the feature relationship.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"relationshipType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string relationshipType\r\n {\r\n get\r\n {\r\n return this._relationshipType;\r\n }\r\n set\r\n {\r\n this._relationshipType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Unique identifier of the target feature.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// This is the name of the target feature.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A period of time, either as a deadline (endDateTime only) a startDateTime only, or both\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"validFor\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public TimePeriod validFor\r\n {\r\n get\r\n {\r\n return this._validFor;\r\n }\r\n set\r\n {\r\n this._validFor = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "HttpConfig", "definition": "{\r\n \"$schema\":\"http://natec.tech/simpleschema\",\r\n \"$ref\":\"#/definitions/HttpConfig\",\r\n \"definitions\":{\r\n \"HttpConfig\":{\r\n \"type\":\"object\",\r\n \"properties\":{\r\n \"host\":{\r\n \"type\":\"string\"\r\n },\r\n \"port\":{\r\n \"type\":\"string\"\r\n },\r\n \"login\":{\r\n \"type\":\"string\"\r\n },\r\n \"password\":{\r\n \"type\":\"string\"\r\n },\r\n \"encoding\":{\r\n \"type\":\"string\"\r\n },\r\n \"headers\":{\r\n \"type\":\"StringDictionary<string, string>\"\r\n }\r\n },\r\n \"required\": [\"host\", \"encoding\", \"headers\"],\r\n \"title\":\"HttpConfig\"\r\n }\r\n }\r\n}", "isNativeDefinition": false }, { "name": "Note", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class Note\r\n{\r\n \r\n private string _type;\r\n \r\n private string _author;\r\n \r\n private string _hostname;\r\n \r\n private string _text;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private System.DateTime? _date;\r\n \r\n /// <summary>\r\n /// The @type attribute represents the actual class type of an entity. LOV: An Attribute Format value of the Object\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Author of this change. LOV: Username - user from the context, NULL - if unknown\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"author\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string author\r\n {\r\n get\r\n {\r\n return this._author;\r\n }\r\n set\r\n {\r\n this._author = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// hostname of this change. LOV: origin hostname or IP-address\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"hostname\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string hostname\r\n {\r\n get\r\n {\r\n return this._hostname;\r\n }\r\n set\r\n {\r\n this._hostname = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Comment for this change. LOV: String value greater than or equal to 10 characters\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"text\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string text\r\n {\r\n get\r\n {\r\n return this._text;\r\n }\r\n set\r\n {\r\n this._text = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Date of the note\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"date\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? date\r\n {\r\n get\r\n {\r\n return this._date;\r\n }\r\n set\r\n {\r\n this._date = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Note_FVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class Note_FVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _author;\r\n \r\n private System.DateTime? _date;\r\n \r\n private string _text;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Author of the note\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"author\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string author\r\n {\r\n get\r\n {\r\n return this._author;\r\n }\r\n set\r\n {\r\n this._author = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Date of the note\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"date\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? date\r\n {\r\n get\r\n {\r\n return this._date;\r\n }\r\n set\r\n {\r\n this._date = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Text of the note\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"text\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string text\r\n {\r\n get\r\n {\r\n return this._text;\r\n }\r\n set\r\n {\r\n this._text = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Note_MVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class Note_MVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _author;\r\n \r\n private System.DateTime? _date;\r\n \r\n private string _text;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Author of the note\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"author\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string author\r\n {\r\n get\r\n {\r\n return this._author;\r\n }\r\n set\r\n {\r\n this._author = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Date of the note\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"date\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? date\r\n {\r\n get\r\n {\r\n return this._date;\r\n }\r\n set\r\n {\r\n this._date = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Text of the note\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"text\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string text\r\n {\r\n get\r\n {\r\n return this._text;\r\n }\r\n set\r\n {\r\n this._text = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "OrderItemActionType", "definition": "/// <summary>\r\n/// action to be performed on the product\r\n/// </summary>\r\npublic sealed class OrderItemActionType\r\n{\r\n}\r\n", "isNativeDefinition": true }, { "name": "Reference", "definition": "/// <summary>\r\n/// Reference schema .\r\n/// </summary>\r\npublic sealed class Reference\r\n{\r\n \r\n private string _id;\r\n \r\n private string _name;\r\n \r\n private string _referredType;\r\n \r\n /// <summary>\r\n /// Identifier of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Reference_FVO", "definition": "/// <summary>\r\n/// Reference schema .\r\n/// </summary>\r\npublic sealed class Reference_FVO\r\n{\r\n \r\n private string _id;\r\n \r\n private string _name;\r\n \r\n private string _referredType;\r\n \r\n /// <summary>\r\n /// Identifier of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Reference_MVO", "definition": "/// <summary>\r\n/// Reference schema .\r\n/// </summary>\r\npublic sealed class Reference_MVO\r\n{\r\n \r\n private string _id;\r\n \r\n private string _name;\r\n \r\n private string _referredType;\r\n \r\n /// <summary>\r\n /// Identifier of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "RelatedEntityRefOrValue_FVO", "definition": "/// <summary>\r\n/// A reference to an entity, where the type of the entity is not known in advance. A related entity defines a entity described by reference or by value linked to a specific entity. The polymorphic attributes @type, @schemaLocation @referredType are related to the Entity and not the RelatedEntityRefOrValue class itself\r\n/// </summary>\r\npublic sealed class RelatedEntityRefOrValue_FVO\r\n{\r\n}\r\n", "isNativeDefinition": true }, { "name": "RelatedEntityRefOrValue_MVO", "definition": "/// <summary>\r\n/// A reference to an entity, where the type of the entity is not known in advance. A related entity defines a entity described by reference or by value linked to a specific entity. The polymorphic attributes @type, @schemaLocation @referredType are related to the Entity and not the RelatedEntityRefOrValue class itself\r\n/// </summary>\r\npublic sealed class RelatedEntityRefOrValue_MVO\r\n{\r\n}\r\n", "isNativeDefinition": true }, { "name": "RelatedParty", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class RelatedParty\r\n{\r\n \r\n private string _id;\r\n \r\n private System.Int32? _iDType;\r\n \r\n private string _referredType;\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _href;\r\n \r\n private string _name;\r\n \r\n private string _role;\r\n \r\n /// <summary>\r\n /// Entity identifier. LOV: IDType depended identifier value\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Sign of passing an external ID value. LOV: 1 - external ID, 0 - internal ID\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"IDType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? IDType\r\n {\r\n get\r\n {\r\n return this._iDType;\r\n }\r\n set\r\n {\r\n this._iDType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// An Entity name, available as a Related Party. LOV: supported value is \"Customers\"\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The @type attribute represents the actual class type of an entity. LOV: An Attribute Format value of the Object\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Role played by the related party\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"role\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string role\r\n {\r\n get\r\n {\r\n return this._role;\r\n }\r\n set\r\n {\r\n this._role = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "RelatedParty_FVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class RelatedParty_FVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _href;\r\n \r\n private string _id;\r\n \r\n private string _name;\r\n \r\n private string _referredType;\r\n \r\n private string _role;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Identifier of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Role played by the related party\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"role\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string role\r\n {\r\n get\r\n {\r\n return this._role;\r\n }\r\n set\r\n {\r\n this._role = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "RelatedParty_MVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class RelatedParty_MVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _href;\r\n \r\n private string _id;\r\n \r\n private string _name;\r\n \r\n private string _referredType;\r\n \r\n private string _role;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Identifier of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Role played by the related party\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"role\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string role\r\n {\r\n get\r\n {\r\n return this._role;\r\n }\r\n set\r\n {\r\n this._role = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "RelatedPlaceRefOrValue_FVO", "definition": "/// <summary>\r\n/// Related Entity reference. A related place defines a place described by reference or by value linked to a specific entity. The polymorphic attributes @type, @schemaLocation @referredType are related to the place entity and not the RelatedPlaceRefOrValue class itself\r\n/// </summary>\r\npublic sealed class RelatedPlaceRefOrValue_FVO\r\n{\r\n}\r\n", "isNativeDefinition": true }, { "name": "RelatedPlaceRefOrValue_MVO", "definition": "/// <summary>\r\n/// Related Entity reference. A related place defines a place described by reference or by value linked to a specific entity. The polymorphic attributes @type, @schemaLocation @referredType are related to the place entity and not the RelatedPlaceRefOrValue class itself\r\n/// </summary>\r\npublic sealed class RelatedPlaceRefOrValue_MVO\r\n{\r\n}\r\n", "isNativeDefinition": true }, { "name": "RelatedServiceOrderItem", "definition": "/// <summary>\r\n/// RelatedServiceOrderItem (a ServiceOrder item) .The service order item which triggered service creation/change/termination.\r\n/// </summary>\r\npublic sealed class RelatedServiceOrderItem\r\n{\r\n \r\n private string _referredType;\r\n \r\n private string _serviceOrderHref;\r\n \r\n private string _serviceOrderId;\r\n \r\n private string _itemAction;\r\n \r\n private string _itemId;\r\n \r\n private string _role;\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Reference of the related entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"serviceOrderHref\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string serviceOrderHref\r\n {\r\n get\r\n {\r\n return this._serviceOrderHref;\r\n }\r\n set\r\n {\r\n this._serviceOrderHref = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Unique identifier of a related entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"serviceOrderId\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string serviceOrderId\r\n {\r\n get\r\n {\r\n return this._serviceOrderId;\r\n }\r\n set\r\n {\r\n this._serviceOrderId = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// action to be performed on the product\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"itemAction\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string itemAction\r\n {\r\n get\r\n {\r\n return this._itemAction;\r\n }\r\n set\r\n {\r\n this._itemAction = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Identifier of the order item where the service was managed\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"itemId\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string itemId\r\n {\r\n get\r\n {\r\n return this._itemId;\r\n }\r\n set\r\n {\r\n this._itemId = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// role of the service order item for this service\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"role\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string role\r\n {\r\n get\r\n {\r\n return this._role;\r\n }\r\n set\r\n {\r\n this._role = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ResourceRef_FVO", "definition": "/// <summary>\r\n/// Resource reference, for when Resource is used by other entities.\r\n/// </summary>\r\npublic sealed class ResourceRef_FVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _href;\r\n \r\n private string _id;\r\n \r\n private string _name;\r\n \r\n private string _referredType;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Identifier of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ResourceRef_MVO", "definition": "/// <summary>\r\n/// Resource reference, for when Resource is used by other entities.\r\n/// </summary>\r\npublic sealed class ResourceRef_MVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _href;\r\n \r\n private string _id;\r\n \r\n private string _name;\r\n \r\n private string _referredType;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Identifier of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Service_FVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class Service_FVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _description;\r\n \r\n private Feature[] _feature;\r\n \r\n private System.Boolean? _hasStarted;\r\n \r\n private System.Boolean? _isServiceEnabled;\r\n \r\n private Characteristic[] _serviceCharacteristic;\r\n \r\n private System.DateTime? _serviceDate;\r\n \r\n private System.DateTime? _startDate;\r\n \r\n private ServiceReforValue[] _supportingService;\r\n \r\n private string _format;\r\n \r\n private string _accept_Language;\r\n \r\n private string _state;\r\n \r\n private string _category;\r\n \r\n private Note[] _note;\r\n \r\n private RelatedParty[] _relatedParty;\r\n \r\n private string _x_ms_client_request_id;\r\n \r\n private string _id;\r\n \r\n private ServiceSpecification _serviceSpecification;\r\n \r\n private System.DateTime? _endDate;\r\n \r\n private string _startMode;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _href;\r\n \r\n private System.Boolean? _isStateful;\r\n \r\n private RelatedServiceOrderItem[] _serviceOrderItem;\r\n \r\n private string _serviceType;\r\n \r\n private System.Boolean? _isBundle;\r\n \r\n private string _name;\r\n \r\n private RelatedEntityRefOrValue_FVO[] _relatedEntity;\r\n \r\n private ServiceRelationship_FVO[] _serviceRelationship;\r\n \r\n private ResourceRef_FVO[] _supportingResource;\r\n \r\n private RelatedPlaceRefOrValue_FVO[] _place;\r\n \r\n /// <summary>\r\n /// The @type attribute represents the actual class type of an entity. LOV: supported value is \"Service\"\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [FromRoute(Name=\"@type\")]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Comment for this change\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"description\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string description\r\n {\r\n get\r\n {\r\n return this._description;\r\n }\r\n set\r\n {\r\n this._description = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A list of feature associated with this service. LOV: A List of object\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"feature\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public Feature[] feature\r\n {\r\n get\r\n {\r\n return this._feature;\r\n }\r\n set\r\n {\r\n this._feature = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// An Activation state of Service. LOV: If TRUE, this Service has already been started\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"hasStarted\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Boolean? hasStarted\r\n {\r\n get\r\n {\r\n return this._hasStarted;\r\n }\r\n set\r\n {\r\n this._hasStarted = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A current State of Service. LOV: If FALSE and hasStarted is FALSE, this particular Service has NOT been enabled for use - if FALSE and hasStarted is TRUE then the service has disabled\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"isServiceEnabled\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Boolean? isServiceEnabled\r\n {\r\n get\r\n {\r\n return this._isServiceEnabled;\r\n }\r\n set\r\n {\r\n this._isServiceEnabled = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A list of characteristics that characterize the Customer Facing Service (ServiceCharacteristic [*]). LOV: A List of object\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"serviceCharacteristic\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public Characteristic[] serviceCharacteristic\r\n {\r\n get\r\n {\r\n return this._serviceCharacteristic;\r\n }\r\n set\r\n {\r\n this._serviceCharacteristic = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Date when the service was created (whatever its status)\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"serviceDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? serviceDate\r\n {\r\n get\r\n {\r\n return this._serviceDate;\r\n }\r\n set\r\n {\r\n this._serviceDate = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Date when the service starts. LOV: Date without time, effective from 0:00\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"startDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? startDate\r\n {\r\n get\r\n {\r\n return this._startDate;\r\n }\r\n set\r\n {\r\n this._startDate = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A list of supporting Resource Facing Services (SupportingService [*]), is used to link CFS to RFS. LOV: A List of object\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"supportingService\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ServiceReforValue[] supportingService\r\n {\r\n get\r\n {\r\n return this._supportingService;\r\n }\r\n set\r\n {\r\n this._supportingService = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Error output format. LOV: supported value is json\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"format\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [FromRoute(Name=\"format\")]\r\n public string format\r\n {\r\n get\r\n {\r\n return this._format;\r\n }\r\n set\r\n {\r\n this._format = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Specifying a language for a multi-language dataset. LOV: supported value are en-English, uk-Ukrainian, ru-russian\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"Accept-Language\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [FromHeader(Name=\"Accept-Language\")]\r\n public string Accept_Language\r\n {\r\n get\r\n {\r\n return this._accept_Language;\r\n }\r\n set\r\n {\r\n this._accept_Language = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A current state of the Customer Facing Service. LOV: activ, synced, temp, close\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"state\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string state\r\n {\r\n get\r\n {\r\n return this._state;\r\n }\r\n set\r\n {\r\n this._state = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// unique code for the Customer Facing Service category (service's network code). LOV: value, provided by BSS template\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"category\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string category\r\n {\r\n get\r\n {\r\n return this._category;\r\n }\r\n set\r\n {\r\n this._category = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Structure for logging changes. LOV: A List of object\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"note\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public Note[] note\r\n {\r\n get\r\n {\r\n return this._note;\r\n }\r\n set\r\n {\r\n this._note = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A Related Party for this operation. LOV: A List of object\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"relatedParty\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public RelatedParty[] relatedParty\r\n {\r\n get\r\n {\r\n return this._relatedParty;\r\n }\r\n set\r\n {\r\n this._relatedParty = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A unique identifier for the search request, used for the GET operation.. LOV: generally a GUID value\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"x-ms-client-request-id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [FromHeader(Name=\"x-ms-client-request-id\")]\r\n public string x_ms_client_request_id\r\n {\r\n get\r\n {\r\n return this._x_ms_client_request_id;\r\n }\r\n set\r\n {\r\n this._x_ms_client_request_id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Unique identifier of the Customer Facing Service to keep track of their state and changes. LOV: String identifier in the format 'Prefix-Number', where Pefix is '01' for Customer Facing Service\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A Service Specification characteristic. LOV: An object\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"serviceSpecification\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ServiceSpecification serviceSpecification\r\n {\r\n get\r\n {\r\n return this._serviceSpecification;\r\n }\r\n set\r\n {\r\n this._serviceSpecification = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// No description\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"endDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? endDate\r\n {\r\n get\r\n {\r\n return this._endDate;\r\n }\r\n set\r\n {\r\n this._endDate = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// No description\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"startMode\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string startMode\r\n {\r\n get\r\n {\r\n return this._startMode;\r\n }\r\n set\r\n {\r\n this._startMode = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// If TRUE, this Service can be changed without affecting any other services\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"isStateful\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Boolean? isStateful\r\n {\r\n get\r\n {\r\n return this._isStateful;\r\n }\r\n set\r\n {\r\n this._isStateful = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A list of service order items related to this service\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"serviceOrderItem\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public RelatedServiceOrderItem[] serviceOrderItem\r\n {\r\n get\r\n {\r\n return this._serviceOrderItem;\r\n }\r\n set\r\n {\r\n this._serviceOrderItem = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Business type of the service\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"serviceType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string serviceType\r\n {\r\n get\r\n {\r\n return this._serviceType;\r\n }\r\n set\r\n {\r\n this._serviceType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// If true, the service is a ServiceBundle which regroup a service hierachy. If false, the service is a 'atomic' service (hierachy leaf).\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"isBundle\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Boolean? isBundle\r\n {\r\n get\r\n {\r\n return this._isBundle;\r\n }\r\n set\r\n {\r\n this._isBundle = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the service\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A list of related entities in relationship with this service\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"relatedEntity\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public RelatedEntityRefOrValue_FVO[] relatedEntity\r\n {\r\n get\r\n {\r\n return this._relatedEntity;\r\n }\r\n set\r\n {\r\n this._relatedEntity = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A list of service relationships (ServiceRelationship [*]). Describes links with other service(s) in the inventory.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"serviceRelationship\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ServiceRelationship_FVO[] serviceRelationship\r\n {\r\n get\r\n {\r\n return this._serviceRelationship;\r\n }\r\n set\r\n {\r\n this._serviceRelationship = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A list of supporting resources (SupportingResource [*]).Note: only Service of type RFS can be associated with Resources\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"supportingResource\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ResourceRef_FVO[] supportingResource\r\n {\r\n get\r\n {\r\n return this._supportingResource;\r\n }\r\n set\r\n {\r\n this._supportingResource = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A list of places (Place [*]). Used to define a place useful for the service (for example a geographical place whre the service is installed)\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"place\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public RelatedPlaceRefOrValue_FVO[] place\r\n {\r\n get\r\n {\r\n return this._place;\r\n }\r\n set\r\n {\r\n this._place = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Service_MVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class Service_MVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _description;\r\n \r\n private Feature[] _feature;\r\n \r\n private System.Boolean? _hasStarted;\r\n \r\n private System.Boolean? _isServiceEnabled;\r\n \r\n private Characteristic[] _serviceCharacteristic;\r\n \r\n private System.DateTime? _serviceDate;\r\n \r\n private System.DateTime? _startDate;\r\n \r\n private ServiceReforValue[] _supportingService;\r\n \r\n private string _format;\r\n \r\n private string _accept_Language;\r\n \r\n private string _state;\r\n \r\n private string _category;\r\n \r\n private Note[] _note;\r\n \r\n private RelatedParty[] _relatedParty;\r\n \r\n private string _x_ms_client_request_id;\r\n \r\n private string _id;\r\n \r\n private ServiceSpecification _serviceSpecification;\r\n \r\n private System.DateTime? _endDate;\r\n \r\n private string _startMode;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _href;\r\n \r\n private System.Boolean? _isStateful;\r\n \r\n private RelatedServiceOrderItem[] _serviceOrderItem;\r\n \r\n private string _serviceType;\r\n \r\n private System.Boolean? _isBundle;\r\n \r\n private string _name;\r\n \r\n private RelatedEntityRefOrValue_MVO[] _relatedEntity;\r\n \r\n private ServiceRelationship_MVO[] _serviceRelationship;\r\n \r\n private ResourceRef_MVO[] _supportingResource;\r\n \r\n private RelatedPlaceRefOrValue_MVO[] _place;\r\n \r\n /// <summary>\r\n /// The @type attribute represents the actual class type of an entity. LOV: supported value is \"Service\"\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [FromRoute(Name=\"@type\")]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Comment for this change\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"description\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string description\r\n {\r\n get\r\n {\r\n return this._description;\r\n }\r\n set\r\n {\r\n this._description = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A list of feature associated with this service. LOV: A List of object\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"feature\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public Feature[] feature\r\n {\r\n get\r\n {\r\n return this._feature;\r\n }\r\n set\r\n {\r\n this._feature = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// An Activation state of Service. LOV: If TRUE, this Service has already been started\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"hasStarted\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Boolean? hasStarted\r\n {\r\n get\r\n {\r\n return this._hasStarted;\r\n }\r\n set\r\n {\r\n this._hasStarted = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A current State of Service. LOV: If FALSE and hasStarted is FALSE, this particular Service has NOT been enabled for use - if FALSE and hasStarted is TRUE then the service has disabled\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"isServiceEnabled\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Boolean? isServiceEnabled\r\n {\r\n get\r\n {\r\n return this._isServiceEnabled;\r\n }\r\n set\r\n {\r\n this._isServiceEnabled = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A list of characteristics that characterize the Customer Facing Service (ServiceCharacteristic [*]). LOV: A List of object\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"serviceCharacteristic\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public Characteristic[] serviceCharacteristic\r\n {\r\n get\r\n {\r\n return this._serviceCharacteristic;\r\n }\r\n set\r\n {\r\n this._serviceCharacteristic = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Date when the service was created (whatever its status)\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"serviceDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? serviceDate\r\n {\r\n get\r\n {\r\n return this._serviceDate;\r\n }\r\n set\r\n {\r\n this._serviceDate = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Date when the service starts. LOV: Date without time, effective from 0:00\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"startDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? startDate\r\n {\r\n get\r\n {\r\n return this._startDate;\r\n }\r\n set\r\n {\r\n this._startDate = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A list of supporting Resource Facing Services (SupportingService [*]), is used to link CFS to RFS. LOV: A List of object\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"supportingService\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ServiceReforValue[] supportingService\r\n {\r\n get\r\n {\r\n return this._supportingService;\r\n }\r\n set\r\n {\r\n this._supportingService = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Error output format. LOV: supported value is json\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"format\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [FromRoute(Name=\"format\")]\r\n public string format\r\n {\r\n get\r\n {\r\n return this._format;\r\n }\r\n set\r\n {\r\n this._format = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Specifying a language for a multi-language dataset. LOV: supported value are en-English, uk-Ukrainian, ru-russian\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"Accept-Language\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [FromHeader(Name=\"Accept-Language\")]\r\n public string Accept_Language\r\n {\r\n get\r\n {\r\n return this._accept_Language;\r\n }\r\n set\r\n {\r\n this._accept_Language = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A current state of the Customer Facing Service. LOV: activ, synced, temp, close\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"state\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string state\r\n {\r\n get\r\n {\r\n return this._state;\r\n }\r\n set\r\n {\r\n this._state = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// unique code for the Customer Facing Service category (service's network code). LOV: value, provided by BSS template\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"category\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string category\r\n {\r\n get\r\n {\r\n return this._category;\r\n }\r\n set\r\n {\r\n this._category = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Structure for logging changes. LOV: A List of object\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"note\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public Note[] note\r\n {\r\n get\r\n {\r\n return this._note;\r\n }\r\n set\r\n {\r\n this._note = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A Related Party for this operation. LOV: A List of object\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"relatedParty\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public RelatedParty[] relatedParty\r\n {\r\n get\r\n {\r\n return this._relatedParty;\r\n }\r\n set\r\n {\r\n this._relatedParty = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A unique identifier for the search request, used for the GET operation.. LOV: generally a GUID value\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"x-ms-client-request-id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [FromHeader(Name=\"x-ms-client-request-id\")]\r\n public string x_ms_client_request_id\r\n {\r\n get\r\n {\r\n return this._x_ms_client_request_id;\r\n }\r\n set\r\n {\r\n this._x_ms_client_request_id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Unique identifier of the Customer Facing Service to keep track of their state and changes. LOV: String identifier in the format 'Prefix-Number', where Pefix is '01' for Customer Facing Service\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n //\r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [FromRoute(Name=\"id\")]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A Service Specification characteristic. LOV: An object\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"serviceSpecification\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ServiceSpecification serviceSpecification\r\n {\r\n get\r\n {\r\n return this._serviceSpecification;\r\n }\r\n set\r\n {\r\n this._serviceSpecification = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// No description\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"endDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? endDate\r\n {\r\n get\r\n {\r\n return this._endDate;\r\n }\r\n set\r\n {\r\n this._endDate = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// No description\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"startMode\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string startMode\r\n {\r\n get\r\n {\r\n return this._startMode;\r\n }\r\n set\r\n {\r\n this._startMode = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// If TRUE, this Service can be changed without affecting any other services\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"isStateful\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Boolean? isStateful\r\n {\r\n get\r\n {\r\n return this._isStateful;\r\n }\r\n set\r\n {\r\n this._isStateful = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A list of service order items related to this service\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"serviceOrderItem\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public RelatedServiceOrderItem[] serviceOrderItem\r\n {\r\n get\r\n {\r\n return this._serviceOrderItem;\r\n }\r\n set\r\n {\r\n this._serviceOrderItem = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Business type of the service\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"serviceType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string serviceType\r\n {\r\n get\r\n {\r\n return this._serviceType;\r\n }\r\n set\r\n {\r\n this._serviceType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// If true, the service is a ServiceBundle which regroup a service hierachy. If false, the service is a 'atomic' service (hierachy leaf).\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"isBundle\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Boolean? isBundle\r\n {\r\n get\r\n {\r\n return this._isBundle;\r\n }\r\n set\r\n {\r\n this._isBundle = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the service\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A list of related entities in relationship with this service\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"relatedEntity\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public RelatedEntityRefOrValue_MVO[] relatedEntity\r\n {\r\n get\r\n {\r\n return this._relatedEntity;\r\n }\r\n set\r\n {\r\n this._relatedEntity = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A list of service relationships (ServiceRelationship [*]). Describes links with other service(s) in the inventory.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"serviceRelationship\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ServiceRelationship_MVO[] serviceRelationship\r\n {\r\n get\r\n {\r\n return this._serviceRelationship;\r\n }\r\n set\r\n {\r\n this._serviceRelationship = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A list of supporting resources (SupportingResource [*]).Note: only Service of type RFS can be associated with Resources\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"supportingResource\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ResourceRef_MVO[] supportingResource\r\n {\r\n get\r\n {\r\n return this._supportingResource;\r\n }\r\n set\r\n {\r\n this._supportingResource = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A list of places (Place [*]). Used to define a place useful for the service (for example a geographical place whre the service is installed)\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"place\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public RelatedPlaceRefOrValue_MVO[] place\r\n {\r\n get\r\n {\r\n return this._place;\r\n }\r\n set\r\n {\r\n this._place = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Service_Request_GET", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class Service_Request_GET\r\n{\r\n \r\n private string _category;\r\n \r\n private string _format;\r\n \r\n private Feature[] _feature;\r\n \r\n private System.Boolean? _hasStarted;\r\n \r\n private string _id;\r\n \r\n private System.Boolean? _isServiceEnabled;\r\n \r\n private string _accept_Language;\r\n \r\n private System.Int32? _offset;\r\n \r\n private System.Int32? _limit;\r\n \r\n private RelatedParty[] _relatedParty;\r\n \r\n private string _serviceCharacteristic;\r\n \r\n private System.DateTime? _serviceDate;\r\n \r\n private string _sort;\r\n \r\n private string _sortDirection;\r\n \r\n private System.DateTime? _startDate;\r\n \r\n private string _state;\r\n \r\n private string _x_ms_client_request_id;\r\n \r\n /// <summary>\r\n /// Used to categorize the order from order management system. LOV: value, provided by BSS template\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"category\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string category\r\n {\r\n get\r\n {\r\n return this._category;\r\n }\r\n set\r\n {\r\n this._category = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Error output format. LOV: supported value is json\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"format\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string format\r\n {\r\n get\r\n {\r\n return this._format;\r\n }\r\n set\r\n {\r\n this._format = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A list of feature associated with this service. LOV: A List of object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"feature\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public Feature[] feature\r\n {\r\n get\r\n {\r\n return this._feature;\r\n }\r\n set\r\n {\r\n this._feature = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// An Activation state of Service. LOV: If TRUE, this Service has already been started\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"hasStarted\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Boolean? hasStarted\r\n {\r\n get\r\n {\r\n return this._hasStarted;\r\n }\r\n set\r\n {\r\n this._hasStarted = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Unique identifier of the Customer Facing Service to keep track of their state and changes. LOV: String identifier in the format 'Prefix-Number', where Pefix is '01' for Customer Facing Service\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A current State of Service. LOV: If FALSE and hasStarted is FALSE, this particular Service has NOT been enabled for use - if FALSE and hasStarted is TRUE then the service has disabled\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"isServiceEnabled\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Boolean? isServiceEnabled\r\n {\r\n get\r\n {\r\n return this._isServiceEnabled;\r\n }\r\n set\r\n {\r\n this._isServiceEnabled = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Specifying a language for a multi-language dataset. LOV: supported value are en-English, uk-Ukrainian, ru-russian\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"Accept-Language\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string Accept_Language\r\n {\r\n get\r\n {\r\n return this._accept_Language;\r\n }\r\n set\r\n {\r\n this._accept_Language = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Requested index for start of records to be provided in response requested by client (server paging). LOV: 0 - first index\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"offset\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? offset\r\n {\r\n get\r\n {\r\n return this._offset;\r\n }\r\n set\r\n {\r\n this._offset = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Number of records per response (server paging). LOV: integer greater than zero\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"limit\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? limit\r\n {\r\n get\r\n {\r\n return this._limit;\r\n }\r\n set\r\n {\r\n this._limit = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A Related Party for this operation. LOV: A List of object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"relatedParty\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public RelatedParty[] relatedParty\r\n {\r\n get\r\n {\r\n return this._relatedParty;\r\n }\r\n set\r\n {\r\n this._relatedParty = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A list of characteristics that characterize the Customer Facing Service (ServiceCharacteristic [*]). LOV: A List of object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"serviceCharacteristic\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string serviceCharacteristic\r\n {\r\n get\r\n {\r\n return this._serviceCharacteristic;\r\n }\r\n set\r\n {\r\n this._serviceCharacteristic = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// No description\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"serviceDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? serviceDate\r\n {\r\n get\r\n {\r\n return this._serviceDate;\r\n }\r\n set\r\n {\r\n this._serviceDate = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Sorting selector. LOV: usageDate\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"sort\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string sort\r\n {\r\n get\r\n {\r\n return this._sort;\r\n }\r\n set\r\n {\r\n this._sort = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// No description\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"SortDirection\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string SortDirection\r\n {\r\n get\r\n {\r\n return this._sortDirection;\r\n }\r\n set\r\n {\r\n this._sortDirection = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Date when the service starts. LOV: Date without time, effective from 0:00\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"startDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? startDate\r\n {\r\n get\r\n {\r\n return this._startDate;\r\n }\r\n set\r\n {\r\n this._startDate = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Customers entity status code. LOV: Сharacteristic value, provided by BSS template\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"state\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string state\r\n {\r\n get\r\n {\r\n return this._state;\r\n }\r\n set\r\n {\r\n this._state = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A unique identifier for the search request, used for the GET operation.. LOV: generally a GUID value\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"x-ms-client-request-id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string x_ms_client_request_id\r\n {\r\n get\r\n {\r\n return this._x_ms_client_request_id;\r\n }\r\n set\r\n {\r\n this._x_ms_client_request_id = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Service_Response_GET", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class Service_Response_GET\r\n{\r\n \r\n private System.Int32? _offset;\r\n \r\n private System.Int32? _limit;\r\n \r\n private string _accept_Language;\r\n \r\n private string _content_Range;\r\n \r\n private string _link;\r\n \r\n private string _x_ms_client_request_id;\r\n \r\n private System.Int32? _x_Page_Count;\r\n \r\n /// <summary>\r\n /// Requested index for start of records to be provided in response requested by client (server paging). LOV: 0 - first index\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"offset\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? offset\r\n {\r\n get\r\n {\r\n return this._offset;\r\n }\r\n set\r\n {\r\n this._offset = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Number of records per response (server paging). LOV: integer greater than zero\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"limit\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? limit\r\n {\r\n get\r\n {\r\n return this._limit;\r\n }\r\n set\r\n {\r\n this._limit = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Specifying a language for a multi-language dataset. LOV: supported value are en-English, uk-Ukrainian, ru-russian\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"Accept-Language\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string Accept_Language\r\n {\r\n get\r\n {\r\n return this._accept_Language;\r\n }\r\n set\r\n {\r\n this._accept_Language = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// HTTP header indicates where in a full body message a partial message belongs. LOV: items <range-start>-<range-end>/<total-count>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"Content-Range\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string Content_Range\r\n {\r\n get\r\n {\r\n return this._content_Range;\r\n }\r\n set\r\n {\r\n this._content_Range = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Web Linking HTTP header. LOV: reserved\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"Link\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string Link\r\n {\r\n get\r\n {\r\n return this._link;\r\n }\r\n set\r\n {\r\n this._link = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A unique identifier for the search request, used for the GET operation.. LOV: generally a GUID value\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"x-ms-client-request-id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string x_ms_client_request_id\r\n {\r\n get\r\n {\r\n return this._x_ms_client_request_id;\r\n }\r\n set\r\n {\r\n this._x_ms_client_request_id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A Page Count from Server Paging\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"X-Page-Count\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? X_Page_Count\r\n {\r\n get\r\n {\r\n return this._x_Page_Count;\r\n }\r\n set\r\n {\r\n this._x_Page_Count = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Service_Response_GET_OUTPUT", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class Service_Response_GET_OUTPUT\r\n{\r\n \r\n private string _type;\r\n \r\n private Feature[] _feature;\r\n \r\n private System.Boolean? _hasStarted;\r\n \r\n private System.Boolean? _isServiceEnabled;\r\n \r\n private RelatedParty[] _relatedParty;\r\n \r\n private string _serviceDate;\r\n \r\n private System.Int32? _x_Total_Count;\r\n \r\n private string _id;\r\n \r\n private string _category;\r\n \r\n private Characteristic[] _serviceCharacteristic;\r\n \r\n private ServiceSpecification _serviceSpecification;\r\n \r\n private System.DateTime? _startDate;\r\n \r\n private string _state;\r\n \r\n private ServiceReforValue[] _supportingService;\r\n \r\n private System.DateTime? _endDate;\r\n \r\n /// <summary>\r\n /// No description\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A list of feature associated with this service. LOV: A List of object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"feature\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public Feature[] feature\r\n {\r\n get\r\n {\r\n return this._feature;\r\n }\r\n set\r\n {\r\n this._feature = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// No description\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"hasStarted\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Boolean? hasStarted\r\n {\r\n get\r\n {\r\n return this._hasStarted;\r\n }\r\n set\r\n {\r\n this._hasStarted = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// No description\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"isServiceEnabled\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Boolean? isServiceEnabled\r\n {\r\n get\r\n {\r\n return this._isServiceEnabled;\r\n }\r\n set\r\n {\r\n this._isServiceEnabled = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A Related Party for this operation. LOV: A List of object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"relatedParty\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public RelatedParty[] relatedParty\r\n {\r\n get\r\n {\r\n return this._relatedParty;\r\n }\r\n set\r\n {\r\n this._relatedParty = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// No description\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"serviceDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string serviceDate\r\n {\r\n get\r\n {\r\n return this._serviceDate;\r\n }\r\n set\r\n {\r\n this._serviceDate = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// the total number of matching records (server paging). LOV: integer greater than zero\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"X-Total-Count\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? X_Total_Count\r\n {\r\n get\r\n {\r\n return this._x_Total_Count;\r\n }\r\n set\r\n {\r\n this._x_Total_Count = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Unique identifier of the Customer Facing Service to keep track of their state and changes. LOV: String identifier in the format 'Prefix-Number', where Pefix is '01' for Customer Facing Service\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// unique code for the Customer Facing Service category (service's network code). LOV: value, provided by BSS template\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"category\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string category\r\n {\r\n get\r\n {\r\n return this._category;\r\n }\r\n set\r\n {\r\n this._category = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A list of characteristics that characterize the Customer Facing Service (ServiceCharacteristic [*]). LOV: A List of object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"serviceCharacteristic\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public Characteristic[] serviceCharacteristic\r\n {\r\n get\r\n {\r\n return this._serviceCharacteristic;\r\n }\r\n set\r\n {\r\n this._serviceCharacteristic = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A Service Specification characteristic. LOV: An object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"serviceSpecification\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ServiceSpecification serviceSpecification\r\n {\r\n get\r\n {\r\n return this._serviceSpecification;\r\n }\r\n set\r\n {\r\n this._serviceSpecification = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Date when the service starts. LOV: Date without time, effective from 0:00\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"startDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? startDate\r\n {\r\n get\r\n {\r\n return this._startDate;\r\n }\r\n set\r\n {\r\n this._startDate = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A current state of the Customer Facing Service. LOV: activ, synced, temp, close\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"state\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string state\r\n {\r\n get\r\n {\r\n return this._state;\r\n }\r\n set\r\n {\r\n this._state = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A list of supporting Resource Facing Services (SupportingService [*]), is used to link CFS to RFS. LOV: A List of object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"supportingService\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ServiceReforValue[] supportingService\r\n {\r\n get\r\n {\r\n return this._supportingService;\r\n }\r\n set\r\n {\r\n this._supportingService = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// No description\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"endDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? endDate\r\n {\r\n get\r\n {\r\n return this._endDate;\r\n }\r\n set\r\n {\r\n this._endDate = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Service_Response_POST", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class Service_Response_POST\r\n{\r\n \r\n private string _accept_Language;\r\n \r\n private RelatedParty[] _relatedParty;\r\n \r\n private string _x_ms_client_request_id;\r\n \r\n private string _category;\r\n \r\n private Feature[] _feature;\r\n \r\n private System.Boolean? _hasStarted;\r\n \r\n private System.Boolean? _isServiceEnabled;\r\n \r\n private Characteristic[] _serviceCharacteristic;\r\n \r\n private System.DateTime? _serviceDate;\r\n \r\n private System.DateTime? _startDate;\r\n \r\n private string _state;\r\n \r\n private string _id;\r\n \r\n private ServiceReforValue[] _supportingService;\r\n \r\n private System.DateTime? _endDate;\r\n \r\n /// <summary>\r\n /// Specifying a language for a multi-language dataset. LOV: supported value are en-English, uk-Ukrainian, ru-russian\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"Accept-Language\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string Accept_Language\r\n {\r\n get\r\n {\r\n return this._accept_Language;\r\n }\r\n set\r\n {\r\n this._accept_Language = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A Related Party for this operation. LOV: A List of object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"relatedParty\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public RelatedParty[] relatedParty\r\n {\r\n get\r\n {\r\n return this._relatedParty;\r\n }\r\n set\r\n {\r\n this._relatedParty = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A unique identifier for the search request, used for the GET operation.. LOV: generally a GUID value\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"x-ms-client-request-id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string x_ms_client_request_id\r\n {\r\n get\r\n {\r\n return this._x_ms_client_request_id;\r\n }\r\n set\r\n {\r\n this._x_ms_client_request_id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// unique code for the Customer Facing Service category (service's network code). LOV: value, provided by BSS template\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"category\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string category\r\n {\r\n get\r\n {\r\n return this._category;\r\n }\r\n set\r\n {\r\n this._category = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A list of feature associated with this service. LOV: A List of object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"feature\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public Feature[] feature\r\n {\r\n get\r\n {\r\n return this._feature;\r\n }\r\n set\r\n {\r\n this._feature = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// An Activation state of Service. LOV: If TRUE, this Service has already been started\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"hasStarted\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Boolean? hasStarted\r\n {\r\n get\r\n {\r\n return this._hasStarted;\r\n }\r\n set\r\n {\r\n this._hasStarted = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A current State of Service. LOV: If FALSE and hasStarted is FALSE, this particular Service has NOT been enabled for use - if FALSE and hasStarted is TRUE then the service has disabled\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"isServiceEnabled\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Boolean? isServiceEnabled\r\n {\r\n get\r\n {\r\n return this._isServiceEnabled;\r\n }\r\n set\r\n {\r\n this._isServiceEnabled = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A list of characteristics that characterize the Customer Facing Service (ServiceCharacteristic [*]). LOV: A List of object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"serviceCharacteristic\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public Characteristic[] serviceCharacteristic\r\n {\r\n get\r\n {\r\n return this._serviceCharacteristic;\r\n }\r\n set\r\n {\r\n this._serviceCharacteristic = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Date when the service was created (whatever its status)\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"serviceDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? serviceDate\r\n {\r\n get\r\n {\r\n return this._serviceDate;\r\n }\r\n set\r\n {\r\n this._serviceDate = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Date when the service starts. LOV: Date without time, effective from 0:00\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"startDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? startDate\r\n {\r\n get\r\n {\r\n return this._startDate;\r\n }\r\n set\r\n {\r\n this._startDate = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A current state of the Customer Facing Service. LOV: activ, synced, temp, close\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"state\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string state\r\n {\r\n get\r\n {\r\n return this._state;\r\n }\r\n set\r\n {\r\n this._state = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Unique identifier of the Customer Facing Service to keep track of their state and changes. LOV: String identifier in the format 'Prefix-Number', where Pefix is '01' for Customer Facing Service\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A list of supporting Resource Facing Services (SupportingService [*]), is used to link CFS to RFS. LOV: A List of object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"supportingService\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ServiceReforValue[] supportingService\r\n {\r\n get\r\n {\r\n return this._supportingService;\r\n }\r\n set\r\n {\r\n this._supportingService = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// No description\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"endDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? endDate\r\n {\r\n get\r\n {\r\n return this._endDate;\r\n }\r\n set\r\n {\r\n this._endDate = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Service_Response_PUT", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class Service_Response_PUT\r\n{\r\n \r\n private string _accept_Language;\r\n \r\n private RelatedParty[] _relatedParty;\r\n \r\n private string _x_ms_client_request_id;\r\n \r\n private string _category;\r\n \r\n private Feature[] _feature;\r\n \r\n private System.Boolean? _hasStarted;\r\n \r\n private System.Boolean? _isServiceEnabled;\r\n \r\n private Characteristic[] _serviceCharacteristic;\r\n \r\n private System.DateTime? _serviceDate;\r\n \r\n private System.DateTime? _startDate;\r\n \r\n private string _state;\r\n \r\n private string _id;\r\n \r\n private ServiceReforValue[] _supportingService;\r\n \r\n private System.DateTime? _endDate;\r\n \r\n /// <summary>\r\n /// Specifying a language for a multi-language dataset. LOV: supported value are en-English, uk-Ukrainian, ru-russian\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"Accept-Language\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string Accept_Language\r\n {\r\n get\r\n {\r\n return this._accept_Language;\r\n }\r\n set\r\n {\r\n this._accept_Language = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A Related Party for this operation. LOV: A List of object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"relatedParty\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public RelatedParty[] relatedParty\r\n {\r\n get\r\n {\r\n return this._relatedParty;\r\n }\r\n set\r\n {\r\n this._relatedParty = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A unique identifier for the search request, used for the GET operation.. LOV: generally a GUID value\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"x-ms-client-request-id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string x_ms_client_request_id\r\n {\r\n get\r\n {\r\n return this._x_ms_client_request_id;\r\n }\r\n set\r\n {\r\n this._x_ms_client_request_id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// unique code for the Customer Facing Service category (service's network code). LOV: value, provided by BSS template\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"category\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string category\r\n {\r\n get\r\n {\r\n return this._category;\r\n }\r\n set\r\n {\r\n this._category = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A list of feature associated with this service. LOV: A List of object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"feature\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public Feature[] feature\r\n {\r\n get\r\n {\r\n return this._feature;\r\n }\r\n set\r\n {\r\n this._feature = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// An Activation state of Service. LOV: If TRUE, this Service has already been started\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"hasStarted\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Boolean? hasStarted\r\n {\r\n get\r\n {\r\n return this._hasStarted;\r\n }\r\n set\r\n {\r\n this._hasStarted = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A current State of Service. LOV: If FALSE and hasStarted is FALSE, this particular Service has NOT been enabled for use - if FALSE and hasStarted is TRUE then the service has disabled\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"isServiceEnabled\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Boolean? isServiceEnabled\r\n {\r\n get\r\n {\r\n return this._isServiceEnabled;\r\n }\r\n set\r\n {\r\n this._isServiceEnabled = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A list of characteristics that characterize the Customer Facing Service (ServiceCharacteristic [*]). LOV: A List of object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"serviceCharacteristic\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public Characteristic[] serviceCharacteristic\r\n {\r\n get\r\n {\r\n return this._serviceCharacteristic;\r\n }\r\n set\r\n {\r\n this._serviceCharacteristic = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Date when the service was created (whatever its status)\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"serviceDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? serviceDate\r\n {\r\n get\r\n {\r\n return this._serviceDate;\r\n }\r\n set\r\n {\r\n this._serviceDate = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Date when the service starts. LOV: Date without time, effective from 0:00\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"startDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? startDate\r\n {\r\n get\r\n {\r\n return this._startDate;\r\n }\r\n set\r\n {\r\n this._startDate = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A current state of the Customer Facing Service. LOV: activ, synced, temp, close\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"state\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string state\r\n {\r\n get\r\n {\r\n return this._state;\r\n }\r\n set\r\n {\r\n this._state = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Unique identifier of the Customer Facing Service to keep track of their state and changes. LOV: String identifier in the format 'Prefix-Number', where Pefix is '01' for Customer Facing Service\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A list of supporting Resource Facing Services (SupportingService [*]), is used to link CFS to RFS. LOV: A List of object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"supportingService\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ServiceReforValue[] supportingService\r\n {\r\n get\r\n {\r\n return this._supportingService;\r\n }\r\n set\r\n {\r\n this._supportingService = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// No description\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"endDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? endDate\r\n {\r\n get\r\n {\r\n return this._endDate;\r\n }\r\n set\r\n {\r\n this._endDate = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Service_Response_SET", "definition": "/// <summary>\r\n/// &lt;empty description&gt;\r\n/// </summary>\r\npublic sealed class Service_Response_SET\r\n{\r\n \r\n private string _accept_Language;\r\n \r\n private RelatedParty[] _relatedParty;\r\n \r\n private string _x_ms_client_request_id;\r\n \r\n private string _category;\r\n \r\n private Feature[] _feature;\r\n \r\n private System.Boolean? _hasStarted;\r\n \r\n private System.Boolean? _isServiceEnabled;\r\n \r\n private Characteristic[] _serviceCharacteristic;\r\n \r\n private System.DateTime? _serviceDate;\r\n \r\n private System.DateTime? _startDate;\r\n \r\n private string _state;\r\n \r\n private string _id;\r\n \r\n private ServiceReforValue[] _supportingService;\r\n \r\n /// <summary>\r\n /// Specifying a language for a multi-language dataset. LOV: supported value are en-English, uk-Ukrainian, ru-russian\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"Accept-Language\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string Accept_Language\r\n {\r\n get\r\n {\r\n return this._accept_Language;\r\n }\r\n set\r\n {\r\n this._accept_Language = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A Related Party for this operation. LOV: A List of object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"relatedParty\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public RelatedParty[] relatedParty\r\n {\r\n get\r\n {\r\n return this._relatedParty;\r\n }\r\n set\r\n {\r\n this._relatedParty = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A unique identifier for the search request, used for the GET operation.. LOV: generally a GUID value\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"x-ms-client-request-id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string x_ms_client_request_id\r\n {\r\n get\r\n {\r\n return this._x_ms_client_request_id;\r\n }\r\n set\r\n {\r\n this._x_ms_client_request_id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// unique code for the Customer Facing Service category (service's network code). LOV: value, provided by BSS template\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"category\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string category\r\n {\r\n get\r\n {\r\n return this._category;\r\n }\r\n set\r\n {\r\n this._category = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A list of feature associated with this service. LOV: A List of object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"feature\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public Feature[] feature\r\n {\r\n get\r\n {\r\n return this._feature;\r\n }\r\n set\r\n {\r\n this._feature = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// An Activation state of Service. LOV: If TRUE, this Service has already been started\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"hasStarted\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Boolean? hasStarted\r\n {\r\n get\r\n {\r\n return this._hasStarted;\r\n }\r\n set\r\n {\r\n this._hasStarted = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A current State of Service. LOV: If FALSE and hasStarted is FALSE, this particular Service has NOT been enabled for use - if FALSE and hasStarted is TRUE then the service has disabled\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"isServiceEnabled\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Boolean? isServiceEnabled\r\n {\r\n get\r\n {\r\n return this._isServiceEnabled;\r\n }\r\n set\r\n {\r\n this._isServiceEnabled = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A list of characteristics that characterize the Customer Facing Service (ServiceCharacteristic [*]). LOV: A List of object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"serviceCharacteristic\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public Characteristic[] serviceCharacteristic\r\n {\r\n get\r\n {\r\n return this._serviceCharacteristic;\r\n }\r\n set\r\n {\r\n this._serviceCharacteristic = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Date when the service was created (whatever its status)\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"serviceDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? serviceDate\r\n {\r\n get\r\n {\r\n return this._serviceDate;\r\n }\r\n set\r\n {\r\n this._serviceDate = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Date when the service starts. LOV: Date without time, effective from 0:00\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"startDate\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? startDate\r\n {\r\n get\r\n {\r\n return this._startDate;\r\n }\r\n set\r\n {\r\n this._startDate = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A current state of the Customer Facing Service. LOV: created,activ,temp,close\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"state\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string state\r\n {\r\n get\r\n {\r\n return this._state;\r\n }\r\n set\r\n {\r\n this._state = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Unique identifier of the Customer Facing Service to keep track of their state and changes. LOV: Identifier value\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A list of supporting Resource Facing Services (SupportingService [*]), is used to link CFS to RFS. LOV: A List of object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"supportingService\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ServiceReforValue[] supportingService\r\n {\r\n get\r\n {\r\n return this._supportingService;\r\n }\r\n set\r\n {\r\n this._supportingService = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ServiceConfig", "definition": "{\n\t\"$schema\": \"http://json-schema.org/draft-06/schema#\",\n\t\"$ref\": \"#/definitions/ServiceConfig\",\n\t\"definitions\": {\n\t\t\"ServiceConfig\": {\n\t\t\t\"type\": \"object\",\n\t\t\t\"additionalProperties\": false,\n\t\t\t\"properties\": {\n\t\t\t\t\"ConnectionString\": {\n\t\t\t\t\t\"type\": \"string\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"title\": \"ServiceConfig\"\n\t\t}\n\t}\n}", "isNativeDefinition": false }, { "name": "ServiceReforValue", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class ServiceReforValue\r\n{\r\n \r\n private string _type;\r\n \r\n private Characteristic[] _serviceCharacteristic;\r\n \r\n private ServiceSpecification _serviceSpecification;\r\n \r\n private string _state;\r\n \r\n private string _id;\r\n \r\n /// <summary>\r\n /// The @type attribute represents the actual class type of an entity. LOV: An Attribute Format value of the Object\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A list of characteristics that characterize the Resource Facing Services (ServiceCharacteristic [*]). LOV: A List of object\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"serviceCharacteristic\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public Characteristic[] serviceCharacteristic\r\n {\r\n get\r\n {\r\n return this._serviceCharacteristic;\r\n }\r\n set\r\n {\r\n this._serviceCharacteristic = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A Service Specification. LOV: An object\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"serviceSpecification\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ServiceSpecification serviceSpecification\r\n {\r\n get\r\n {\r\n return this._serviceSpecification;\r\n }\r\n set\r\n {\r\n this._serviceSpecification = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A current state of the Resource Facing Service. LOV: activ, synced, temp, close\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"state\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string state\r\n {\r\n get\r\n {\r\n return this._state;\r\n }\r\n set\r\n {\r\n this._state = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// No description\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ServiceRefOrValue_FVO", "definition": "/// <summary>\r\n/// A Service to be created defined by value or existing defined by reference. The polymorphic attributes @type, @schemaLocation @referredType are related to the Service entity and not the RelatedServiceRefOrValue class itself\r\n/// </summary>\r\npublic sealed class ServiceRefOrValue_FVO\r\n{\r\n}\r\n", "isNativeDefinition": true }, { "name": "ServiceRefOrValue_MVO", "definition": "/// <summary>\r\n/// A Service to be created defined by value or existing defined by reference. The polymorphic attributes @type, @schemaLocation @referredType are related to the Service entity and not the RelatedServiceRefOrValue class itself\r\n/// </summary>\r\npublic sealed class ServiceRefOrValue_MVO\r\n{\r\n}\r\n", "isNativeDefinition": true }, { "name": "ServiceRelationship_FVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class ServiceRelationship_FVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private Characteristic_FVO[] _serviceRelationshipCharacteristic;\r\n \r\n private ServiceRefOrValue_FVO _service;\r\n \r\n private string _relationshipType;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"serviceRelationshipCharacteristic\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public Characteristic_FVO[] serviceRelationshipCharacteristic\r\n {\r\n get\r\n {\r\n return this._serviceRelationshipCharacteristic;\r\n }\r\n set\r\n {\r\n this._serviceRelationshipCharacteristic = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A Service to be created defined by value or existing defined by reference. The polymorphic attributes @type, @schemaLocation & @referredType are related to the Service entity and not the RelatedServiceRefOrValue class itself\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"service\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ServiceRefOrValue_FVO service\r\n {\r\n get\r\n {\r\n return this._service;\r\n }\r\n set\r\n {\r\n this._service = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"relationshipType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string relationshipType\r\n {\r\n get\r\n {\r\n return this._relationshipType;\r\n }\r\n set\r\n {\r\n this._relationshipType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ServiceRelationship_MVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class ServiceRelationship_MVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private Characteristic_MVO[] _serviceRelationshipCharacteristic;\r\n \r\n private ServiceRefOrValue_MVO _service;\r\n \r\n private string _relationshipType;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"serviceRelationshipCharacteristic\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public Characteristic_MVO[] serviceRelationshipCharacteristic\r\n {\r\n get\r\n {\r\n return this._serviceRelationshipCharacteristic;\r\n }\r\n set\r\n {\r\n this._serviceRelationshipCharacteristic = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A Service to be created defined by value or existing defined by reference. The polymorphic attributes @type, @schemaLocation & @referredType are related to the Service entity and not the RelatedServiceRefOrValue class itself\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"service\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ServiceRefOrValue_MVO service\r\n {\r\n get\r\n {\r\n return this._service;\r\n }\r\n set\r\n {\r\n this._service = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"relationshipType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string relationshipType\r\n {\r\n get\r\n {\r\n return this._relationshipType;\r\n }\r\n set\r\n {\r\n this._relationshipType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ServiceSpecification", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class ServiceSpecification\r\n{\r\n \r\n private string _type;\r\n \r\n private string _id;\r\n \r\n private string _name;\r\n \r\n /// <summary>\r\n /// The @type attribute represents the actual class type of an entity. LOV: An Attribute Format value of the Object\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Unique identifier of the characteristic. LOV: Value, provided by BSS template\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Code of the characteristic. LOV: Value, provided by BSS template\r\n /// <c>p_ucp_set_ServiceOrder</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ServiceSpecificationRef_FVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class ServiceSpecificationRef_FVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _href;\r\n \r\n private string _id;\r\n \r\n private string _name;\r\n \r\n private string _referredType;\r\n \r\n private string _version;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Identifier of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Service specification version\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"version\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string version\r\n {\r\n get\r\n {\r\n return this._version;\r\n }\r\n set\r\n {\r\n this._version = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ServiceSpecificationRef_MVO", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class ServiceSpecificationRef_MVO\r\n{\r\n \r\n private string _type;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _href;\r\n \r\n private string _id;\r\n \r\n private string _name;\r\n \r\n private string _referredType;\r\n \r\n private string _version;\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class Extensible name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Hyperlink reference\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Identifier of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the referred entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Service specification version\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"version\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string version\r\n {\r\n get\r\n {\r\n return this._version;\r\n }\r\n set\r\n {\r\n this._version = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ServiceStateType", "definition": "/// <summary>\r\n/// Valid values for the lifecycle state of the service\r\n/// </summary>\r\npublic sealed class ServiceStateType\r\n{\r\n}\r\n", "isNativeDefinition": true }, { "name": "SystemException", "definition": "{\r\n \"$schema\":\"http://natec.tech/simpleschema\",\r\n \"$ref\":\"#/definitions/SystemException\",\r\n \"definitions\":{\r\n \"SystemException\":{\r\n \"type\":\"object\",\r\n \"properties\":{\r\n \"Exception\":{\r\n \"type\":\"types://core/System.Exception\"\r\n },\r\n \"info\":{\r\n \"type\":\"string\"\r\n }\r\n },\r\n \"title\":\"SystemException\"\r\n }\r\n }\r\n}", "isNativeDefinition": false }, { "name": "TimePeriod", "definition": "/// <summary>\r\n/// A period of time, either as a deadline (endDateTime only) a startDateTime only, or both\r\n/// </summary>\r\npublic sealed class TimePeriod\r\n{\r\n \r\n private System.DateTime? _startDateTime;\r\n \r\n private System.DateTime? _endDateTime;\r\n \r\n /// <summary>\r\n /// Start of the time period, using IETC-RFC-3339 format\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"startDateTime\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? startDateTime\r\n {\r\n get\r\n {\r\n return this._startDateTime;\r\n }\r\n set\r\n {\r\n this._startDateTime = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// End of the time period, using IETC-RFC-3339 format\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"endDateTime\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? endDateTime\r\n {\r\n get\r\n {\r\n return this._endDateTime;\r\n }\r\n set\r\n {\r\n this._endDateTime = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }] [] - [ { "name": "_POST_p_ucp_set_ServiceOrder", "initCode": "Service_Response_SET _POST_p_ucp_set_ServiceOrder (\n\t\tstring x_ms_client_request_id,\n\t\tstring id,\n\t\tdatetime serviceDate,\n\t\tstring description,\n\t\tstring supportingService,\n\t\tstring relatedParty,\n\t\tstring feature,\n\t\tstring state,\n\t\tstring category,\n\t\tdatetime startDate,\n\t\tstring serviceCharacteristic,\n\t\tstring note,\n\t\tbool hasStarted,\n\t\tbool isServiceEnabled,\n\t\tstring ErrFormat,\n\t\tstring Lang\n\t) \n {\n\t\t\tvar p = new DynamicParameters();\n\t\t\tp.Add(\"x_ms_client_request_id\", value: x_ms_client_request_id, dbType: DbType.String, direction: ParameterDirection.InputOutput, size: 32);\n\t\t\tp.Add(\"id\", value: id, dbType: DbType.String, direction: ParameterDirection.InputOutput, size: 24);\n\t\t\tp.Add(\"serviceDate\", value: serviceDate, dbType: DbType.DateTime2, direction: ParameterDirection.InputOutput);\n\t\t\tp.Add(\"description\", value: description, dbType: DbType.String, size: 200);\n\t\t\tp.Add(\"supportingService\", value: supportingService, dbType: DbType.String, size: -1);\n\t\t\tp.Add(\"relatedParty\", value: relatedParty, dbType: DbType.String, direction: ParameterDirection.InputOutput, size: -1);\n\t\t\tp.Add(\"feature\", value: feature, dbType: DbType.String, direction: ParameterDirection.InputOutput, size: -1);\n\t\t\tp.Add(\"state\", value: state, dbType: DbType.String, direction: ParameterDirection.InputOutput, size: 50);\n\t\t\tp.Add(\"category\", value: category, dbType: DbType.String, direction: ParameterDirection.InputOutput, size: 50);\n\t\t\tp.Add(\"startDate\", value: startDate, dbType: DbType.DateTime2, direction: ParameterDirection.InputOutput);\n\t\t\tp.Add(\"serviceCharacteristic\", value: serviceCharacteristic, dbType: DbType.String, direction: ParameterDirection.InputOutput, size: -1);\n\t\t\tp.Add(\"note\", value: note, dbType: DbType.String, size: -1);\n\t\t\tp.Add(\"hasStarted\", value: hasStarted, dbType: DbType.Boolean, direction: ParameterDirection.InputOutput);\n\t\t\tp.Add(\"isServiceEnabled\", value: isServiceEnabled, dbType: DbType.Boolean, direction: ParameterDirection.InputOutput);\n\t\t\tp.Add(\"ErrFormat\", value: ErrFormat, dbType: DbType.String, size: 24);\n\t\t\tp.Add(\"Lang\", value: Lang, dbType: DbType.String, direction: ParameterDirection.InputOutput, size: 3);\n\n\t\t\tstring unibillConnection = Parameters.sqlConnectionString;\n\t\t\tvar procedure = \"[dbo].[p_ucp_set_ServiceOrder]\";\n\t\t\tusing (var connection = new SqlConnection(unibillConnection))\n\t\t\t{\n\t\t\t\tconnection.Execute(procedure, p, commandType: CommandType.StoredProcedure);\n\t\t\t}\n\n\n\t\t\tService_Response_SET result = new Service_Response_SET();\n\t\t\tresult.feature = new JSON(p.Get<string>(\"feature\")).Cast<Feature[]>();\n\t\t\tresult.Accept_Language = p.Get<string>(\"Lang\");\n\t\t\tresult.x_ms_client_request_id = p.Get<string>(\"x_ms_client_request_id\");\n\t\t\tresult.startDate = p.Get<DateTime?>(\"startDate\");\n\t\t\tresult.state = p.Get<string>(\"state\");\n\t\t\tresult.category = p.Get<string>(\"category\");\n\t\t\tresult.hasStarted = p.Get<bool?>(\"hasStarted\");\n\t\t\tresult.id = p.Get<string>(\"id\");\n\t\t\tresult.isServiceEnabled = p.Get<bool?>(\"isServiceEnabled\");\n\t\t\tresult.relatedParty = new JSON(p.Get<string>(\"relatedParty\")).Cast<RelatedParty[]>();\n\t\t\tresult.serviceCharacteristic = new JSON(p.Get<string>(\"serviceCharacteristic\")).Cast<Characteristic[]>();\n\t\t\tresult.serviceDate = p.Get<DateTime?>(\"serviceDate\");\n\n\t\t\treturn result;\n }", "initParameters": [ { "name": "Result", "type": "Service_Response_SET", "required": false, "defaultValue": null }, { "name": "x_ms_client_request_id", "type": "string", "required": false, "defaultValue": null }, { "name": "id", "type": "string", "required": false, "defaultValue": null }, { "name": "serviceDate", "type": "datetime", "required": false, "defaultValue": null }, { "name": "description", "type": "string", "required": false, "defaultValue": null }, { "name": "supportingService", "type": "string", "required": false, "defaultValue": null }, { "name": "relatedParty", "type": "string", "required": false, "defaultValue": null }, { "name": "feature", "type": "string", "required": false, "defaultValue": null }, { "name": "state", "type": "string", "required": false, "defaultValue": null }, { "name": "category", "type": "string", "required": false, "defaultValue": null }, { "name": "startDate", "type": "datetime", "required": false, "defaultValue": null }, { "name": "serviceCharacteristic", "type": "string", "required": false, "defaultValue": null }, { "name": "note", "type": "string", "required": false, "defaultValue": null }, { "name": "hasStarted", "type": "bool", "required": false, "defaultValue": null }, { "name": "isServiceEnabled", "type": "bool", "required": false, "defaultValue": null }, { "name": "ErrFormat", "type": "string", "required": false, "defaultValue": null }, { "name": "Lang", "type": "string", "required": false, "defaultValue": null } ] }, { "name": "format_Validation_Error", "initCode": "Error format_Validation_Error (\n\t) \n {\n if (WorkflowEnvironment.Variables.TryGetValue (\"HttpResponse\", out object httpResponseObj))\n {\n Microsoft.AspNetCore.Http.HttpResponse response = httpResponseObj as Microsoft.AspNetCore.Http.HttpResponse;\n //Parameters.x_ms_client_request_id\n response.StatusCode = 404;\n } \n return new Error() \n { \n status = \"404\",\n message = $\"Validation error : id must be greater than 0\",\n reason = \"not found\"\n };\n }", "initParameters": [ { "name": "Result", "type": "Error", "required": false, "defaultValue": null } ] }, { "name": "HandleException", "initCode": "Error HandleException (\n\t\tPassingResult prevData\n\t) \n {\n try\n {\n //investigate the Exception \n Logger.LogInformation($\"Exception name : {prevData.Exception?.GetType()?.Name}\");\n\n Error result = new Error(){ status = \"500\"};\n if (prevData.Exception != null)\n {\n result = prevData.Exception.GetError(\"500\");\n }\n \n int statusCode = 500;\n int.TryParse(result?.status, out statusCode);\n \n WorkflowEnvironment.Variables[\"StatusCode\"] = 500; \n if (WorkflowEnvironment.Variables.TryGetValue (\"HttpResponse\", out object httpResponseObj))\n {\n Microsoft.AspNetCore.Http.HttpResponse response = httpResponseObj as Microsoft.AspNetCore.Http.HttpResponse;\n response.StatusCode = statusCode;\n } \n return result;\n }\n catch (Exception e) \n {\n Logger.LogError($\"HandleException:: error {e}\");\n if (WorkflowEnvironment.Variables.TryGetValue (\"HttpResponse\", out object httpResponseObj))\n {\n Microsoft.AspNetCore.Http.HttpResponse response = httpResponseObj as Microsoft.AspNetCore.Http.HttpResponse;\n //Parameters.x_ms_client_request_id\n response.StatusCode = 500;\n } \n return new Error() \n { \n status = \"500\",\n message = $\"Error while handle error ! {e.Message}\"\n };\n }\n }", "initParameters": [ { "name": "Result", "type": "Error", "required": false, "defaultValue": null }, { "name": "prevData", "type": "PassingResult", "required": true, "defaultValue": null } ] }, { "name": "p_ucp_set_ServiceOrder", "initCode": "Service_Response_PUT p_ucp_set_ServiceOrder (\n\t\tstring description,\n\t\tbool? isServiceEnabled,\n\t\tbool? hasStarted,\n\t\tdatetime? startDate,\n\t\tdatetime? endDate,\n\t\tstring note,\n\t\tstring category,\n\t\tstring feature,\n\t\tstring serviceCharacteristic,\n\t\tstring supportingService,\n\t\tstring relatedParty,\n\t\tstring state,\n\t\tstring serviceSpecification,\n\t\tdatetime? serviceDate,\n\t\tstring ErrFormat,\n\t\tstring Lang,\n\t\tstring x_ms_client_request_id,\n\t\tstring id\n\t) \n{\n var p = new DynamicParameters();\np.Add(\"description\", value: description, dbType: DbType.String, direction:ParameterDirection.Input, size:200);\np.Add(\"isServiceEnabled\", value: isServiceEnabled, dbType: DbType.Boolean, direction:ParameterDirection.Input);\np.Add(\"hasStarted\", value: hasStarted, dbType: DbType.Boolean, direction:ParameterDirection.Input);\np.Add(\"startDate\", value: startDate, dbType: DbType.DateTime2, direction:ParameterDirection.Input);\np.Add(\"endDate\", value: endDate, dbType: DbType.DateTime2, direction:ParameterDirection.Input);\np.Add(\"note\", value: note, dbType: DbType.String, direction:ParameterDirection.Input, size:-1);\np.Add(\"category\", value: category, dbType: DbType.String, direction:ParameterDirection.Input, size:50);\np.Add(\"feature\", value: feature, dbType: DbType.String, direction:ParameterDirection.Input, size:-1);\np.Add(\"serviceCharacteristic\", value: serviceCharacteristic, dbType: DbType.String, direction:ParameterDirection.Input, size:-1);\np.Add(\"supportingService\", value: supportingService, dbType: DbType.String, direction:ParameterDirection.Input, size:-1);\np.Add(\"relatedParty\", value: relatedParty, dbType: DbType.String, direction:ParameterDirection.Input, size:-1);\np.Add(\"state\", value: state, dbType: DbType.String, direction:ParameterDirection.Input, size:50);\np.Add(\"serviceSpecification\", value: serviceSpecification, dbType: DbType.String, direction:ParameterDirection.Input, size:-1);\np.Add(\"serviceDate\", value: serviceDate, dbType: DbType.DateTime2, direction:ParameterDirection.Input);\np.Add(\"ErrFormat\", value: ErrFormat, dbType: DbType.String, direction:ParameterDirection.Input, size:25);\np.Add(\"Lang\", value: Lang, dbType: DbType.String, direction:ParameterDirection.Input, size:3);\np.Add(\"x_ms_client_request_id\", value: x_ms_client_request_id, dbType: DbType.String, direction:ParameterDirection.Input, size:32);\np.Add(\"id\", value: id, dbType: DbType.String, direction:ParameterDirection.Input, size:24);\n\nstring sqlConnectionString = Parameters.sqlConnectionString;\nif (this.WorkflowEnvironment.Variables.TryGetValue(\"ConfigString\", out object configStr))\n{\n var configJson = new JSON(configStr).Cast<ServiceConfig>();\n if(!string.IsNullOrEmpty(configJson?.ConnectionString))\n {\n sqlConnectionString = configJson.ConnectionString;\n }\n};\n\nvar procedure = \"[dbo].[p_ucp_set_ServiceOrder]\";\nusing (var connection = new SqlConnection(sqlConnectionString))\n{\n connection.Execute(procedure, p, commandType: CommandType.StoredProcedure, commandTimeout:0);\n}\n// fill output params\nService_Response_PUT result = new Service_Response_PUT();\nresult.Accept_Language = p.Get<System.String>(\"Lang\");\nresult.relatedParty = string.IsNullOrEmpty(p.Get<string>(\"relatedParty\"))?new RelatedParty[]{new RelatedParty()}:new JSON(p.Get<string>(\"relatedParty\")).Cast<RelatedParty[]>();\nresult.x_ms_client_request_id = p.Get<System.String>(\"x_ms_client_request_id\");\nresult.category = p.Get<System.String>(\"category\");\nresult.feature = string.IsNullOrEmpty(p.Get<string>(\"feature\"))?new Feature[]{new Feature()}:new JSON(p.Get<string>(\"feature\")).Cast<Feature[]>();\nresult.hasStarted = p.Get<System.Boolean?>(\"hasStarted\");\nresult.isServiceEnabled = p.Get<System.Boolean?>(\"isServiceEnabled\");\nresult.serviceCharacteristic = string.IsNullOrEmpty(p.Get<string>(\"serviceCharacteristic\"))?new Characteristic[]{new Characteristic()}:new JSON(p.Get<string>(\"serviceCharacteristic\")).Cast<Characteristic[]>();\nresult.serviceDate = p.Get<System.DateTime?>(\"serviceDate\");\nresult.startDate = p.Get<System.DateTime?>(\"startDate\");\nresult.state = p.Get<System.String>(\"state\");\nresult.id = p.Get<System.String>(\"id\");\nresult.supportingService = string.IsNullOrEmpty(p.Get<string>(\"supportingService\"))?new ServiceReforValue[]{new ServiceReforValue()}:new JSON(p.Get<string>(\"supportingService\")).Cast<ServiceReforValue[]>();\nresult.endDate = p.Get<System.DateTime?>(\"endDate\");\n\n if (WorkflowEnvironment.RuntimeName == \"Plugin\")\n {\n if (WorkflowEnvironment.Variables.TryGetValue(\"HttpResponse\", out object httpResponseObj))\n {\n Microsoft.AspNetCore.Http.HttpResponse response = httpResponseObj as Microsoft.AspNetCore.Http.HttpResponse;\n response.Headers[\"Accept-Language\"] = result.Accept_Language;\n result.Accept_Language = null;\n response.Headers[\"x-ms-client-request-id\"] = result.x_ms_client_request_id;\n result.x_ms_client_request_id = null;\n }\n }\n\nreturn result;\n}\n", "initParameters": [ { "name": "description", "type": "string", "required": false, "defaultValue": null }, { "name": "isServiceEnabled", "type": "bool?", "required": false, "defaultValue": null }, { "name": "hasStarted", "type": "bool?", "required": false, "defaultValue": null }, { "name": "startDate", "type": "datetime?", "required": false, "defaultValue": null }, { "name": "endDate", "type": "datetime?", "required": false, "defaultValue": null }, { "name": "note", "type": "string", "required": false, "defaultValue": null }, { "name": "category", "type": "string", "required": false, "defaultValue": null }, { "name": "feature", "type": "string", "required": false, "defaultValue": null }, { "name": "serviceCharacteristic", "type": "string", "required": false, "defaultValue": null }, { "name": "supportingService", "type": "string", "required": false, "defaultValue": null }, { "name": "relatedParty", "type": "string", "required": false, "defaultValue": null }, { "name": "state", "type": "string", "required": false, "defaultValue": null }, { "name": "serviceSpecification", "type": "string", "required": false, "defaultValue": null }, { "name": "serviceDate", "type": "datetime?", "required": false, "defaultValue": null }, { "name": "ErrFormat", "type": "string", "required": false, "defaultValue": null }, { "name": "Lang", "type": "string", "required": false, "defaultValue": null }, { "name": "x_ms_client_request_id", "type": "string", "required": false, "defaultValue": null }, { "name": "id", "type": "string", "required": false, "defaultValue": null }, { "name": "Result", "type": "Service_Response_PUT", "required": false, "defaultValue": null } ] }, { "name": "proceedConfig", "initCode": "Note[] proceedConfig (\n\t) \n {\n string v_author = null;\n string v_hostname = null;\n Note[] notes = null;\n \n if(WorkflowEnvironment.RuntimeName == \"Plugin\")\n {\n if (this.WorkflowEnvironment.Variables.TryGetValue(\"ApiContext\", out object apiContextObj))\n {\n IApiContext apiContext = apiContextObj as IApiContext;\n v_author = apiContext.DataBag.UserName;\n v_hostname = apiContext.DataBag.From;\n }\n\t\t\t\tvar note = Input.note?.Select(n => new Note()\n\t\t\t\t{\n\t\t\t\t\tauthor = n.author,\n\t\t\t\t\thostname = n.hostname,\n\t\t\t\t\ttext = n.text\n\t\t\t\t})?.FirstOrDefault() ?? new Note();\n\t\t\t\t\n\t\t\t\tnote.author = v_author;\n\t\t\t\tnote.hostname = v_hostname;\n\t\t\t\t\n notes = new Note[1]{note};\n if (this.WorkflowEnvironment.Variables.TryGetValue(\"ConfigString\", out object configStr))\n {\n var configJson = new JSON(configStr).Cast<ServiceConfig>();\n if(!string.IsNullOrEmpty(configJson?.ConnectionString))\n {\n Parameters.sqlConnectionString = configJson.ConnectionString;\n }\n \n };\n }\n else\n {\n notes = Input.note; \n }\n return notes.ToList(); \n }", "initParameters": [ { "name": "Result", "type": "Note[]", "required": false, "defaultValue": null } ] }] + [ { "name": "_POST_p_ucp_set_ServiceOrder", "initCode": "Service_Response_SET _POST_p_ucp_set_ServiceOrder (\n\t\tstring x_ms_client_request_id,\n\t\tstring id,\n\t\tdatetime serviceDate,\n\t\tstring description,\n\t\tstring supportingService,\n\t\tstring relatedParty,\n\t\tstring feature,\n\t\tstring state,\n\t\tstring category,\n\t\tdatetime startDate,\n\t\tstring serviceCharacteristic,\n\t\tstring note,\n\t\tbool hasStarted,\n\t\tbool isServiceEnabled,\n\t\tstring ErrFormat,\n\t\tstring Lang\n\t) \n {\n\t\t\tvar p = new DynamicParameters();\n\t\t\tp.Add(\"x_ms_client_request_id\", value: x_ms_client_request_id, dbType: DbType.String, direction: ParameterDirection.InputOutput, size: 32);\n\t\t\tp.Add(\"id\", value: id, dbType: DbType.String, direction: ParameterDirection.InputOutput, size: 24);\n\t\t\tp.Add(\"serviceDate\", value: serviceDate, dbType: DbType.DateTime2, direction: ParameterDirection.InputOutput);\n\t\t\tp.Add(\"description\", value: description, dbType: DbType.String, size: 200);\n\t\t\tp.Add(\"supportingService\", value: supportingService, dbType: DbType.String, size: -1);\n\t\t\tp.Add(\"relatedParty\", value: relatedParty, dbType: DbType.String, direction: ParameterDirection.InputOutput, size: -1);\n\t\t\tp.Add(\"feature\", value: feature, dbType: DbType.String, direction: ParameterDirection.InputOutput, size: -1);\n\t\t\tp.Add(\"state\", value: state, dbType: DbType.String, direction: ParameterDirection.InputOutput, size: 50);\n\t\t\tp.Add(\"category\", value: category, dbType: DbType.String, direction: ParameterDirection.InputOutput, size: 50);\n\t\t\tp.Add(\"startDate\", value: startDate, dbType: DbType.DateTime2, direction: ParameterDirection.InputOutput);\n\t\t\tp.Add(\"serviceCharacteristic\", value: serviceCharacteristic, dbType: DbType.String, direction: ParameterDirection.InputOutput, size: -1);\n\t\t\tp.Add(\"note\", value: note, dbType: DbType.String, size: -1);\n\t\t\tp.Add(\"hasStarted\", value: hasStarted, dbType: DbType.Boolean, direction: ParameterDirection.InputOutput);\n\t\t\tp.Add(\"isServiceEnabled\", value: isServiceEnabled, dbType: DbType.Boolean, direction: ParameterDirection.InputOutput);\n\t\t\tp.Add(\"ErrFormat\", value: ErrFormat, dbType: DbType.String, size: 24);\n\t\t\tp.Add(\"Lang\", value: Lang, dbType: DbType.String, direction: ParameterDirection.InputOutput, size: 3);\n\n\t\t\tstring dbConnection = Parameters.sqlConnectionString;\n\t\t\tvar procedure = \"[dbo].[p_ucp_set_ServiceOrder]\";\n\t\t\tusing (var connection = new SqlConnection(dbConnection))\n\t\t\t{\n\t\t\t\tconnection.Execute(procedure, p, commandType: CommandType.StoredProcedure);\n\t\t\t}\n\n\n\t\t\tService_Response_SET result = new Service_Response_SET();\n\t\t\tresult.feature = new JSON(p.Get<string>(\"feature\")).Cast<Feature[]>();\n\t\t\tresult.Accept_Language = p.Get<string>(\"Lang\");\n\t\t\tresult.x_ms_client_request_id = p.Get<string>(\"x_ms_client_request_id\");\n\t\t\tresult.startDate = p.Get<DateTime?>(\"startDate\");\n\t\t\tresult.state = p.Get<string>(\"state\");\n\t\t\tresult.category = p.Get<string>(\"category\");\n\t\t\tresult.hasStarted = p.Get<bool?>(\"hasStarted\");\n\t\t\tresult.id = p.Get<string>(\"id\");\n\t\t\tresult.isServiceEnabled = p.Get<bool?>(\"isServiceEnabled\");\n\t\t\tresult.relatedParty = new JSON(p.Get<string>(\"relatedParty\")).Cast<RelatedParty[]>();\n\t\t\tresult.serviceCharacteristic = new JSON(p.Get<string>(\"serviceCharacteristic\")).Cast<Characteristic[]>();\n\t\t\tresult.serviceDate = p.Get<DateTime?>(\"serviceDate\");\n\n\t\t\treturn result;\n }", "initParameters": [ { "name": "Result", "type": "Service_Response_SET", "required": false, "defaultValue": null }, { "name": "x_ms_client_request_id", "type": "string", "required": false, "defaultValue": null }, { "name": "id", "type": "string", "required": false, "defaultValue": null }, { "name": "serviceDate", "type": "datetime", "required": false, "defaultValue": null }, { "name": "description", "type": "string", "required": false, "defaultValue": null }, { "name": "supportingService", "type": "string", "required": false, "defaultValue": null }, { "name": "relatedParty", "type": "string", "required": false, "defaultValue": null }, { "name": "feature", "type": "string", "required": false, "defaultValue": null }, { "name": "state", "type": "string", "required": false, "defaultValue": null }, { "name": "category", "type": "string", "required": false, "defaultValue": null }, { "name": "startDate", "type": "datetime", "required": false, "defaultValue": null }, { "name": "serviceCharacteristic", "type": "string", "required": false, "defaultValue": null }, { "name": "note", "type": "string", "required": false, "defaultValue": null }, { "name": "hasStarted", "type": "bool", "required": false, "defaultValue": null }, { "name": "isServiceEnabled", "type": "bool", "required": false, "defaultValue": null }, { "name": "ErrFormat", "type": "string", "required": false, "defaultValue": null }, { "name": "Lang", "type": "string", "required": false, "defaultValue": null } ] }, { "name": "format_Validation_Error", "initCode": "Error format_Validation_Error (\n\t) \n {\n if (WorkflowEnvironment.Variables.TryGetValue (\"HttpResponse\", out object httpResponseObj))\n {\n Microsoft.AspNetCore.Http.HttpResponse response = httpResponseObj as Microsoft.AspNetCore.Http.HttpResponse;\n //Parameters.x_ms_client_request_id\n response.StatusCode = 404;\n } \n return new Error() \n { \n status = \"404\",\n message = $\"Validation error : id must be greater than 0\",\n reason = \"not found\"\n };\n }", "initParameters": [ { "name": "Result", "type": "Error", "required": false, "defaultValue": null } ] }, { "name": "HandleException", "initCode": "Error HandleException (\n\t\tPassingResult prevData\n\t) \n {\n try\n {\n //investigate the Exception \n Logger.LogInformation($\"Exception name : {prevData.Exception?.GetType()?.Name}\");\n\n Error result = new Error(){ status = \"500\"};\n if (prevData.Exception != null)\n {\n result = prevData.Exception.GetError(\"500\");\n }\n \n int statusCode = 500;\n int.TryParse(result?.status, out statusCode);\n \n WorkflowEnvironment.Variables[\"StatusCode\"] = 500; \n if (WorkflowEnvironment.Variables.TryGetValue (\"HttpResponse\", out object httpResponseObj))\n {\n Microsoft.AspNetCore.Http.HttpResponse response = httpResponseObj as Microsoft.AspNetCore.Http.HttpResponse;\n response.StatusCode = statusCode;\n } \n return result;\n }\n catch (Exception e) \n {\n Logger.LogError($\"HandleException:: error {e}\");\n if (WorkflowEnvironment.Variables.TryGetValue (\"HttpResponse\", out object httpResponseObj))\n {\n Microsoft.AspNetCore.Http.HttpResponse response = httpResponseObj as Microsoft.AspNetCore.Http.HttpResponse;\n //Parameters.x_ms_client_request_id\n response.StatusCode = 500;\n } \n return new Error() \n { \n status = \"500\",\n message = $\"Error while handle error ! {e.Message}\"\n };\n }\n }", "initParameters": [ { "name": "Result", "type": "Error", "required": false, "defaultValue": null }, { "name": "prevData", "type": "PassingResult", "required": true, "defaultValue": null } ] }, { "name": "p_ucp_set_ServiceOrder", "initCode": "Service_Response_PUT p_ucp_set_ServiceOrder (\n\t\tstring description,\n\t\tbool? isServiceEnabled,\n\t\tbool? hasStarted,\n\t\tdatetime? startDate,\n\t\tdatetime? endDate,\n\t\tstring note,\n\t\tstring category,\n\t\tstring feature,\n\t\tstring serviceCharacteristic,\n\t\tstring supportingService,\n\t\tstring relatedParty,\n\t\tstring state,\n\t\tstring serviceSpecification,\n\t\tdatetime? serviceDate,\n\t\tstring ErrFormat,\n\t\tstring Lang,\n\t\tstring x_ms_client_request_id,\n\t\tstring id\n\t) \n{\n var p = new DynamicParameters();\np.Add(\"description\", value: description, dbType: DbType.String, direction:ParameterDirection.Input, size:200);\np.Add(\"isServiceEnabled\", value: isServiceEnabled, dbType: DbType.Boolean, direction:ParameterDirection.Input);\np.Add(\"hasStarted\", value: hasStarted, dbType: DbType.Boolean, direction:ParameterDirection.Input);\np.Add(\"startDate\", value: startDate, dbType: DbType.DateTime2, direction:ParameterDirection.Input);\np.Add(\"endDate\", value: endDate, dbType: DbType.DateTime2, direction:ParameterDirection.Input);\np.Add(\"note\", value: note, dbType: DbType.String, direction:ParameterDirection.Input, size:-1);\np.Add(\"category\", value: category, dbType: DbType.String, direction:ParameterDirection.Input, size:50);\np.Add(\"feature\", value: feature, dbType: DbType.String, direction:ParameterDirection.Input, size:-1);\np.Add(\"serviceCharacteristic\", value: serviceCharacteristic, dbType: DbType.String, direction:ParameterDirection.Input, size:-1);\np.Add(\"supportingService\", value: supportingService, dbType: DbType.String, direction:ParameterDirection.Input, size:-1);\np.Add(\"relatedParty\", value: relatedParty, dbType: DbType.String, direction:ParameterDirection.Input, size:-1);\np.Add(\"state\", value: state, dbType: DbType.String, direction:ParameterDirection.Input, size:50);\np.Add(\"serviceSpecification\", value: serviceSpecification, dbType: DbType.String, direction:ParameterDirection.Input, size:-1);\np.Add(\"serviceDate\", value: serviceDate, dbType: DbType.DateTime2, direction:ParameterDirection.Input);\np.Add(\"ErrFormat\", value: ErrFormat, dbType: DbType.String, direction:ParameterDirection.Input, size:25);\np.Add(\"Lang\", value: Lang, dbType: DbType.String, direction:ParameterDirection.Input, size:3);\np.Add(\"x_ms_client_request_id\", value: x_ms_client_request_id, dbType: DbType.String, direction:ParameterDirection.Input, size:32);\np.Add(\"id\", value: id, dbType: DbType.String, direction:ParameterDirection.Input, size:24);\n\nstring sqlConnectionString = Parameters.sqlConnectionString;\nif (this.WorkflowEnvironment.Variables.TryGetValue(\"ConfigString\", out object configStr))\n{\n var configJson = new JSON(configStr).Cast<ServiceConfig>();\n if(!string.IsNullOrEmpty(configJson?.ConnectionString))\n {\n sqlConnectionString = configJson.ConnectionString;\n }\n};\n\nvar procedure = \"[dbo].[p_ucp_set_ServiceOrder]\";\nusing (var connection = new SqlConnection(sqlConnectionString))\n{\n connection.Execute(procedure, p, commandType: CommandType.StoredProcedure, commandTimeout:0);\n}\n// fill output params\nService_Response_PUT result = new Service_Response_PUT();\nresult.Accept_Language = p.Get<System.String>(\"Lang\");\nresult.relatedParty = string.IsNullOrEmpty(p.Get<string>(\"relatedParty\"))?new RelatedParty[]{new RelatedParty()}:new JSON(p.Get<string>(\"relatedParty\")).Cast<RelatedParty[]>();\nresult.x_ms_client_request_id = p.Get<System.String>(\"x_ms_client_request_id\");\nresult.category = p.Get<System.String>(\"category\");\nresult.feature = string.IsNullOrEmpty(p.Get<string>(\"feature\"))?new Feature[]{new Feature()}:new JSON(p.Get<string>(\"feature\")).Cast<Feature[]>();\nresult.hasStarted = p.Get<System.Boolean?>(\"hasStarted\");\nresult.isServiceEnabled = p.Get<System.Boolean?>(\"isServiceEnabled\");\nresult.serviceCharacteristic = string.IsNullOrEmpty(p.Get<string>(\"serviceCharacteristic\"))?new Characteristic[]{new Characteristic()}:new JSON(p.Get<string>(\"serviceCharacteristic\")).Cast<Characteristic[]>();\nresult.serviceDate = p.Get<System.DateTime?>(\"serviceDate\");\nresult.startDate = p.Get<System.DateTime?>(\"startDate\");\nresult.state = p.Get<System.String>(\"state\");\nresult.id = p.Get<System.String>(\"id\");\nresult.supportingService = string.IsNullOrEmpty(p.Get<string>(\"supportingService\"))?new ServiceReforValue[]{new ServiceReforValue()}:new JSON(p.Get<string>(\"supportingService\")).Cast<ServiceReforValue[]>();\nresult.endDate = p.Get<System.DateTime?>(\"endDate\");\n\n if (WorkflowEnvironment.RuntimeName == \"Plugin\")\n {\n if (WorkflowEnvironment.Variables.TryGetValue(\"HttpResponse\", out object httpResponseObj))\n {\n Microsoft.AspNetCore.Http.HttpResponse response = httpResponseObj as Microsoft.AspNetCore.Http.HttpResponse;\n response.Headers[\"Accept-Language\"] = result.Accept_Language;\n result.Accept_Language = null;\n response.Headers[\"x-ms-client-request-id\"] = result.x_ms_client_request_id;\n result.x_ms_client_request_id = null;\n }\n }\n\nreturn result;\n}\n", "initParameters": [ { "name": "description", "type": "string", "required": false, "defaultValue": null }, { "name": "isServiceEnabled", "type": "bool?", "required": false, "defaultValue": null }, { "name": "hasStarted", "type": "bool?", "required": false, "defaultValue": null }, { "name": "startDate", "type": "datetime?", "required": false, "defaultValue": null }, { "name": "endDate", "type": "datetime?", "required": false, "defaultValue": null }, { "name": "note", "type": "string", "required": false, "defaultValue": null }, { "name": "category", "type": "string", "required": false, "defaultValue": null }, { "name": "feature", "type": "string", "required": false, "defaultValue": null }, { "name": "serviceCharacteristic", "type": "string", "required": false, "defaultValue": null }, { "name": "supportingService", "type": "string", "required": false, "defaultValue": null }, { "name": "relatedParty", "type": "string", "required": false, "defaultValue": null }, { "name": "state", "type": "string", "required": false, "defaultValue": null }, { "name": "serviceSpecification", "type": "string", "required": false, "defaultValue": null }, { "name": "serviceDate", "type": "datetime?", "required": false, "defaultValue": null }, { "name": "ErrFormat", "type": "string", "required": false, "defaultValue": null }, { "name": "Lang", "type": "string", "required": false, "defaultValue": null }, { "name": "x_ms_client_request_id", "type": "string", "required": false, "defaultValue": null }, { "name": "id", "type": "string", "required": false, "defaultValue": null }, { "name": "Result", "type": "Service_Response_PUT", "required": false, "defaultValue": null } ] }, { "name": "proceedConfig", "initCode": "Note[] proceedConfig (\n\t) \n {\n string v_author = null;\n string v_hostname = null;\n Note[] notes = null;\n \n if(WorkflowEnvironment.RuntimeName == \"Plugin\")\n {\n if (this.WorkflowEnvironment.Variables.TryGetValue(\"ApiContext\", out object apiContextObj))\n {\n IApiContext apiContext = apiContextObj as IApiContext;\n v_author = apiContext.DataBag.UserName;\n v_hostname = apiContext.DataBag.From;\n }\n\t\t\t\tvar note = Input.note?.Select(n => new Note()\n\t\t\t\t{\n\t\t\t\t\tauthor = n.author,\n\t\t\t\t\thostname = n.hostname,\n\t\t\t\t\ttext = n.text\n\t\t\t\t})?.FirstOrDefault() ?? new Note();\n\t\t\t\t\n\t\t\t\tnote.author = v_author;\n\t\t\t\tnote.hostname = v_hostname;\n\t\t\t\t\n notes = new Note[1]{note};\n if (this.WorkflowEnvironment.Variables.TryGetValue(\"ConfigString\", out object configStr))\n {\n var configJson = new JSON(configStr).Cast<ServiceConfig>();\n if(!string.IsNullOrEmpty(configJson?.ConnectionString))\n {\n Parameters.sqlConnectionString = configJson.ConnectionString;\n }\n \n };\n }\n else\n {\n notes = Input.note; \n }\n return notes.ToList(); \n }", "initParameters": [ { "name": "Result", "type": "Note[]", "required": false, "defaultValue": null } ] }] [] [ { "name": "RestApi", "initCode": "functions://default/RestApi", "initParameters": [ { "name": "Uri", "type": "Uri", "required": true, "oldName": "Uri", "oldType": "Uri", "defaultValue": "http://servername:port/resource" }, { "name": "Method", "type": "string", "required": true, "oldName": "Method", "oldType": "string", "defaultValue": "GET" }, { "name": "Login", "type": "string", "required": false, "oldName": "Login", "oldType": "string", "defaultValue": null }, { "name": "Password", "type": "string", "required": false, "oldName": "Password", "oldType": "string", "defaultValue": null }, { "name": "Headers", "type": "StringDictionary", "required": false, "oldName": "Headers", "oldType": "StringDictionary", "defaultValue": "{\r\n \"Content-Type\":\"application/json;charset=utf-16\",\r\n \"system\":\"204\",\r\n \"global_unique_id\":\"6a297fcb-956e-4228-8c11-017e9bacd629\"\r\n }" }, { "name": "Body", "type": "string", "required": false, "oldName": "Body", "oldType": "string", "defaultValue": "{}" }, { "name": "Encoding", "type": "string", "required": false, "oldName": "Encoding", "oldType": "string", "defaultValue": "utf-8" }, { "name": "Result", "type": "HttpResponse", "required": false, "oldName": "Result", "oldType": "HttpResponse", "defaultValue": null } ], "oldName": "RestApi" }, { "name": "RestApi_Get", "initCode": "functions://default/RestApi/Get", "initParameters": [ { "name": "Uri", "type": "Uri", "required": true, "oldName": "Uri", "oldType": "Uri", "defaultValue": "http://servername:port/resource" }, { "name": "Login", "type": "string", "required": false, "oldName": "Login", "oldType": "string", "defaultValue": null }, { "name": "Password", "type": "string", "required": false, "oldName": "Password", "oldType": "string", "defaultValue": null }, { "name": "Headers", "type": "StringDictionary", "required": false, "oldName": "Headers", "oldType": "StringDictionary", "defaultValue": "{\r\n \"Content-Type\":\"application/json;charset=utf-16\",\r\n \"system\":\"204\",\r\n \"global_unique_id\":\"6a297fcb-956e-4228-8c11-017e9bacd629\"\r\n }" }, { "name": "Encoding", "type": "string", "required": false, "oldName": "Encoding", "oldType": "string", "defaultValue": "utf-8" }, { "name": "Result", "type": "HttpResponse", "required": false, "oldName": "Result", "oldType": "HttpResponse", "defaultValue": null } ], "oldName": "RestApi_Get" }, { "name": "JsonPath", "initCode": "functions://default//JsonPath", "initParameters": [ { "name": "Response", "type": "HttpResponse", "required": true, "oldName": "Response", "oldType": "HttpResponse", "defaultValue": null }, { "name": "Path", "type": "string", "required": false, "oldName": "Path", "oldType": "string", "defaultValue": "$" }, { "name": "Result", "type": "Json", "required": false, "oldName": "Result", "oldType": "Json", "defaultValue": null } ], "oldName": "JsonPath" }, { "name": "SaveVariable", "initCode": "functions://default//SaveVariable", "initParameters": [ { "name": "VariableName", "type": "string", "required": true, "oldName": "VariableName", "oldType": "string", "defaultValue": "varName" }, { "name": "Data", "type": "object", "required": true, "oldName": "Data", "oldType": "object", "defaultValue": "#previous" } ], "oldName": "SaveVariable" }, { "name": "Wait", "initCode": "functions://default//Wait", "initParameters": [ { "name": "millisecondsTimeout", "type": "int", "required": true, "oldName": "millisecondsTimeout", "oldType": "int", "defaultValue": "1000" } ], "oldName": "Wait" }, { "name": "SQL_Oracle_Query", "initCode": "functions://default//SQL/Oracle/Query", "initParameters": [ { "name": "userID", "type": "string", "required": true, "oldName": "userID", "oldType": "string", "defaultValue": null }, { "name": "password", "type": "string", "required": false, "oldName": "password", "oldType": "string", "defaultValue": null }, { "name": "dataSource", "type": "string", "required": false, "oldName": "dataSource", "oldType": "string", "defaultValue": null }, { "name": "query", "type": "string", "required": false, "oldName": "query", "oldType": "string", "defaultValue": null }, { "name": "Result", "type": "Collection", "required": false, "oldName": "Result", "oldType": "Collection", "defaultValue": null } ], "oldName": "SQL_Oracle_Query" }, { "name": "SQL_Oracle_Command", "initCode": "functions://default//SQL/Oracle/Command", "initParameters": [ { "name": "userID", "type": "string", "required": true, "oldName": "userID", "oldType": "string", "defaultValue": null }, { "name": "password", "type": "string", "required": false, "oldName": "password", "oldType": "string", "defaultValue": null }, { "name": "dataSource", "type": "string", "required": false, "oldName": "dataSource", "oldType": "string", "defaultValue": null }, { "name": "command", "type": "string", "required": false, "oldName": "command", "oldType": "string", "defaultValue": null }, { "name": "Result", "type": "int", "required": false, "oldName": "Result", "oldType": "int", "defaultValue": null } ], "oldName": "SQL_Oracle_Command" }] [] - [ { "name": "httpConfig", "type": "HttpConfig", "initialValue": "{\r\n \"host\":\"https://10.29.101.122\",\r\n \"port\":\"6992\",\r\n \"login\":\"login\",\r\n \"password\":\"password\",\r\n \"encoding\":\"utf-8\",\r\n \"headers\":{\r\n \"Content-Type\":\"application/vnd.api+json\",\r\n \"Accept\":\"application/vnd.api+json\"\r\n }\r\n}\r\n" }, { "name": "sqlConnectionString", "type": "string", "initialValue": "Data Source=sqlserv;Initial Catalog=unibill;User ID=login;Password=password;MultipleActiveResultSets=true;Encrypt=True;TrustServerCertificate=True;Command Timeout=3600" }] - { "serviceDate": "2023-11-01T00:00:00Z", "@type": "Service", "serviceSpecification": { "@type": "serviceSpecification", "id": "Mobile" }, "note": [ { "author": "domain+username", "hostname": "192.156.7.77", "text": "creating GSM services", "@type": "Note" } ], "supportingService": [ { "@type": "Service", "serviceSpecification": { "id": "SIM" }, "state": "activ", "serviceCharacteristic": [ { "valueType": "string", "id": "scrd_IMSI", "value": "228012176510739" }, { "valueType": "string", "id": "scrt_Code", "value": "UNI" }, { "valueType": "string", "id": "scrg_Code", "value": "default" }, { "valueType": "Integer", "id": "scrd_ICC", "value": 1 }, { "valueType": "string", "id": "scrd_PUK1", "value": "01231234" }, { "valueType": "string", "id": "scrd_PUK2", "value": "01231234" }, { "valueType": "string", "id": "scrd_PIN1", "value": "0123" }, { "valueType": "string", "id": "scrd_PIN2", "value": "0123" }, { "valueType": "date-time", "id": "scrd_ExpirationDate", "value": "2999-12-31T23:59:59.997Z" } ] } ], "relatedParty": [ { "@referredType": "Customers", "id": "7702703", "IDType": 0 } ], "feature": [ { "@type": "Feature", "isEnabled": false, "name": "M2M Data Transmition Access", "featureCharacteristic": [ { "id": "ServiceCode", "valueType": "string", "value": "9215" }, { "id": "StatusCode", "valueType": "String", "value": "FinBlock" } ] }, { "@type": "Feature", "isEnabled": false, "name": "M2M SMS", "featureCharacteristic": [ { "id": "ServiceCode", "valueType": "string", "value": "9201" }, { "id": "StatusCode", "valueType": "String", "value": "FinBlock" } ] } ], "id": "7702744", "state": "activ", "category": "GSM", "startDate": "2023-11-01T00:00:00Z", "serviceCharacteristic": [ { "valueType": "string", "id": "MSISDN", "value": "38671234567" } ]} + [ { "name": "httpConfig", "type": "HttpConfig", "initialValue": "{\r\n \"host\":\"https://localhost\",\r\n \"port\":\"6992\",\r\n \"login\":\"login\",\r\n \"password\":\"password\",\r\n \"encoding\":\"utf-8\",\r\n \"headers\":{\r\n \"Content-Type\":\"application/vnd.api+json\",\r\n \"Accept\":\"application/vnd.api+json\"\r\n }\r\n}\r\n" }, { "name": "sqlConnectionString", "type": "string", "initialValue": "Data Source=localhost;Initial Catalog=examples;User ID=login;Password=;MultipleActiveResultSets=true;Encrypt=True;TrustServerCertificate=True;Command Timeout=3600" }] + { "serviceDate": "2023-11-01T00:00:00Z", "@type": "Service", "serviceSpecification": { "@type": "serviceSpecification", "id": "Mobile" }, "note": [ { "author": "domain+username", "hostname": "localhost", "text": "creating GSM services", "@type": "Note" } ], "supportingService": [ { "@type": "Service", "serviceSpecification": { "id": "SIM" }, "state": "activ", "serviceCharacteristic": [ { "valueType": "string", "id": "scrd_IMSI", "value": "228012176510739" }, { "valueType": "string", "id": "scrt_Code", "value": "UNI" }, { "valueType": "string", "id": "scrg_Code", "value": "default" }, { "valueType": "Integer", "id": "scrd_ICC", "value": 1 }, { "valueType": "string", "id": "scrd_PUK1", "value": "01231234" }, { "valueType": "string", "id": "scrd_PUK2", "value": "01231234" }, { "valueType": "string", "id": "scrd_PIN1", "value": "0123" }, { "valueType": "string", "id": "scrd_PIN2", "value": "0123" }, { "valueType": "date-time", "id": "scrd_ExpirationDate", "value": "2999-12-31T23:59:59.997Z" } ] } ], "relatedParty": [ { "@referredType": "Customers", "id": "7702703", "IDType": 0 } ], "feature": [ { "@type": "Feature", "isEnabled": false, "name": "M2M Data Transmition Access", "featureCharacteristic": [ { "id": "ServiceCode", "valueType": "string", "value": "9215" }, { "id": "StatusCode", "valueType": "String", "value": "FinBlock" } ] }, { "@type": "Feature", "isEnabled": false, "name": "M2M SMS", "featureCharacteristic": [ { "id": "ServiceCode", "valueType": "string", "value": "9201" }, { "id": "StatusCode", "valueType": "String", "value": "FinBlock" } ] } ], "id": "7702744", "state": "activ", "category": "GSM", "startDate": "2023-11-01T00:00:00Z", "serviceCharacteristic": [ { "valueType": "string", "id": "MSISDN", "value": "38671234567" } ]} - { "status": "HttpRequestAttributes", "method": "PUT", "route": "{id}", "examples": { "Incorrect MSISDN-SIM precheck": { "summary": "", "description": "", "value": "{\n \"@type\":\"Service\",\n \"serviceSpecification\":{\n \"@type\":\"serviceSpecification\",\n \"id\":\"Mobile\"\n },\n \"note\":[\n {\n \"author\":\"domain+username\",\n \"hostname\":\"192.156.7.77\",\n \"text\":\"disabling GSM sim card\",\n \"@type\":\"Note\"\n }\n ],\n \"supportingService\":[\n {\n \"@type\":\"Service\",\n \"serviceSpecification\":{\n \"id\":\"SIM\"\n },\n \"serviceCharacteristic\":[\n {\n \"@type\":\"Characteristic\",\n \"id\":\"scrd_ICC\",\n \"value\":\"228012176510739\",\n \"valueType\":\"string\"\n }\n ],\n \"state\":\"temp\"\n }\n ]\n}" }, "Change SIM-card status only": { "summary": "", "description": "", "value": "{\n \"@type\":\"Service\",\n \"serviceSpecification\":{\n \"@type\":\"serviceSpecification\",\n \"id\":\"Mobile\"\n },\n \"note\":[\n {\n \"author\":\"domain+username\",\n \"hostname\":\"192.156.7.77\",\n \"text\":\"disabling GSM sim card\",\n \"@type\":\"Note\"\n }\n ],\n \"supportingService\":[\n {\n \"@type\":\"Service\",\n \"serviceSpecification\":{\n \"id\":\"SIM\"\n },\n \"serviceCharacteristic\":[\n {\n \"@type\":\"Characteristic\",\n \"id\":\"scrd_ICC\",\n \"value\":\"228012176510739\",\n \"valueType\":\"string\"\n }\n ],\n \"state\":\"temp\"\n }\n ]\n}" }, "Activate a Service": { "summary": "", "description": "", "value": "{\n \"category\" : \"1\",\n \"description\" : \"Creating services\",\n \"hasStarted\" : true,\n \"isServiceEnabled\" : true,\n \"serviceDate\" : \"2025-02-05T12:49:05.050Z\",\n \"startDate\" : \"2025-02-05T12:49:05.050Z\",\n \"state\" : \"activ\",\n \"note\" :\n [\n {\n \"@type\" : \"Note\",\n \"author\" : \"FCS_FCS_\",\n \"text\" : \"M2M Activation\"\n }\n ],\n \"relatedParty\" :\n [\n {\n \"@referredType\" : \"Customers\",\n \"id\" : \"9031408\"\n }\n ],\n \"serviceCharacteristic\" :\n [\n {\n \"id\" : \"MSISDN\",\n \"value\" : \"380671884293\",\n \"valueType\" : \"string\"\n }\n ],\n \"supportingService\" :\n [\n {\n \"@type\" : \"Service\",\n \"state\" : \"activ\",\n \"serviceCharacteristic\" :\n [\n {\n \"id\" : \"scrd_IMSI\",\n \"value\" : \"255030645328856\",\n \"valueType\" : \"string\"\n },\n {\n \"id\" : \"scrt_Code\",\n \"value\" : \"UNI\",\n \"valueType\" : \"string\"\n },\n {\n \"id\" : \"scrg_Code\",\n \"value\" : \"default\",\n \"valueType\" : \"string\"\n },\n {\n \"id\" : \"scrd_ICC\",\n \"value\" : \"893800399296739639\",\n \"valueType\" : \"string\"\n },\n {\n \"id\" : \"scrd_PUK1\",\n \"value\" : \"94728831\",\n \"valueType\" : \"string\"\n },\n {\n \"id\" : \"scrd_PUK2\",\n \"value\" : \"89313440\",\n \"valueType\" : \"string\"\n },\n {\n \"id\" : \"scrd_PIN1\",\n \"value\" : \"1111\",\n \"valueType\" : \"string\"\n },\n {\n \"id\" : \"scrd_PIN2\",\n \"value\" : \"7772\",\n \"valueType\" : \"string\"\n },\n {\n \"id\" : \"scrs_Code\",\n \"value\" : \"activ\",\n \"valueType\" : \"string\"\n },\n {\n \"id\" : \"scrd_ExpirationDate\",\n \"value\" : \"2099-12-31T23:59:59.999Z\",\n \"valueType\" : \"date-time\"\n }\n ]\n }\n ],\n \"@type\" : \"Service\",\n \"id\" : \"01-9774134\"\n}" }, "Disable a Service Feature": { "summary": "", "description": "", "value": "{\n \"note\":[\n {\n \"author\":\"domain+username\",\n \"hostname\":\"192.156.7.77\",\n \"text\":\"creating GSM services\",\n \"@type\":\"Note\"\n }\n ],\n \"feature\":[\n {\n \"@type\":\"Feature\",\n \"isEnabled\":false,\n \"featureCharacteristic\":[\n {\n \"id\":\"ServiceCode\",\n \"valueType\":\"string\",\n \"value\":\"{{Srv_Code1}}\"\n },\n {\n \"id\":\"StatusCode\",\n \"valueType\":\"String\",\n \"value\":\"FinBlock\"\n }\n ]\n },\n {\n \"@type\":\"Feature\",\n \"isEnabled\":false,\n \"featureCharacteristic\":[\n {\n \"id\":\"ServiceCode\",\n \"valueType\":\"string\",\n \"value\":\"{{Srv_Code2}}\"\n },\n {\n \"id\":\"StatusCode\",\n \"valueType\":\"String\",\n \"value\":\"FinBlock\"\n }\n ]\n }\n]\n}" }, "Enable a Service Feature": { "summary": "", "description": "", "value": "{\n \"note\":[\n {\n \"author\":\"domain+username\",\n \"hostname\":\"192.156.7.77\",\n \"text\":\"creating GSM services\",\n \"@type\":\"Note\"\n }\n ],\n \"feature\":[\n {\n \"@type\":\"Feature\",\n \"isEnabled\":true,\n \"featureCharacteristic\":[\n {\n \"id\":\"ServiceCode\",\n \"valueType\":\"string\",\n \"value\":\"{{Srv_Code1}}\"\n }\n ]\n },\n {\n \"@type\":\"Feature\",\n \"isEnabled\":true,\n \"featureCharacteristic\":[\n {\n \"id\":\"ServiceCode\",\n \"valueType\":\"string\",\n \"value\":\"{{Srv_Code2}}\"\n }\n ]\n }\n]\n}" }, "Change both statuses": { "summary": "", "description": "", "value": "{\n \"@type\":\"Service\",\n \"serviceSpecification\":{\n \"@type\":\"serviceSpecification\",\n \"id\":\"Mobile\"\n },\n \"note\":[\n {\n \"author\":\"domain+username\",\n \"hostname\":\"192.156.7.77\",\n \"text\":\"disabling GSM sim card\",\n \"@type\":\"Note\"\n }\n ],\n \"supportingService\":[\n {\n \"@type\":\"Service\",\n \"serviceSpecification\":{\n \"id\":\"SIM\"\n },\n \"serviceCharacteristic\":[\n {\n \"@type\":\"Characteristic\",\n \"id\":\"scrd_ICC\",\n \"value\":\"228012176510739\",\n \"valueType\":\"string\"\n }\n ],\n \"state\":\"temp\"\n }\n ]\n}" }, "Change SIM group by ICC": { "summary": "", "description": "", "value": "{\n \"id\":\"{{Service_id}}\",\n \"@type\":\"Service\",\n \"serviceSpecification\":{\n \"@type\":\"serviceSpecification\",\n \"id\":\"Mobile\"\n },\n \"note\":[\n {\n \"author\":\"domain+username\",\n \"hostname\":\"192.156.7.77\",\n \"text\":\"changeing the group of GSM sim card\",\n \"@type\":\"Note\"\n }\n ],\n \"supportingService\":[\n {\n \"@type\":\"Service\",\n \"serviceSpecification\":{\n \"id\":\"SIM\"\n },\n \"serviceCharacteristic\":[\n {\n \"@type\":\"Characteristic\",\n \"valueType\":\"Integer\",\n \"id\":\"scrd_ICC\",\n \"value\":\"{{ICC}}\"\n },\n {\n \"@type\":\"Characteristic\",\n \"valueType\":\"string\",\n \"id\":\"scrg_Code\",\n \"value\":\"{{SIM_group}}\"\n }\n ]\n }\n ]\n}" }, "Incorrect Service ID": { "summary": "", "description": "", "value": "{\n \"@type\":\"Service\",\n \"serviceSpecification\":{\n \"@type\":\"serviceSpecification\",\n \"id\":\"Mobile\"\n },\n \"note\":[\n {\n \"author\":\"domain+username\",\n \"hostname\":\"192.156.7.77\",\n \"text\":\"changeing the group of GSM sim card\",\n \"@type\":\"Note\"\n }\n ],\n \"supportingService\":[\n {\n \"id\": \"02-42\",\n \"@type\":\"Service\",\n \"serviceSpecification\":{\n \"id\":\"SIM\"\n },\n \"serviceCharacteristic\":[\n {\n \"@type\":\"Characteristic\",\n \"valueType\":\"Integer\",\n \"id\":\"scrd_ICC\",\n \"value\":\"{{ICC}}\"\n },\n {\n \"@type\":\"Characteristic\",\n \"valueType\":\"string\",\n \"id\":\"scrg_Code\",\n \"value\":\"{{SIM_group}}\"\n }\n ]\n }\n ]\n}" }, "Purge SIM-card": { "summary": "", "description": "", "value": "{\n \"@type\":\"Service\",\n \"serviceSpecification\":{\n \"@type\":\"serviceSpecification\",\n \"id\":\"SIM\"\n },\n \"note\":[\n {\n \"author\":\"domain+username\",\n \"hostname\":\"192.156.7.77\",\n \"text\":\"purging GSM sim card\",\n \"@type\":\"Note\"\n }\n ],\n \"serviceCharacteristic\":[\n {\n \"valueType\":\"string\",\n \"id\":\"scrd_IMSI\",\n \"value\":\"{{new_IMSI}}\"\n }\n ],\n \"state\":\"close\",\n \"endDate\":\"{{close_date}}\"\n}" }, "Replace SIM-card": { "summary": "", "description": "", "value": "{\n \"@type\":\"Service\",\n \"serviceSpecification\":{\n \"@type\":\"serviceSpecification\",\n \"id\":\"SIM\"\n },\n \"note\":[\n {\n \"author\":\"domain+username\",\n \"hostname\":\"192.156.7.77\",\n \"text\":\"replacing GSM sim card\",\n \"@type\":\"Note\"\n }\n ],\n \"serviceCharacteristic\":[\n {\n \"valueType\":\"string\",\n \"id\":\"scrd_IMSI\",\n \"value\":\"{{new_IMSI}}\"\n },\n {\n \"valueType\":\"string\",\n \"id\":\"scrt_Code\",\n \"value\":\"UNI\"\n },\n {\n \"valueType\":\"string\",\n \"id\":\"scrg_Code\",\n \"value\":\"{{SIM_group}}\"\n },\n {\n \"valueType\":\"Integer\",\n \"id\":\"scrd_ICC\",\n \"value\":\"{{new_ICC}}\"\n },\n {\n \"valueType\":\"string\",\n \"id\":\"scrd_PUK1\",\n \"value\":\"01231234\"\n },\n {\n \"valueType\":\"string\",\n \"id\":\"scrd_PUK2\",\n \"value\":\"01231234\"\n },\n {\n \"valueType\":\"string\",\n \"id\":\"scrd_PIN1\",\n \"value\":\"0123\"\n },\n {\n \"valueType\":\"string\",\n \"id\":\"scrd_PIN2\",\n \"value\":\"0123\"\n },\n {\n \"valueType\":\"date-time\",\n \"id\":\"scrd_ExpirationDate\",\n \"value\":\"2999-12-31T23:59:59.997Z\"\n }\n ],\n \"state\":\"{{Active_state}}\",\n \"startDate\":\"{{replace_startDate}}\"\n}" } }} + { "status": "HttpRequestAttributes", "method": "PUT", "route": "{id}", "examples": { "Incorrect MSISDN-SIM precheck": { "summary": "", "description": "", "value": "{\n \"@type\":\"Service\",\n \"serviceSpecification\":{\n \"@type\":\"serviceSpecification\",\n \"id\":\"Mobile\"\n },\n \"note\":[\n {\n \"author\":\"domain+username\",\n \"hostname\":\"localhost\",\n \"text\":\"disabling GSM sim card\",\n \"@type\":\"Note\"\n }\n ],\n \"supportingService\":[\n {\n \"@type\":\"Service\",\n \"serviceSpecification\":{\n \"id\":\"SIM\"\n },\n \"serviceCharacteristic\":[\n {\n \"@type\":\"Characteristic\",\n \"id\":\"scrd_ICC\",\n \"value\":\"228012176510739\",\n \"valueType\":\"string\"\n }\n ],\n \"state\":\"temp\"\n }\n ]\n}" }, "Change SIM-card status only": { "summary": "", "description": "", "value": "{\n \"@type\":\"Service\",\n \"serviceSpecification\":{\n \"@type\":\"serviceSpecification\",\n \"id\":\"Mobile\"\n },\n \"note\":[\n {\n \"author\":\"domain+username\",\n \"hostname\":\"localhost\",\n \"text\":\"disabling GSM sim card\",\n \"@type\":\"Note\"\n }\n ],\n \"supportingService\":[\n {\n \"@type\":\"Service\",\n \"serviceSpecification\":{\n \"id\":\"SIM\"\n },\n \"serviceCharacteristic\":[\n {\n \"@type\":\"Characteristic\",\n \"id\":\"scrd_ICC\",\n \"value\":\"228012176510739\",\n \"valueType\":\"string\"\n }\n ],\n \"state\":\"temp\"\n }\n ]\n}" }, "Activate a Service": { "summary": "", "description": "", "value": "{\n \"category\" : \"1\",\n \"description\" : \"Creating services\",\n \"hasStarted\" : true,\n \"isServiceEnabled\" : true,\n \"serviceDate\" : \"2025-02-05T12:49:05.050Z\",\n \"startDate\" : \"2025-02-05T12:49:05.050Z\",\n \"state\" : \"activ\",\n \"note\" :\n [\n {\n \"@type\" : \"Note\",\n \"author\" : \"example-author\",\n \"text\" : \"M2M Activation\"\n }\n ],\n \"relatedParty\" :\n [\n {\n \"@referredType\" : \"Customers\",\n \"id\" : \"9031408\"\n }\n ],\n \"serviceCharacteristic\" :\n [\n {\n \"id\" : \"MSISDN\",\n \"value\" : \"380671884293\",\n \"valueType\" : \"string\"\n }\n ],\n \"supportingService\" :\n [\n {\n \"@type\" : \"Service\",\n \"state\" : \"activ\",\n \"serviceCharacteristic\" :\n [\n {\n \"id\" : \"scrd_IMSI\",\n \"value\" : \"255030645328856\",\n \"valueType\" : \"string\"\n },\n {\n \"id\" : \"scrt_Code\",\n \"value\" : \"UNI\",\n \"valueType\" : \"string\"\n },\n {\n \"id\" : \"scrg_Code\",\n \"value\" : \"default\",\n \"valueType\" : \"string\"\n },\n {\n \"id\" : \"scrd_ICC\",\n \"value\" : \"893800399296739639\",\n \"valueType\" : \"string\"\n },\n {\n \"id\" : \"scrd_PUK1\",\n \"value\" : \"94728831\",\n \"valueType\" : \"string\"\n },\n {\n \"id\" : \"scrd_PUK2\",\n \"value\" : \"89313440\",\n \"valueType\" : \"string\"\n },\n {\n \"id\" : \"scrd_PIN1\",\n \"value\" : \"1111\",\n \"valueType\" : \"string\"\n },\n {\n \"id\" : \"scrd_PIN2\",\n \"value\" : \"7772\",\n \"valueType\" : \"string\"\n },\n {\n \"id\" : \"scrs_Code\",\n \"value\" : \"activ\",\n \"valueType\" : \"string\"\n },\n {\n \"id\" : \"scrd_ExpirationDate\",\n \"value\" : \"2099-12-31T23:59:59.999Z\",\n \"valueType\" : \"date-time\"\n }\n ]\n }\n ],\n \"@type\" : \"Service\",\n \"id\" : \"01-9774134\"\n}" }, "Disable a Service Feature": { "summary": "", "description": "", "value": "{\n \"note\":[\n {\n \"author\":\"domain+username\",\n \"hostname\":\"localhost\",\n \"text\":\"creating GSM services\",\n \"@type\":\"Note\"\n }\n ],\n \"feature\":[\n {\n \"@type\":\"Feature\",\n \"isEnabled\":false,\n \"featureCharacteristic\":[\n {\n \"id\":\"ServiceCode\",\n \"valueType\":\"string\",\n \"value\":\"{{Srv_Code1}}\"\n },\n {\n \"id\":\"StatusCode\",\n \"valueType\":\"String\",\n \"value\":\"FinBlock\"\n }\n ]\n },\n {\n \"@type\":\"Feature\",\n \"isEnabled\":false,\n \"featureCharacteristic\":[\n {\n \"id\":\"ServiceCode\",\n \"valueType\":\"string\",\n \"value\":\"{{Srv_Code2}}\"\n },\n {\n \"id\":\"StatusCode\",\n \"valueType\":\"String\",\n \"value\":\"FinBlock\"\n }\n ]\n }\n]\n}" }, "Enable a Service Feature": { "summary": "", "description": "", "value": "{\n \"note\":[\n {\n \"author\":\"domain+username\",\n \"hostname\":\"localhost\",\n \"text\":\"creating GSM services\",\n \"@type\":\"Note\"\n }\n ],\n \"feature\":[\n {\n \"@type\":\"Feature\",\n \"isEnabled\":true,\n \"featureCharacteristic\":[\n {\n \"id\":\"ServiceCode\",\n \"valueType\":\"string\",\n \"value\":\"{{Srv_Code1}}\"\n }\n ]\n },\n {\n \"@type\":\"Feature\",\n \"isEnabled\":true,\n \"featureCharacteristic\":[\n {\n \"id\":\"ServiceCode\",\n \"valueType\":\"string\",\n \"value\":\"{{Srv_Code2}}\"\n }\n ]\n }\n]\n}" }, "Change both statuses": { "summary": "", "description": "", "value": "{\n \"@type\":\"Service\",\n \"serviceSpecification\":{\n \"@type\":\"serviceSpecification\",\n \"id\":\"Mobile\"\n },\n \"note\":[\n {\n \"author\":\"domain+username\",\n \"hostname\":\"localhost\",\n \"text\":\"disabling GSM sim card\",\n \"@type\":\"Note\"\n }\n ],\n \"supportingService\":[\n {\n \"@type\":\"Service\",\n \"serviceSpecification\":{\n \"id\":\"SIM\"\n },\n \"serviceCharacteristic\":[\n {\n \"@type\":\"Characteristic\",\n \"id\":\"scrd_ICC\",\n \"value\":\"228012176510739\",\n \"valueType\":\"string\"\n }\n ],\n \"state\":\"temp\"\n }\n ]\n}" }, "Change SIM group by ICC": { "summary": "", "description": "", "value": "{\n \"id\":\"{{Service_id}}\",\n \"@type\":\"Service\",\n \"serviceSpecification\":{\n \"@type\":\"serviceSpecification\",\n \"id\":\"Mobile\"\n },\n \"note\":[\n {\n \"author\":\"domain+username\",\n \"hostname\":\"localhost\",\n \"text\":\"changeing the group of GSM sim card\",\n \"@type\":\"Note\"\n }\n ],\n \"supportingService\":[\n {\n \"@type\":\"Service\",\n \"serviceSpecification\":{\n \"id\":\"SIM\"\n },\n \"serviceCharacteristic\":[\n {\n \"@type\":\"Characteristic\",\n \"valueType\":\"Integer\",\n \"id\":\"scrd_ICC\",\n \"value\":\"{{ICC}}\"\n },\n {\n \"@type\":\"Characteristic\",\n \"valueType\":\"string\",\n \"id\":\"scrg_Code\",\n \"value\":\"{{SIM_group}}\"\n }\n ]\n }\n ]\n}" }, "Incorrect Service ID": { "summary": "", "description": "", "value": "{\n \"@type\":\"Service\",\n \"serviceSpecification\":{\n \"@type\":\"serviceSpecification\",\n \"id\":\"Mobile\"\n },\n \"note\":[\n {\n \"author\":\"domain+username\",\n \"hostname\":\"localhost\",\n \"text\":\"changeing the group of GSM sim card\",\n \"@type\":\"Note\"\n }\n ],\n \"supportingService\":[\n {\n \"id\": \"02-42\",\n \"@type\":\"Service\",\n \"serviceSpecification\":{\n \"id\":\"SIM\"\n },\n \"serviceCharacteristic\":[\n {\n \"@type\":\"Characteristic\",\n \"valueType\":\"Integer\",\n \"id\":\"scrd_ICC\",\n \"value\":\"{{ICC}}\"\n },\n {\n \"@type\":\"Characteristic\",\n \"valueType\":\"string\",\n \"id\":\"scrg_Code\",\n \"value\":\"{{SIM_group}}\"\n }\n ]\n }\n ]\n}" }, "Purge SIM-card": { "summary": "", "description": "", "value": "{\n \"@type\":\"Service\",\n \"serviceSpecification\":{\n \"@type\":\"serviceSpecification\",\n \"id\":\"SIM\"\n },\n \"note\":[\n {\n \"author\":\"domain+username\",\n \"hostname\":\"localhost\",\n \"text\":\"purging GSM sim card\",\n \"@type\":\"Note\"\n }\n ],\n \"serviceCharacteristic\":[\n {\n \"valueType\":\"string\",\n \"id\":\"scrd_IMSI\",\n \"value\":\"{{new_IMSI}}\"\n }\n ],\n \"state\":\"close\",\n \"endDate\":\"{{close_date}}\"\n}" }, "Replace SIM-card": { "summary": "", "description": "", "value": "{\n \"@type\":\"Service\",\n \"serviceSpecification\":{\n \"@type\":\"serviceSpecification\",\n \"id\":\"SIM\"\n },\n \"note\":[\n {\n \"author\":\"domain+username\",\n \"hostname\":\"localhost\",\n \"text\":\"replacing GSM sim card\",\n \"@type\":\"Note\"\n }\n ],\n \"serviceCharacteristic\":[\n {\n \"valueType\":\"string\",\n \"id\":\"scrd_IMSI\",\n \"value\":\"{{new_IMSI}}\"\n },\n {\n \"valueType\":\"string\",\n \"id\":\"scrt_Code\",\n \"value\":\"UNI\"\n },\n {\n \"valueType\":\"string\",\n \"id\":\"scrg_Code\",\n \"value\":\"{{SIM_group}}\"\n },\n {\n \"valueType\":\"Integer\",\n \"id\":\"scrd_ICC\",\n \"value\":\"{{new_ICC}}\"\n },\n {\n \"valueType\":\"string\",\n \"id\":\"scrd_PUK1\",\n \"value\":\"01231234\"\n },\n {\n \"valueType\":\"string\",\n \"id\":\"scrd_PUK2\",\n \"value\":\"01231234\"\n },\n {\n \"valueType\":\"string\",\n \"id\":\"scrd_PIN1\",\n \"value\":\"0123\"\n },\n {\n \"valueType\":\"string\",\n \"id\":\"scrd_PIN2\",\n \"value\":\"0123\"\n },\n {\n \"valueType\":\"date-time\",\n \"id\":\"scrd_ExpirationDate\",\n \"value\":\"2999-12-31T23:59:59.997Z\"\n }\n ],\n \"state\":\"{{Active_state}}\",\n \"startDate\":\"{{replace_startDate}}\"\n}" } }} Flow_0kpvmna diff --git a/tmforum-apis/TMF640_Service_Activation_and_Configuration/TMF640_Service_Activation.postman_collection.json b/tmforum-apis/TMF640_Service_Activation_and_Configuration/TMF640_Service_Activation.postman_collection.json index 3348072..157bc8a 100644 --- a/tmforum-apis/TMF640_Service_Activation_and_Configuration/TMF640_Service_Activation.postman_collection.json +++ b/tmforum-apis/TMF640_Service_Activation_and_Configuration/TMF640_Service_Activation.postman_collection.json @@ -1,2836 +1,2833 @@ { - "info": { - "_postman_id": "470bc301-5d8e-4fe2-94d9-27bf4c34a788", - "name": "TMF640 Service Activation (MEF.DEV)", - "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json", - "_exporter_id": "16338639", - "_collection_link": "https://mef-dev.postman.co/workspace/mef-dev-Workspace~fe94183d-bd30-4fd9-8c8d-71a74155a6dc/collection/16338639-470bc301-5d8e-4fe2-94d9-27bf4c34a788?action=share&source=collection_link&creator=16338639" - }, - "item": [ - { - "name": "service", - "item": [ - { - "name": "List or find Service objects", - "protocolProfileBehavior": { - "disableBodyPruning": true - }, - "request": { - "auth": { - "type": "basic", - "basic": [ - { - "key": "username", - "value": "login", - "type": "string" - }, - { - "key": "password", - "value": "password", - "type": "string" - } - ] - }, - "method": "GET", - "header": [ - { - "key": "Accept", - "value": "application/json;charset=utf-8" - }, - { - "key": "Content-Type", - "value": "application/json;charset=utf-8" - }, - { - "key": "x-ms-client-request-id", - "value": "20412345678903142363799", - "disabled": true - }, - { - "key": "Accept-Language", - "value": "en" - } - ], - "body": { - "mode": "raw", - "raw": "" - }, - "url": { - "raw": "{{API}}/api/v2/tmf/service/{{Service_id}}", - "host": [ - "{{API}}" - ], - "path": [ - "api", - "v2", - "tmf", - "service", - "{{Service_id}}" - ] - }, - "description": "This operation list or find Service entities" - }, - "response": [ - { - "name": "by MSISDN", - "originalRequest": { - "method": "GET", - "header": [ - { - "key": "Accept", - "value": "application/json;charset=utf-8", - "type": "text" - }, - { - "key": "Content-Type", - "value": "application/json;charset=utf-8", - "type": "text" - }, - { - "key": "x-ms-client-request-id", - "value": "20412345678903142363799", - "type": "text" - }, - { - "key": "Accept-Language", - "value": "en", - "type": "text" - } - ], - "url": { - "raw": "{{API}}/api/v2/tmf/service?offset=1&limit=50&serviceCharacteristic=[{\"valueType\":\"string\",\"id\":\"MSISDN\",\"value\":\"0671234568\"}]&sort=-id", - "host": [ - "{{API}}" - ], - "path": [ - "api", - "v2", - "tmf", - "service" - ], - "query": [ - { - "key": "offset", - "value": "1" - }, - { - "key": "limit", - "value": "50" - }, - { - "key": "serviceCharacteristic", - "value": "[{\"valueType\":\"string\",\"id\":\"MSISDN\",\"value\":\"0671234568\"}]" - }, - { - "key": "sort", - "value": "-id" - } - ] - } - }, - "status": "OK", - "code": 200, - "_postman_previewlanguage": "plain", - "header": [ - { - "key": "Transfer-Encoding", - "value": "chunked" - }, - { - "key": "Content-Type", - "value": "text/plain; charset=utf-8" - }, - { - "key": "Content-Encoding", - "value": "gzip" - }, - { - "key": "Content-Range", - "value": "items 1-1/1" - }, - { - "key": "Vary", - "value": "Accept-Encoding" - }, - { - "key": "Accept-Language", - "value": "en" - }, - { - "key": "x-ms-client-request-id", - "value": "20412345678903142363799" - }, - { - "key": "X-Total-Count", - "value": "1" - }, - { - "key": "X-Page-Count", - "value": "1" - }, - { - "key": "cacheStatus", - "value": "Added" - }, - { - "key": "Access-Control-Allow-Methods", - "value": "GET, PUT, POST, DELETE, OPTIONS, HEAD" - }, - { - "key": "Access-Control-Allow-Headers", - "value": "Authorization,Pragma,Cache-control,Content-type" - }, - { - "key": "Access-Control-Allow-Credentials", - "value": "true" - }, - { - "key": "Date", - "value": "Fri, 22 Mar 2024 08:03:53 GMT" - } - ], - "cookie": [], - "body": "[\r\n{\r\n \"feature\": [\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9001-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Addon Fee\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9201-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Access\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9204-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Access\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9205-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Roaming Access\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9211-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Access\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9214-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Access\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9215-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Access\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9301-20403000000011753759\",\r\n \"isEnabled\": true,\r\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9301\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2023-11-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Enable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295753\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9321-20403000000011753761\",\r\n \"isEnabled\": true,\r\n \"name\": \"M2M Data Transmition Roaming Penalty Fee (Zone 1)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9321\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2023-11-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Enable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295753\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9331-20403000000011753762\",\r\n \"isEnabled\": true,\r\n \"name\": \"M2M Data Transmition Roaming Penalty Fee (Zone 2)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9331\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2023-11-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Enable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295753\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9000-20403000000011753763\",\r\n \"isEnabled\": true,\r\n \"name\": \"M2M Monthly Fee\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9000\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2023-11-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Enable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295753\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9303-20403000000011753765\",\r\n \"isEnabled\": true,\r\n \"name\": \"M2M SMS Penalty Fee Off-Net\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9303\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2023-11-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Enable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295753\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9302-20403000000011753766\",\r\n \"isEnabled\": true,\r\n \"name\": \"M2M SMS Penalty Fee On-Net\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9302\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2023-11-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Enable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295753\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9304-20403000000011753767\",\r\n \"isEnabled\": true,\r\n \"name\": \"M2M SMS Penalty Fee World\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9304\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2023-11-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Enable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295753\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9323-20403000000011753769\",\r\n \"isEnabled\": true,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home Off-net (Zone 1) \",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9323\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2023-11-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Enable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295753\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9333-20403000000011753770\",\r\n \"isEnabled\": true,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home Off-net (Zone 2)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9333\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2023-11-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Enable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295753\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9322-20403000000011753771\",\r\n \"isEnabled\": true,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home On-net (Zone 1)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9322\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2023-11-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Enable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295753\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9332-20403000000011753772\",\r\n \"isEnabled\": true,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home On-net (Zone 2)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9332\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2023-11-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Enable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295753\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9324-20403000000011753773\",\r\n \"isEnabled\": true,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Host Country (Zone 1)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9324\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2023-11-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Enable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295753\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9334-20403000000011753774\",\r\n \"isEnabled\": true,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Host Country (Zone 2)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9334\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2023-11-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Enable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295753\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9325-20403000000011753775\",\r\n \"isEnabled\": true,\r\n \"name\": \"M2M SMS Roaming Penalty Fee World (Zone 1)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9325\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2023-11-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Enable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295753\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9335-20403000000011753776\",\r\n \"isEnabled\": true,\r\n \"name\": \"M2M SMS Roaming Penalty Fee World (Zone 2)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9335\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2023-11-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Enable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295753\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9306-20403000000011753778\",\r\n \"isEnabled\": true,\r\n \"name\": \"M2M Voice Penalty Fee Off-Net\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9306\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2023-11-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Enable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295753\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9305-20403000000011753779\",\r\n \"isEnabled\": true,\r\n \"name\": \"M2M Voice Penalty Fee On-Net\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9305\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2023-11-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Enable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295753\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9307-20403000000011753780\",\r\n \"isEnabled\": true,\r\n \"name\": \"M2M Voice Penalty Fee World\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9307\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2023-11-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Enable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295753\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9336-20403000000011753782\",\r\n \"isEnabled\": true,\r\n \"name\": \"M2M Voice Roaming Penalty Fee (Home On-net (Zone 2)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9336\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2023-11-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Enable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295753\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9327-20403000000011753783\",\r\n \"isEnabled\": true,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home Off-net (Zone 1)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9327\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2023-11-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Enable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295753\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9337-20403000000011753784\",\r\n \"isEnabled\": true,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home Off-net (Zone 2)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9337\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2023-11-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Enable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295753\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9326-20403000000011753785\",\r\n \"isEnabled\": true,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home On-net (Zone 1)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9326\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2023-11-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Enable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295753\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9328-20403000000011753786\",\r\n \"isEnabled\": true,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Host Country (Zone 1)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9328\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2023-11-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Enable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295753\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9338-20403000000011753787\",\r\n \"isEnabled\": true,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Host Country (Zone 2)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9338\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2023-11-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Enable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295753\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9341-20403000000011753788\",\r\n \"isEnabled\": true,\r\n \"name\": \"M2M Data Transmition Roaming Penalty Fee (Zone 3)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9341\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2023-11-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Enable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295753\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9351-20403000000011753789\",\r\n \"isEnabled\": true,\r\n \"name\": \"M2M Data Transmition Roaming Penalty Fee (Zone 4)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9351\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2023-11-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Enable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295753\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9343-20403000000011753790\",\r\n \"isEnabled\": true,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home Off-net (Zone 3) \",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9343\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2023-11-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Enable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295753\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9353-20403000000011753791\",\r\n \"isEnabled\": true,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home Off-net (Zone 4)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9353\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2023-11-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Enable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295753\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9342-20403000000011753792\",\r\n \"isEnabled\": true,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home On-net (Zone 3)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9342\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2023-11-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Enable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295753\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9352-20403000000011753793\",\r\n \"isEnabled\": true,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home On-net (Zone 4)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9352\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2023-11-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Enable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295753\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9344-20403000000011753794\",\r\n \"isEnabled\": true,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Host Country (Zone 3)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9344\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2023-11-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Enable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295753\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9354-20403000000011753795\",\r\n \"isEnabled\": true,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Host Country (Zone 4)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9354\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2023-11-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Enable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295753\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9345-20403000000011753796\",\r\n \"isEnabled\": true,\r\n \"name\": \"M2M SMS Roaming Penalty Fee World (Zone 3)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9345\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2023-11-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Enable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295753\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9355-20403000000011753797\",\r\n \"isEnabled\": true,\r\n \"name\": \"M2M SMS Roaming Penalty Fee World (Zone 4)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9355\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2023-11-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Enable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295753\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9356-20403000000011753798\",\r\n \"isEnabled\": true,\r\n \"name\": \"M2M Voice Roaming Penalty Fee (Home On-net (Zone 4)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9356\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2023-11-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Enable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295753\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9347-20403000000011753799\",\r\n \"isEnabled\": true,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home Off-net (Zone 3)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9347\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2023-11-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Enable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295753\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9357-20403000000011753800\",\r\n \"isEnabled\": true,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home Off-net (Zone 4)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9357\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2023-11-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Enable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295753\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9346-20403000000011753801\",\r\n \"isEnabled\": true,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home On-net (Zone 3)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9346\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2023-11-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Enable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295753\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9348-20403000000011753802\",\r\n \"isEnabled\": true,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Host Country (Zone 3)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9348\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2023-11-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Enable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295753\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9358-20403000000011753803\",\r\n \"isEnabled\": true,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Host Country (Zone 4)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9358\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2023-11-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Enable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295753\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9329-20403000000011753804\",\r\n \"isEnabled\": true,\r\n \"name\": \"M2M Voice Roaming Penalty Fee World (Zone 1)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9329\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2023-11-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Enable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295753\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9339-20403000000011753805\",\r\n \"isEnabled\": true,\r\n \"name\": \"M2M Voice Roaming Penalty Fee World (Zone 2)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9339\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2023-11-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Enable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295753\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9349-20403000000011753806\",\r\n \"isEnabled\": true,\r\n \"name\": \"M2M Voice Roaming Penalty Fee World (Zone 3)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9349\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2023-11-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Enable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295753\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9359-20403000000011753807\",\r\n \"isEnabled\": true,\r\n \"name\": \"M2M Voice Roaming Penalty Fee World (Zone 4)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9359\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2023-11-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Enable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295753\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n }\r\n ],\r\n \"hasStarted\": false,\r\n \"isServiceEnabled\": true,\r\n \"relatedParty\": [\r\n {\r\n \"id\": \"7702217\",\r\n \"IDType\": 0,\r\n \"@referredType\": \"Customers\"\r\n }\r\n ],\r\n \"serviceDate\": \"2023-10-10T00:00:00\",\r\n \"id\": \"01-7702257\",\r\n \"category\": \"GSM\",\r\n \"serviceCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"MSISDN\",\r\n \"name\": \"MSISDN\",\r\n \"value\": \"0671234568\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"MSISDN\",\r\n \"name\": \"MSISDN\",\r\n \"value\": \"38671234590\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"MSISDN\",\r\n \"name\": \"MSISDN\",\r\n \"value\": \"38671234593\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"MSISDN\",\r\n \"name\": \"MSISDN\",\r\n \"value\": \"38671234591\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"MSISDN\",\r\n \"name\": \"MSISDN\",\r\n \"value\": \"38671234600\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"MSISDN\",\r\n \"name\": \"MSISDN\",\r\n \"value\": \"38671234601\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"MSISDN\",\r\n \"name\": \"MSISDN\",\r\n \"value\": \"38671234602\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"MSISDN\",\r\n \"name\": \"MSISDN\",\r\n \"value\": \"38671234603\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"MSISDN\",\r\n \"name\": \"MSISDN\",\r\n \"value\": \"38671234604\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"MSISDN\",\r\n \"name\": \"MSISDN\",\r\n \"value\": \"38671234606\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"MSISDN\",\r\n \"name\": \"MSISDN\",\r\n \"value\": \"38671234607\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"MSISDN\",\r\n \"name\": \"MSISDN\",\r\n \"value\": \"38671234599\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"MSISDN\",\r\n \"name\": \"MSISDN\",\r\n \"value\": \"0671234569\",\r\n \"valueType\": \"string\"\r\n }\r\n ],\r\n \"serviceSpecification\": {\r\n \"@type\": \"serviceSpecification\",\r\n \"id\": \"Mobile\"\r\n },\r\n \"state\": \"activ\",\r\n \"supportingService\": [\r\n {\r\n \"@type\": \"Service\",\r\n \"serviceCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"scrd_IMSI\",\r\n \"value\": \"228012176510739\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"scrt_Code\",\r\n \"value\": \"UNI\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"scrg_Code\",\r\n \"value\": \"Default\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"scrg_ID\",\r\n \"value\": \"1\",\r\n \"valueType\": \"integer\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"scrd_ICC\",\r\n \"value\": \"228012176510739\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"scrd_PUK1\",\r\n \"value\": \"01231234\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"scrd_PUK2\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"scrd_PIN1\",\r\n \"value\": \"0123\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"scrd_PIN2\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"scrs_Code\",\r\n \"value\": \"activ\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"scrd_ExpirationDate\",\r\n \"value\": \"2999-12-31T23:59:59.997\",\r\n \"valueType\": \"date-time\"\r\n }\r\n ],\r\n \"serviceSpecification\": {\r\n \"id\": \"SIM\"\r\n },\r\n \"state\": \"activ\"\r\n }\r\n ]\r\n}\r\n]\r\n" - }, - { - "name": "TOP 10", - "originalRequest": { - "method": "GET", - "header": [ - { - "key": "Accept", - "value": "application/json;charset=utf-8", - "type": "text" - }, - { - "key": "Content-Type", - "value": "application/json;charset=utf-8", - "type": "text" - }, - { - "key": "x-ms-client-request-id", - "value": "20412345678903142363799", - "type": "text" - }, - { - "key": "Accept-Language", - "value": "en", - "type": "text" - } - ], - "url": { - "raw": "{{API}}/api/v2/tmf/service?offset=1&limit=10&sort=-id", - "host": [ - "{{API}}" - ], - "path": [ - "api", - "v2", - "tmf", - "service" - ], - "query": [ - { - "key": "offset", - "value": "1" - }, - { - "key": "limit", - "value": "10" - }, - { - "key": "sort", - "value": "-id" - } - ] - } - }, - "status": "Partial Content", - "code": 206, - "_postman_previewlanguage": "plain", - "header": [ - { - "key": "Transfer-Encoding", - "value": "chunked" - }, - { - "key": "Content-Type", - "value": "text/plain; charset=utf-8" - }, - { - "key": "Content-Encoding", - "value": "gzip" - }, - { - "key": "Content-Range", - "value": "items 1-10/85385" - }, - { - "key": "Vary", - "value": "Accept-Encoding" - }, - { - "key": "Accept-Language", - "value": "en" - }, - { - "key": "x-ms-client-request-id", - "value": "20412345678903142363799" - }, - { - "key": "X-Total-Count", - "value": "85385" - }, - { - "key": "X-Page-Count", - "value": "8539" - }, - { - "key": "cacheStatus", - "value": "Added" - }, - { - "key": "Access-Control-Allow-Methods", - "value": "GET, PUT, POST, DELETE, OPTIONS, HEAD" - }, - { - "key": "Access-Control-Allow-Headers", - "value": "Authorization,Pragma,Cache-control,Content-type" - }, - { - "key": "Access-Control-Allow-Credentials", - "value": "true" - }, - { - "key": "Date", - "value": "Fri, 22 Mar 2024 08:06:36 GMT" - } - ], - "cookie": [], - "body": "[\r\n{\r\n \"feature\": [\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4003-20403000000000178639\",\r\n \"isEnabled\": false,\r\n \"name\": \"Управление ДЗ\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"4003\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2019-12-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2022-06-30T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Disable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"449\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4070-20403000000000017647\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение к сети Оператора (услуги доступа к сети Интернет)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"4070\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2019-12-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2022-06-30T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Disable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"64511\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4075-20403000000000017651\",\r\n \"isEnabled\": false,\r\n \"name\": \"Доступ к сети Интернет\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"4075\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2019-12-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2022-06-30T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Disable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"64511\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381529-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Фіксований платіж за послуги доступу до мережі Інтернет\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381451-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Изменение условий предоставления услуг и другие начисления (Интернет)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"20005-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Финансовая блокировка\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381200-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение дополнительной услуги доступа к сети Интернет\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381458-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение пакета Интернет по xDSL или IPoE 299 грн.\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"20007-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Временное приостановление предоставления услуг 50%\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4000-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Временное приостановление предоставления услуг\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381289-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Изменение места предоставления услуг доступа к сети Интернет\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381441-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"ГТ Заміна блоку IP-адрес\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381459-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение пакета Интернет по xDSL или IPoE 499 грн. \",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381165-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение услуги доступа к сети Интернет\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381369-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Обслуживание активного оборудования Абонента (услуги доступа к сети Интернет)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381446-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Плата за переоформление договора (Internet)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"20006-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Временное приостановление предоставления услуг 10%\",\r\n \"featureCharacteristic\": []\r\n }\r\n ],\r\n \"hasStarted\": false,\r\n \"isServiceEnabled\": true,\r\n \"relatedParty\": [\r\n {\r\n \"id\": \"269798\",\r\n \"IDType\": 0,\r\n \"@referredType\": \"Customers\"\r\n }\r\n ],\r\n \"serviceDate\": \"2019-12-01T00:00:00\",\r\n \"id\": \"01-294042\",\r\n \"category\": \"Доступ в Интернет\",\r\n \"serviceSpecification\": {\r\n \"@type\": \"serviceSpecification\",\r\n \"id\": \"Mobile\"\r\n },\r\n \"state\": \"close\"\r\n},\n{\r\n \"feature\": [\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4003-20403000000000023829\",\r\n \"isEnabled\": false,\r\n \"name\": \"Управление ДЗ\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"4003\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2019-12-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2022-06-30T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Disable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"462\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"20005-20403000000000023830\",\r\n \"isEnabled\": false,\r\n \"name\": \"Финансовая блокировка\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"20005\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2019-12-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2022-06-30T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Disable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"462\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4010-20403000000000145477\",\r\n \"isEnabled\": false,\r\n \"name\": \"Фиксированная телефонная связь\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"4010\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2019-12-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2022-06-30T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Disable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"462\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381485-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Перерегистрация л/с или переоформление договора\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4260-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Адміністратор віртуальної мобільної АТС (PSTN)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4016-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Дифференцированный счет ежемесячно (PSTN)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9303-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Penalty Fee Off-Net\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381439-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение виртуального номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9307-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Penalty Fee World\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9339-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee World (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9347-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home Off-net (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9326-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home On-net (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"380989-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение дополнительного номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9000-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Monthly Fee\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9336-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee (Home On-net (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9348-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Host Country (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9333-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home Off-net (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9353-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home Off-net (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"20006-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Временное приостановление предоставления услуг 10%\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381125-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение Платинового номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9324-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Host Country (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381131-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение Золотого номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381568-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Підключення \\\"API FMC\\\" PSTN\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9341-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Roaming Penalty Fee (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9335-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee World (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381138-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Номера \\\"Люкс\\\"\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381389-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Изменение места предоставления услуг фиксированной телефонной связи\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9306-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Penalty Fee Off-Net\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9301-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9355-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee World (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9344-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Host Country (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381440-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"ГТ Заміна номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9321-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Roaming Penalty Fee (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9357-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home Off-net (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4015-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Детализация звонков\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381102-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение услуги фиксированной телефонной связи\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9211-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Access\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9358-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Host Country (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9327-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home Off-net (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381525-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Фіксований платіж за послуги фіксованого телефонного зв'язку\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9302-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Penalty Fee On-Net\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9349-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee World (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9328-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Host Country (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9354-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Host Country (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9334-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Host Country (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381133-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение Серебряного номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9215-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Access\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"20007-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Временное приостановление предоставления услуг 50%\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9351-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Roaming Penalty Fee (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9342-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home On-net (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9322-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home On-net (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381127-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Замена телефонного номера на Платиновый номер\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381230-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Выделение доп. телефонного номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381442-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Изменение условий предоставления услуг фиксированной телефонной связи и другие начисления\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9331-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Roaming Penalty Fee (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9346-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home On-net (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4000-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Временное приостановление предоставления услуг\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381436-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"ГТ Сервисное обслуживание оборудования\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9201-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Access\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9305-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Penalty Fee On-Net\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4011-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Детализированный счет ежемесячно (PSTN)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9356-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee (Home On-net (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381528-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение любимой страны PSTN\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381129-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Замена телефонного номера на Золотой номер\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9304-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Penalty Fee World\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381490-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение услуги \\\"Виртуальная мобильная АТС\\\" PSTN абонентам\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9338-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Host Country (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9323-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home Off-net (Zone 1) \",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381112-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение услуги 'Детализированный счёт'\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381464-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"ГТ Підключення лінії\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9359-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee World (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9329-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee World (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9337-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home Off-net (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9343-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home Off-net (Zone 3) \",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9332-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home On-net (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9352-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home On-net (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381388-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Изменение места предоставления услуг фиксированной телефонной связи (в пределах одного здания)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9205-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Roaming Access\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9345-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee World (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9325-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee World (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381135-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Замена телефонного номера на Серебряный номер\",\r\n \"featureCharacteristic\": []\r\n }\r\n ],\r\n \"hasStarted\": false,\r\n \"isServiceEnabled\": true,\r\n \"relatedParty\": [\r\n {\r\n \"id\": \"268692\",\r\n \"IDType\": 0,\r\n \"@referredType\": \"Customers\"\r\n }\r\n ],\r\n \"serviceDate\": \"2019-12-01T00:00:00\",\r\n \"id\": \"01-294058\",\r\n \"category\": \"PSTN\",\r\n \"serviceSpecification\": {\r\n \"@type\": \"serviceSpecification\",\r\n \"id\": \"Mobile\"\r\n },\r\n \"state\": \"close\"\r\n},\n{\r\n \"feature\": [\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4000-20403000000000037232\",\r\n \"isEnabled\": false,\r\n \"name\": \"Временное приостановление предоставления услуг\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"4000\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2019-12-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2022-06-30T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Disable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"467\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4003-20403000000000037231\",\r\n \"isEnabled\": false,\r\n \"name\": \"Управление ДЗ\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"4003\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2019-12-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2022-06-30T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Disable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"467\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4010-20403000000000145482\",\r\n \"isEnabled\": false,\r\n \"name\": \"Фиксированная телефонная связь\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"4010\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2019-12-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2022-06-30T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Disable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"467\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9326-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home On-net (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9333-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home Off-net (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9353-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home Off-net (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381485-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Перерегистрация л/с или переоформление договора\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"20006-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Временное приостановление предоставления услуг 10%\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"380989-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение дополнительного номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381131-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение Золотого номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381568-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Підключення \\\"API FMC\\\" PSTN\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9339-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee World (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9341-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Roaming Penalty Fee (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381125-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение Платинового номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9306-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Penalty Fee Off-Net\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9301-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9335-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee World (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381389-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Изменение места предоставления услуг фиксированной телефонной связи\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9321-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Roaming Penalty Fee (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9355-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee World (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9344-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Host Country (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9324-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Host Country (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381138-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Номера \\\"Люкс\\\"\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9349-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee World (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9357-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home Off-net (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9327-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home Off-net (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4015-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Детализация звонков\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9358-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Host Country (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9328-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Host Country (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381102-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение услуги фиксированной телефонной связи\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381525-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Фіксований платіж за послуги фіксованого телефонного зв'язку\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381440-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"ГТ Заміна номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9302-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Penalty Fee On-Net\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"20005-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Финансовая блокировка\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9215-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Access\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"20007-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Временное приостановление предоставления услуг 50%\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9351-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Roaming Penalty Fee (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9334-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Host Country (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381127-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Замена телефонного номера на Платиновый номер\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9211-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Access\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9342-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home On-net (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9322-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home On-net (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381133-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение Серебряного номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9331-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Roaming Penalty Fee (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9356-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee (Home On-net (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9354-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Host Country (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381442-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Изменение условий предоставления услуг фиксированной телефонной связи и другие начисления\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381230-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Выделение доп. телефонного номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9346-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home On-net (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9305-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Penalty Fee On-Net\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4011-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Детализированный счет ежемесячно (PSTN)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381436-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"ГТ Сервисное обслуживание оборудования\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9329-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee World (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381490-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение услуги \\\"Виртуальная мобильная АТС\\\" PSTN абонентам\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9338-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Host Country (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381112-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение услуги 'Детализированный счёт'\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381528-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение любимой страны PSTN\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9359-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee World (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9304-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Penalty Fee World\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9337-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home Off-net (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9323-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home Off-net (Zone 1) \",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381464-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"ГТ Підключення лінії\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9201-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Access\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9332-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home On-net (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9352-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home On-net (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381135-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Замена телефонного номера на Серебряный номер\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381388-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Изменение места предоставления услуг фиксированной телефонной связи (в пределах одного здания)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9343-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home Off-net (Zone 3) \",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9345-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee World (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9325-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee World (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381129-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Замена телефонного номера на Золотой номер\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9307-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Penalty Fee World\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9205-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Roaming Access\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9348-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Host Country (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4016-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Дифференцированный счет ежемесячно (PSTN)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381439-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение виртуального номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9303-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Penalty Fee Off-Net\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9336-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee (Home On-net (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9347-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home Off-net (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4260-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Адміністратор віртуальної мобільної АТС (PSTN)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9000-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Monthly Fee\",\r\n \"featureCharacteristic\": []\r\n }\r\n ],\r\n \"hasStarted\": false,\r\n \"isServiceEnabled\": true,\r\n \"relatedParty\": [\r\n {\r\n \"id\": \"262144\",\r\n \"IDType\": 0,\r\n \"@referredType\": \"Customers\"\r\n }\r\n ],\r\n \"serviceDate\": \"2019-12-01T00:00:00\",\r\n \"id\": \"01-294063\",\r\n \"category\": \"PSTN\",\r\n \"serviceSpecification\": {\r\n \"@type\": \"serviceSpecification\",\r\n \"id\": \"Mobile\"\r\n },\r\n \"state\": \"close\"\r\n},\n{\r\n \"feature\": [\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4003-20403000000000027427\",\r\n \"isEnabled\": false,\r\n \"name\": \"Управление ДЗ\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"4003\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2019-12-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2020-07-20T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Disable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"472\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4010-20403000000000145486\",\r\n \"isEnabled\": false,\r\n \"name\": \"Фиксированная телефонная связь\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"4010\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2019-12-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2020-07-20T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Disable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"472\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"20005-20403000000006269775\",\r\n \"isEnabled\": false,\r\n \"name\": \"Финансовая блокировка\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"20005\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2020-04-22T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2020-07-20T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Disable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"472\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9344-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Host Country (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9324-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Host Country (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381131-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение Золотого номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9353-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home Off-net (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9335-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee World (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381138-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Номера \\\"Люкс\\\"\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381389-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Изменение места предоставления услуг фиксированной телефонной связи\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9306-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Penalty Fee Off-Net\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9301-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9355-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee World (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381525-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Фіксований платіж за послуги фіксованого телефонного зв'язку\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381440-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"ГТ Заміна номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9302-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Penalty Fee On-Net\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9321-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Roaming Penalty Fee (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9349-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee World (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9357-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home Off-net (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4015-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Детализация звонков\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9358-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Host Country (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9327-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home Off-net (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9342-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home On-net (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9322-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home On-net (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381127-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Замена телефонного номера на Платиновый номер\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9328-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Host Country (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381102-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение услуги фиксированной телефонной связи\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9334-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Host Country (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381133-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение Серебряного номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9211-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Access\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"20007-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Временное приостановление предоставления услуг 50%\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9351-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Roaming Penalty Fee (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381436-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"ГТ Сервисное обслуживание оборудования\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381230-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Выделение доп. телефонного номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9305-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Penalty Fee On-Net\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9356-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee (Home On-net (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9354-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Host Country (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381442-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Изменение условий предоставления услуг фиксированной телефонной связи и другие начисления\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9331-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Roaming Penalty Fee (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9215-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Access\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4000-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Временное приостановление предоставления услуг\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9323-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home Off-net (Zone 1) \",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381112-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение услуги 'Детализированный счёт'\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381464-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"ГТ Підключення лінії\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9359-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee World (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9201-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Access\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9329-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee World (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4011-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Детализированный счет ежемесячно (PSTN)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9337-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home Off-net (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381528-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение любимой страны PSTN\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9304-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Penalty Fee World\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381490-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение услуги \\\"Виртуальная мобильная АТС\\\" PSTN абонентам\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9346-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home On-net (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9338-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Host Country (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9325-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee World (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381135-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Замена телефонного номера на Серебряный номер\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9343-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home Off-net (Zone 3) \",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9332-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home On-net (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9352-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home On-net (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381129-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Замена телефонного номера на Золотой номер\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9345-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee World (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9000-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Monthly Fee\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9336-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee (Home On-net (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9348-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Host Country (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4260-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Адміністратор віртуальної мобільної АТС (PSTN)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4016-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Дифференцированный счет ежемесячно (PSTN)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381439-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение виртуального номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381388-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Изменение места предоставления услуг фиксированной телефонной связи (в пределах одного здания)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9307-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Penalty Fee World\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9205-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Roaming Access\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9347-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home Off-net (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"380989-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение дополнительного номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381568-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Підключення \\\"API FMC\\\" PSTN\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9341-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Roaming Penalty Fee (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9333-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home Off-net (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381485-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Перерегистрация л/с или переоформление договора\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"20006-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Временное приостановление предоставления услуг 10%\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381125-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение Платинового номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9303-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Penalty Fee Off-Net\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9339-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee World (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9326-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home On-net (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n }\r\n ],\r\n \"hasStarted\": false,\r\n \"isServiceEnabled\": true,\r\n \"relatedParty\": [\r\n {\r\n \"id\": \"265448\",\r\n \"IDType\": 0,\r\n \"@referredType\": \"Customers\"\r\n }\r\n ],\r\n \"serviceDate\": \"2019-12-01T00:00:00\",\r\n \"id\": \"01-294068\",\r\n \"category\": \"PSTN\",\r\n \"serviceSpecification\": {\r\n \"@type\": \"serviceSpecification\",\r\n \"id\": \"Mobile\"\r\n },\r\n \"state\": \"close\"\r\n},\n{\r\n \"feature\": [\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"20005-20403000000000195671\",\r\n \"isEnabled\": false,\r\n \"name\": \"Финансовая блокировка\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"20005\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2020-02-27T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2020-03-03T14:42:13\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Disable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"497\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4003-20403000000000013341\",\r\n \"isEnabled\": false,\r\n \"name\": \"Управление ДЗ\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"4003\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2019-12-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2022-06-30T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Disable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"497\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4010-20403000000000145507\",\r\n \"isEnabled\": false,\r\n \"name\": \"Фиксированная телефонная связь\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"4010\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2019-12-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2022-06-30T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"2\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Disable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"497\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"20005-20403000000010338466\",\r\n \"isEnabled\": false,\r\n \"name\": \"Финансовая блокировка\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"20005\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2021-03-25T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2022-06-30T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Disable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"497\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9337-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home Off-net (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9323-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home Off-net (Zone 1) \",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381464-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"ГТ Підключення лінії\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9329-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee World (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381490-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение услуги \\\"Виртуальная мобильная АТС\\\" PSTN абонентам\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9338-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Host Country (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381112-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение услуги 'Детализированный счёт'\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381528-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение любимой страны PSTN\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9359-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee World (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9304-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Penalty Fee World\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381388-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Изменение места предоставления услуг фиксированной телефонной связи (в пределах одного здания)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9343-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home Off-net (Zone 3) \",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9345-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee World (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9325-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee World (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381129-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Замена телефонного номера на Золотой номер\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9332-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home On-net (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9352-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home On-net (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381135-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Замена телефонного номера на Серебряный номер\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9336-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee (Home On-net (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9339-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee World (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9347-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home Off-net (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4260-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Адміністратор віртуальної мобільної АТС (PSTN)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9000-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Monthly Fee\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9307-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Penalty Fee World\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9205-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Roaming Access\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9348-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Host Country (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381485-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Перерегистрация л/с или переоформление договора\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4016-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Дифференцированный счет ежемесячно (PSTN)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381439-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение виртуального номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9303-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Penalty Fee Off-Net\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381568-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Підключення \\\"API FMC\\\" PSTN\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9341-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Roaming Penalty Fee (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9324-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Host Country (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381125-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение Платинового номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9326-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home On-net (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"380989-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение дополнительного номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9353-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home Off-net (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9333-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home Off-net (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"20006-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Временное приостановление предоставления услуг 10%\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381131-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение Золотого номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9321-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Roaming Penalty Fee (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9344-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Host Country (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381440-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"ГТ Заміна номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381138-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Номера \\\"Люкс\\\"\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381389-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Изменение места предоставления услуг фиксированной телефонной связи\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9301-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9306-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Penalty Fee Off-Net\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9357-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home Off-net (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9355-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee World (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9335-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee World (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9358-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Host Country (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9328-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Host Country (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381102-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение услуги фиксированной телефонной связи\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381525-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Фіксований платіж за послуги фіксованого телефонного зв'язку\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9302-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Penalty Fee On-Net\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9349-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee World (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9327-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home Off-net (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4015-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Детализация звонков\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9211-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Access\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9322-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home On-net (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9342-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home On-net (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381133-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение Серебряного номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"20007-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Временное приостановление предоставления услуг 50%\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9351-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Roaming Penalty Fee (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9334-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Host Country (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9215-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Access\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381127-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Замена телефонного номера на Платиновый номер\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381230-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Выделение доп. телефонного номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381436-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"ГТ Сервисное обслуживание оборудования\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9305-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Penalty Fee On-Net\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9346-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home On-net (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4011-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Детализированный счет ежемесячно (PSTN)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4000-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Временное приостановление предоставления услуг\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9356-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee (Home On-net (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9201-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Access\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9331-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Roaming Penalty Fee (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9354-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Host Country (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381442-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Изменение условий предоставления услуг фиксированной телефонной связи и другие начисления\",\r\n \"featureCharacteristic\": []\r\n }\r\n ],\r\n \"hasStarted\": false,\r\n \"isServiceEnabled\": true,\r\n \"relatedParty\": [\r\n {\r\n \"id\": \"269156\",\r\n \"IDType\": 0,\r\n \"@referredType\": \"Customers\"\r\n }\r\n ],\r\n \"serviceDate\": \"2019-12-01T00:00:00\",\r\n \"id\": \"01-294093\",\r\n \"category\": \"PSTN\",\r\n \"serviceSpecification\": {\r\n \"@type\": \"serviceSpecification\",\r\n \"id\": \"Mobile\"\r\n },\r\n \"state\": \"close\"\r\n},\n{\r\n \"feature\": [\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4010-20403000000000145508\",\r\n \"isEnabled\": false,\r\n \"name\": \"Фиксированная телефонная связь\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"4010\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2019-12-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2022-06-30T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Disable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"498\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4003-20403000000000176388\",\r\n \"isEnabled\": false,\r\n \"name\": \"Управление ДЗ\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"4003\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2019-12-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2022-06-30T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Disable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"498\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381131-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение Золотого номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9324-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Host Country (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9344-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Host Country (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9341-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Roaming Penalty Fee (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9333-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home Off-net (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"20006-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Временное приостановление предоставления услуг 10%\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381125-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение Платинового номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9335-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee World (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9353-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home Off-net (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381138-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Номера \\\"Люкс\\\"\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9357-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home Off-net (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9301-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381389-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Изменение места предоставления услуг фиксированной телефонной связи\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9355-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee World (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9358-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Host Country (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9321-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Roaming Penalty Fee (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381440-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"ГТ Заміна номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9306-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Penalty Fee Off-Net\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381127-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Замена телефонного номера на Платиновый номер\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9349-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee World (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9328-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Host Country (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9211-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Access\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4015-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Детализация звонков\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381102-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение услуги фиксированной телефонной связи\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9327-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home Off-net (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"20005-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Финансовая блокировка\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9302-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Penalty Fee On-Net\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9351-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Roaming Penalty Fee (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381525-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Фіксований платіж за послуги фіксованого телефонного зв'язку\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9322-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home On-net (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"20007-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Временное приостановление предоставления услуг 50%\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381230-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Выделение доп. телефонного номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9342-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home On-net (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9215-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Access\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9334-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Host Country (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9354-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Host Country (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381133-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение Серебряного номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9356-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee (Home On-net (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9329-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee World (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9331-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Roaming Penalty Fee (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4011-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Детализированный счет ежемесячно (PSTN)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381442-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Изменение условий предоставления услуг фиксированной телефонной связи и другие начисления\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9337-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home Off-net (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9304-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Penalty Fee World\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9305-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Penalty Fee On-Net\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9346-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home On-net (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9201-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Access\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381436-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"ГТ Сервисное обслуживание оборудования\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381464-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"ГТ Підключення лінії\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4000-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Временное приостановление предоставления услуг\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381490-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение услуги \\\"Виртуальная мобильная АТС\\\" PSTN абонентам\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381112-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение услуги 'Детализированный счёт'\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9359-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee World (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9343-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home Off-net (Zone 3) \",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381528-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение любимой страны PSTN\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9332-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home On-net (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381129-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Замена телефонного номера на Золотой номер\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9338-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Host Country (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9323-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home Off-net (Zone 1) \",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9325-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee World (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9345-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee World (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381135-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Замена телефонного номера на Серебряный номер\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9205-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Roaming Access\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381439-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение виртуального номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9352-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home On-net (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9347-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home Off-net (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381388-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Изменение места предоставления услуг фиксированной телефонной связи (в пределах одного здания)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9307-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Penalty Fee World\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"380989-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение дополнительного номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9348-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Host Country (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9303-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Penalty Fee Off-Net\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9336-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee (Home On-net (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381485-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Перерегистрация л/с или переоформление договора\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381568-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Підключення \\\"API FMC\\\" PSTN\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9339-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee World (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4260-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Адміністратор віртуальної мобільної АТС (PSTN)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4016-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Дифференцированный счет ежемесячно (PSTN)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9326-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home On-net (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9000-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Monthly Fee\",\r\n \"featureCharacteristic\": []\r\n }\r\n ],\r\n \"hasStarted\": false,\r\n \"isServiceEnabled\": true,\r\n \"relatedParty\": [\r\n {\r\n \"id\": \"271452\",\r\n \"IDType\": 0,\r\n \"@referredType\": \"Customers\"\r\n }\r\n ],\r\n \"serviceDate\": \"2019-12-01T00:00:00\",\r\n \"id\": \"01-294094\",\r\n \"category\": \"PSTN\",\r\n \"serviceSpecification\": {\r\n \"@type\": \"serviceSpecification\",\r\n \"id\": \"Mobile\"\r\n },\r\n \"state\": \"close\"\r\n},\n{\r\n \"feature\": [\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4003-20403000000000037202\",\r\n \"isEnabled\": false,\r\n \"name\": \"Управление ДЗ\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"4003\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2019-12-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2022-06-30T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Disable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"541\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4010-20403000000000145530\",\r\n \"isEnabled\": false,\r\n \"name\": \"Фиксированная телефонная связь\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"4010\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2019-12-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2022-06-30T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Disable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"541\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9357-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home Off-net (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9301-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9306-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Penalty Fee Off-Net\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381389-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Изменение места предоставления услуг фиксированной телефонной связи\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9335-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee World (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9321-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Roaming Penalty Fee (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9355-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee World (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381440-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"ГТ Заміна номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381127-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Замена телефонного номера на Платиновый номер\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9349-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee World (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"20005-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Финансовая блокировка\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9211-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Access\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4015-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Детализация звонков\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9328-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Host Country (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9358-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Host Country (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381102-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение услуги фиксированной телефонной связи\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9302-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Penalty Fee On-Net\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9351-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Roaming Penalty Fee (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9327-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home Off-net (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381525-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Фіксований платіж за послуги фіксованого телефонного зв'язку\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9215-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Access\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381230-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Выделение доп. телефонного номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"20007-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Временное приостановление предоставления услуг 50%\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9342-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home On-net (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9334-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Host Country (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381133-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение Серебряного номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9354-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Host Country (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9322-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home On-net (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9329-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee World (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9331-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Roaming Penalty Fee (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9356-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee (Home On-net (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381442-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Изменение условий предоставления услуг фиксированной телефонной связи и другие начисления\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9305-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Penalty Fee On-Net\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9346-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home On-net (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4011-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Детализированный счет ежемесячно (PSTN)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381464-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"ГТ Підключення лінії\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4000-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Временное приостановление предоставления услуг\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9201-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Access\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381436-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"ГТ Сервисное обслуживание оборудования\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381112-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение услуги 'Детализированный счёт'\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381490-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение услуги \\\"Виртуальная мобильная АТС\\\" PSTN абонентам\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9343-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home Off-net (Zone 3) \",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9304-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Penalty Fee World\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9337-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home Off-net (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9359-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee World (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381528-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение любимой страны PSTN\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9332-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home On-net (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381129-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Замена телефонного номера на Золотой номер\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9338-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Host Country (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9323-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home Off-net (Zone 1) \",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381135-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Замена телефонного номера на Серебряный номер\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9205-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Roaming Access\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9345-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee World (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381439-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение виртуального номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9347-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home Off-net (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9352-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home On-net (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381388-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Изменение места предоставления услуг фиксированной телефонной связи (в пределах одного здания)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9325-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee World (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9348-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Host Country (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9307-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Penalty Fee World\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"380989-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение дополнительного номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381485-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Перерегистрация л/с или переоформление договора\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4016-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Дифференцированный счет ежемесячно (PSTN)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9303-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Penalty Fee Off-Net\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9339-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee World (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9336-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee (Home On-net (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4260-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Адміністратор віртуальної мобільної АТС (PSTN)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9326-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home On-net (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9000-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Monthly Fee\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381131-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение Золотого номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9344-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Host Country (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9341-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Roaming Penalty Fee (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"20006-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Временное приостановление предоставления услуг 10%\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9333-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home Off-net (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381138-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Номера \\\"Люкс\\\"\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381125-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение Платинового номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381568-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Підключення \\\"API FMC\\\" PSTN\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9353-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home Off-net (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9324-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Host Country (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n }\r\n ],\r\n \"hasStarted\": false,\r\n \"isServiceEnabled\": true,\r\n \"relatedParty\": [\r\n {\r\n \"id\": \"263571\",\r\n \"IDType\": 0,\r\n \"@referredType\": \"Customers\"\r\n }\r\n ],\r\n \"serviceDate\": \"2019-12-01T00:00:00\",\r\n \"id\": \"01-294137\",\r\n \"category\": \"PSTN\",\r\n \"serviceSpecification\": {\r\n \"@type\": \"serviceSpecification\",\r\n \"id\": \"Mobile\"\r\n },\r\n \"state\": \"close\"\r\n},\n{\r\n \"feature\": [\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4010-20403000000000145531\",\r\n \"isEnabled\": false,\r\n \"name\": \"Фиксированная телефонная связь\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"4010\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2019-12-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2022-06-30T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Disable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"543\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4003-20403000000000176390\",\r\n \"isEnabled\": false,\r\n \"name\": \"Управление ДЗ\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"4003\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2019-12-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2022-06-30T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Disable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"543\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9341-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Roaming Penalty Fee (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9324-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Host Country (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381125-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение Платинового номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381568-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Підключення \\\"API FMC\\\" PSTN\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9326-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home On-net (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9333-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home Off-net (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"20006-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Временное приостановление предоставления услуг 10%\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381131-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение Золотого номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9353-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home Off-net (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"380989-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение дополнительного номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381440-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"ГТ Заміна номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381138-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Номера \\\"Люкс\\\"\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9321-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Roaming Penalty Fee (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9344-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Host Country (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9357-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home Off-net (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381389-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Изменение места предоставления услуг фиксированной телефонной связи\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9306-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Penalty Fee Off-Net\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9335-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee World (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9355-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee World (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9301-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9328-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Host Country (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9302-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Penalty Fee On-Net\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381525-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Фіксований платіж за послуги фіксованого телефонного зв'язку\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9349-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee World (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381102-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение услуги фиксированной телефонной связи\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9327-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home Off-net (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9211-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Access\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4015-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Детализация звонков\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9358-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Host Country (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9322-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home On-net (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381133-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение Серебряного номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9342-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home On-net (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9351-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Roaming Penalty Fee (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9334-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Host Country (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"20007-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Временное приостановление предоставления услуг 50%\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381127-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Замена телефонного номера на Платиновый номер\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381230-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Выделение доп. телефонного номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"20005-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Финансовая блокировка\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9215-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Access\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4000-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Временное приостановление предоставления услуг\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381436-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"ГТ Сервисное обслуживание оборудования\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9201-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Access\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9305-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Penalty Fee On-Net\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9356-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee (Home On-net (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4011-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Детализированный счет ежемесячно (PSTN)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381442-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Изменение условий предоставления услуг фиксированной телефонной связи и другие начисления\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9331-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Roaming Penalty Fee (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9354-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Host Country (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9346-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home On-net (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9359-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee World (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9337-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home Off-net (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9323-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home Off-net (Zone 1) \",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381464-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"ГТ Підключення лінії\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9329-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee World (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9304-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Penalty Fee World\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9338-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Host Country (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381528-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение любимой страны PSTN\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381490-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение услуги \\\"Виртуальная мобильная АТС\\\" PSTN абонентам\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381112-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение услуги 'Детализированный счёт'\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9343-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home Off-net (Zone 3) \",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381388-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Изменение места предоставления услуг фиксированной телефонной связи (в пределах одного здания)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9325-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee World (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381129-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Замена телефонного номера на Золотой номер\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9345-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee World (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9332-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home On-net (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381135-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Замена телефонного номера на Серебряный номер\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9352-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home On-net (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9000-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Monthly Fee\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9336-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee (Home On-net (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9348-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Host Country (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4260-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Адміністратор віртуальної мобільної АТС (PSTN)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4016-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Дифференцированный счет ежемесячно (PSTN)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381439-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение виртуального номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9303-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Penalty Fee Off-Net\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9307-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Penalty Fee World\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381485-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Перерегистрация л/с или переоформление договора\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9205-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Roaming Access\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9339-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee World (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9347-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home Off-net (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n }\r\n ],\r\n \"hasStarted\": false,\r\n \"isServiceEnabled\": true,\r\n \"relatedParty\": [\r\n {\r\n \"id\": \"265269\",\r\n \"IDType\": 0,\r\n \"@referredType\": \"Customers\"\r\n }\r\n ],\r\n \"serviceDate\": \"2019-12-01T00:00:00\",\r\n \"id\": \"01-294139\",\r\n \"category\": \"PSTN\",\r\n \"serviceSpecification\": {\r\n \"@type\": \"serviceSpecification\",\r\n \"id\": \"Mobile\"\r\n },\r\n \"state\": \"close\"\r\n},\n{\r\n \"feature\": [\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4003-20403000000000024904\",\r\n \"isEnabled\": false,\r\n \"name\": \"Управление ДЗ\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"4003\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2019-12-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2022-06-30T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Disable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"544\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4000-20403000000000141506\",\r\n \"isEnabled\": false,\r\n \"name\": \"Временное приостановление предоставления услуг\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"4000\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2019-12-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2022-06-30T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Disable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"544\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4010-20403000000000145532\",\r\n \"isEnabled\": false,\r\n \"name\": \"Фиксированная телефонная связь\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"4010\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2019-12-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2022-06-30T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Disable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"544\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381230-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Выделение доп. телефонного номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9215-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Access\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"20007-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Временное приостановление предоставления услуг 50%\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9342-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home On-net (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9334-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Host Country (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381133-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение Серебряного номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9354-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Host Country (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9331-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Roaming Penalty Fee (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9329-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee World (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9356-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee (Home On-net (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381442-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Изменение условий предоставления услуг фиксированной телефонной связи и другие начисления\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9304-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Penalty Fee World\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9346-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home On-net (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9305-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Penalty Fee On-Net\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4011-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Детализированный счет ежемесячно (PSTN)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9337-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home Off-net (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381464-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"ГТ Підключення лінії\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9201-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Access\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381436-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"ГТ Сервисное обслуживание оборудования\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9338-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Host Country (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381490-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение услуги \\\"Виртуальная мобильная АТС\\\" PSTN абонентам\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381528-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение любимой страны PSTN\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381112-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение услуги 'Детализированный счёт'\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9359-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee World (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9332-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home On-net (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9343-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home Off-net (Zone 3) \",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9323-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home Off-net (Zone 1) \",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381129-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Замена телефонного номера на Золотой номер\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9307-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Penalty Fee World\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9205-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Roaming Access\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381135-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Замена телефонного номера на Серебряный номер\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9345-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee World (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381439-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение виртуального номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9347-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home Off-net (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9352-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home On-net (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9325-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee World (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381388-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Изменение места предоставления услуг фиксированной телефонной связи (в пределах одного здания)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9348-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Host Country (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9326-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home On-net (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381485-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Перерегистрация л/с или переоформление договора\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4016-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Дифференцированный счет ежемесячно (PSTN)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"380989-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение дополнительного номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9303-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Penalty Fee Off-Net\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9336-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee (Home On-net (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9339-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee World (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381568-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Підключення \\\"API FMC\\\" PSTN\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4260-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Адміністратор віртуальної мобільної АТС (PSTN)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9000-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Monthly Fee\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9344-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Host Country (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9353-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home Off-net (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9333-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home Off-net (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"20006-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Временное приостановление предоставления услуг 10%\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9335-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee World (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381131-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение Золотого номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381138-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Номера \\\"Люкс\\\"\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9341-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Roaming Penalty Fee (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381125-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение Платинового номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9324-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Host Country (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9357-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home Off-net (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9301-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9306-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Penalty Fee Off-Net\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381389-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Изменение места предоставления услуг фиксированной телефонной связи\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9358-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Host Country (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9321-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Roaming Penalty Fee (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9355-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee World (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381440-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"ГТ Заміна номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9349-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee World (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9327-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home Off-net (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"20005-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Финансовая блокировка\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9351-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Roaming Penalty Fee (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4015-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Детализация звонков\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381127-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Замена телефонного номера на Платиновый номер\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9211-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Access\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9328-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Host Country (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381525-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Фіксований платіж за послуги фіксованого телефонного зв'язку\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9322-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home On-net (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381102-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение услуги фиксированной телефонной связи\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9302-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Penalty Fee On-Net\",\r\n \"featureCharacteristic\": []\r\n }\r\n ],\r\n \"hasStarted\": false,\r\n \"isServiceEnabled\": true,\r\n \"relatedParty\": [\r\n {\r\n \"id\": \"263651\",\r\n \"IDType\": 0,\r\n \"@referredType\": \"Customers\"\r\n }\r\n ],\r\n \"serviceDate\": \"2019-12-01T00:00:00\",\r\n \"id\": \"01-294140\",\r\n \"category\": \"PSTN\",\r\n \"serviceSpecification\": {\r\n \"@type\": \"serviceSpecification\",\r\n \"id\": \"Mobile\"\r\n },\r\n \"state\": \"close\"\r\n},\n{\r\n \"feature\": [\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"20005-20403000000006269772\",\r\n \"isEnabled\": false,\r\n \"name\": \"Финансовая блокировка\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"20005\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2020-04-22T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2020-04-29T13:30:33\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Disable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"549\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"20005-20403000000008950150\",\r\n \"isEnabled\": false,\r\n \"name\": \"Финансовая блокировка\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"20005\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2020-12-23T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2020-12-23T17:42:01\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Disable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"549\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4003-20403000000000017493\",\r\n \"isEnabled\": false,\r\n \"name\": \"Управление ДЗ\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"4003\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2019-12-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2022-06-30T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Disable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"549\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4010-20403000000000145536\",\r\n \"isEnabled\": false,\r\n \"name\": \"Фиксированная телефонная связь\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"4010\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2019-12-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2022-06-30T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Disable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"549\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"20005-20403000000011524523\",\r\n \"isEnabled\": false,\r\n \"name\": \"Финансовая блокировка\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"20005\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2022-04-22T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2022-06-30T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Disable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"549\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381464-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"ГТ Підключення лінії\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4000-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Временное приостановление предоставления услуг\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9201-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Access\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381436-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"ГТ Сервисное обслуживание оборудования\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9329-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee World (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9305-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Penalty Fee On-Net\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4011-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Детализированный счет ежемесячно (PSTN)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9356-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee (Home On-net (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381442-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Изменение условий предоставления услуг фиксированной телефонной связи и другие начисления\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9331-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Roaming Penalty Fee (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9346-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home On-net (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9323-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home Off-net (Zone 1) \",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381112-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение услуги 'Детализированный счёт'\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9359-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee World (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9337-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home Off-net (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9343-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home Off-net (Zone 3) \",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381528-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение любимой страны PSTN\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381129-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Замена телефонного номера на Золотой номер\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9304-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Penalty Fee World\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9332-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home On-net (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9338-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Host Country (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381490-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение услуги \\\"Виртуальная мобильная АТС\\\" PSTN абонентам\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9325-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee World (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381388-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Изменение места предоставления услуг фиксированной телефонной связи (в пределах одного здания)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9345-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee World (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381439-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение виртуального номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9205-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Roaming Access\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381135-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Замена телефонного номера на Серебряный номер\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9347-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home Off-net (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9352-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home On-net (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"380989-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение дополнительного номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9000-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Monthly Fee\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9336-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee (Home On-net (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9348-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Host Country (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4260-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Адміністратор віртуальної мобільної АТС (PSTN)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381485-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Перерегистрация л/с или переоформление договора\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4016-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Дифференцированный счет ежемесячно (PSTN)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9303-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Penalty Fee Off-Net\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9307-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Penalty Fee World\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9339-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee World (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9326-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home On-net (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381131-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение Золотого номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9324-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Host Country (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381138-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Номера \\\"Люкс\\\"\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9341-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Roaming Penalty Fee (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9344-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Host Country (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381568-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Підключення \\\"API FMC\\\" PSTN\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9353-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home Off-net (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9333-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home Off-net (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"20006-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Временное приостановление предоставления услуг 10%\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381125-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение Платинового номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381440-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"ГТ Заміна номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9321-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Roaming Penalty Fee (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9357-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home Off-net (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9335-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee World (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381389-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Изменение места предоставления услуг фиксированной телефонной связи\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9301-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9306-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Penalty Fee Off-Net\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9355-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee World (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381525-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Фіксований платіж за послуги фіксованого телефонного зв'язку\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9302-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Penalty Fee On-Net\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9349-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee World (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9328-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Host Country (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4015-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Детализация звонков\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381102-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение услуги фиксированной телефонной связи\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9211-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Access\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9358-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Host Country (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9327-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home Off-net (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9342-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home On-net (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9322-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home On-net (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381127-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Замена телефонного номера на Платиновый номер\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9334-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Host Country (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381133-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение Серебряного номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381230-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Выделение доп. телефонного номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9215-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Access\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"20007-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Временное приостановление предоставления услуг 50%\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9354-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Host Country (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9351-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Roaming Penalty Fee (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n }\r\n ],\r\n \"hasStarted\": false,\r\n \"isServiceEnabled\": true,\r\n \"relatedParty\": [\r\n {\r\n \"id\": \"269770\",\r\n \"IDType\": 0,\r\n \"@referredType\": \"Customers\"\r\n }\r\n ],\r\n \"serviceDate\": \"2019-12-01T00:00:00\",\r\n \"id\": \"01-294145\",\r\n \"category\": \"PSTN\",\r\n \"serviceSpecification\": {\r\n \"@type\": \"serviceSpecification\",\r\n \"id\": \"Mobile\"\r\n },\r\n \"state\": \"close\"\r\n}\r\n]\r\n" - }, - { - "name": "Non-activated Service (by ID)", - "originalRequest": { - "method": "GET", - "header": [ - { - "key": "Accept", - "value": "application/json;charset=utf-8" - }, - { - "key": "Content-Type", - "value": "application/json;charset=utf-8" - }, - { - "key": "x-ms-client-request-id", - "value": "20412345678903142363799", - "disabled": true - }, - { - "key": "Accept-Language", - "value": "en" - } - ], - "body": { - "mode": "raw", - "raw": "" - }, - "url": { - "raw": "{{API}}/api/v2/tmf/service/{{Service_id}}", - "host": [ - "{{API}}" - ], - "path": [ - "api", - "v2", - "tmf", - "service", - "{{Service_id}}" - ] - } - }, - "status": "OK", - "code": 200, - "_postman_previewlanguage": "plain", - "header": [ - { - "key": "Transfer-Encoding", - "value": "chunked" - }, - { - "key": "Content-Type", - "value": "text/plain; charset=utf-8" - }, - { - "key": "Content-Encoding", - "value": "gzip" - }, - { - "key": "Content-Range", - "value": "items 1-1/1" - }, - { - "key": "Vary", - "value": "Accept-Encoding" - }, - { - "key": "Accept-Language", - "value": "en" - }, - { - "key": "x-ms-client-request-id", - "value": "e4d7c75d-c001-4de1-85f1-73c54dda" - }, - { - "key": "X-Total-Count", - "value": "1" - }, - { - "key": "X-Page-Count", - "value": "1" - }, - { - "key": "cacheStatus", - "value": "Added" - }, - { - "key": "Access-Control-Allow-Methods", - "value": "GET, PUT, POST, DELETE, OPTIONS, HEAD" - }, - { - "key": "Access-Control-Allow-Headers", - "value": "Authorization,Pragma,Cache-control,Content-type" - }, - { - "key": "Access-Control-Allow-Credentials", - "value": "true" - }, - { - "key": "Date", - "value": "Mon, 13 May 2024 02:51:52 GMT" - } - ], - "cookie": [], - "body": "{\r\n \"feature\": [\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9001-0\",\r\n \"isEnabled\": false,\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9201-0\",\r\n \"isEnabled\": false,\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9204-0\",\r\n \"isEnabled\": false,\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9205-0\",\r\n \"isEnabled\": false,\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9211-0\",\r\n \"isEnabled\": false,\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9214-0\",\r\n \"isEnabled\": false,\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9215-0\",\r\n \"isEnabled\": false,\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9301-20403000000011757217\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9301\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2024-05-13T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"NotOrd\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295949\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9321-20403000000011757218\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Roaming Penalty Fee (Zone 1)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9321\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2024-05-13T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"NotOrd\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295949\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9331-20403000000011757219\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Roaming Penalty Fee (Zone 2)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9331\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2024-05-13T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"NotOrd\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295949\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9000-20403000000011757174\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Monthly Fee\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9000\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2024-05-13T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"NotOrd\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295949\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9303-20403000000011757176\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Penalty Fee Off-Net\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9303\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2024-05-13T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"NotOrd\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295949\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9302-20403000000011757177\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Penalty Fee On-Net\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9302\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2024-05-13T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"NotOrd\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295949\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9304-20403000000011757178\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Penalty Fee World\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9304\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2024-05-13T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"NotOrd\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295949\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9323-20403000000011757180\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home Off-net (Zone 1) \",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9323\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2024-05-13T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"NotOrd\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295949\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9333-20403000000011757181\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home Off-net (Zone 2)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9333\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2024-05-13T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"NotOrd\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295949\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9322-20403000000011757182\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home On-net (Zone 1)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9322\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2024-05-13T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"NotOrd\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295949\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9332-20403000000011757183\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home On-net (Zone 2)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9332\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2024-05-13T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"NotOrd\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295949\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9324-20403000000011757184\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Host Country (Zone 1)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9324\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2024-05-13T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"NotOrd\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295949\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9334-20403000000011757185\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Host Country (Zone 2)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9334\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2024-05-13T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"NotOrd\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295949\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9325-20403000000011757186\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee World (Zone 1)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9325\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2024-05-13T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"NotOrd\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295949\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9335-20403000000011757187\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee World (Zone 2)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9335\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2024-05-13T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"NotOrd\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295949\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9306-20403000000011757189\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Penalty Fee Off-Net\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9306\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2024-05-13T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"NotOrd\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295949\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9305-20403000000011757190\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Penalty Fee On-Net\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9305\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2024-05-13T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"NotOrd\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295949\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9307-20403000000011757191\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Penalty Fee World\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9307\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2024-05-13T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"NotOrd\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295949\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9336-20403000000011757193\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee (Home On-net (Zone 2)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9336\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2024-05-13T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"NotOrd\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295949\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9327-20403000000011757194\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home Off-net (Zone 1)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9327\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2024-05-13T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"NotOrd\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295949\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9337-20403000000011757195\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home Off-net (Zone 2)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9337\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2024-05-13T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"NotOrd\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295949\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9326-20403000000011757196\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home On-net (Zone 1)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9326\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2024-05-13T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"NotOrd\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295949\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9328-20403000000011757197\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Host Country (Zone 1)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9328\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2024-05-13T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"NotOrd\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295949\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9338-20403000000011757198\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Host Country (Zone 2)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9338\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2024-05-13T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"NotOrd\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295949\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9341-20403000000011757220\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Roaming Penalty Fee (Zone 3)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9341\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2024-05-13T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"NotOrd\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295949\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9351-20403000000011757221\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Roaming Penalty Fee (Zone 4)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9351\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2024-05-13T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"NotOrd\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295949\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9343-20403000000011757199\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home Off-net (Zone 3) \",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9343\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2024-05-13T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"NotOrd\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295949\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9353-20403000000011757200\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home Off-net (Zone 4)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9353\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2024-05-13T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"NotOrd\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295949\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9342-20403000000011757201\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home On-net (Zone 3)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9342\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2024-05-13T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"NotOrd\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295949\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9352-20403000000011757202\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home On-net (Zone 4)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9352\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2024-05-13T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"NotOrd\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295949\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9344-20403000000011757203\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Host Country (Zone 3)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9344\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2024-05-13T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"NotOrd\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295949\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9354-20403000000011757204\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Host Country (Zone 4)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9354\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2024-05-13T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"NotOrd\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295949\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9345-20403000000011757205\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee World (Zone 3)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9345\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2024-05-13T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"NotOrd\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295949\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9355-20403000000011757206\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee World (Zone 4)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9355\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2024-05-13T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"NotOrd\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295949\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9356-20403000000011757207\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee (Home On-net (Zone 4)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9356\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2024-05-13T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"NotOrd\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295949\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9347-20403000000011757208\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home Off-net (Zone 3)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9347\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2024-05-13T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"NotOrd\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295949\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9357-20403000000011757209\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home Off-net (Zone 4)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9357\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2024-05-13T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"NotOrd\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295949\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9346-20403000000011757210\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home On-net (Zone 3)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9346\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2024-05-13T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"NotOrd\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295949\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9348-20403000000011757211\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Host Country (Zone 3)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9348\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2024-05-13T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"NotOrd\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295949\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9358-20403000000011757212\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Host Country (Zone 4)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9358\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2024-05-13T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"NotOrd\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295949\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9329-20403000000011757213\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee World (Zone 1)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9329\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2024-05-13T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"NotOrd\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295949\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9339-20403000000011757214\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee World (Zone 2)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9339\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2024-05-13T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"NotOrd\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295949\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9349-20403000000011757215\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee World (Zone 3)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9349\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2024-05-13T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"NotOrd\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295949\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9359-20403000000011757216\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee World (Zone 4)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9359\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2024-05-13T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"NotOrd\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295949\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n }\r\n ],\r\n \"hasStarted\": false,\r\n \"isServiceEnabled\": false,\r\n \"relatedParty\": [\r\n {\r\n \"id\": \"7702209\",\r\n \"IDType\": 0,\r\n \"@referredType\": \"Customers\"\r\n }\r\n ],\r\n \"serviceDate\": \"2024-05-13T00:00:00\",\r\n \"id\": \"01-7702876\",\r\n \"category\": \"GSM\",\r\n \"serviceCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"MSISDN\",\r\n \"name\": \"MSISDN\",\r\n \"value\": \"671234567\",\r\n \"valueType\": \"string\"\r\n }\r\n ],\r\n \"serviceSpecification\": {\r\n \"@type\": \"serviceSpecification\",\r\n \"id\": \"Mobile\"\r\n },\r\n \"state\": \"created\",\r\n \"supportingService\": [\r\n {\r\n \"@type\": \"Service\",\r\n \"serviceCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"scrd_IMSI\",\r\n \"value\": \"255030621983768\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"scrt_Code\",\r\n \"value\": \"UNI\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"scrg_Code\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"scrg_ID\",\r\n \"valueType\": \"integer\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"scrd_ICC\",\r\n \"value\": \"893800399222225840\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"scrd_PUK1\",\r\n \"value\": \"01231234\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"scrd_PUK2\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"scrd_PIN1\",\r\n \"value\": \"0123\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"scrd_PIN2\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"scrs_Code\",\r\n \"value\": \"activ\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"scrd_ExpirationDate\",\r\n \"valueType\": \"date-time\"\r\n }\r\n ],\r\n \"serviceSpecification\": {\r\n \"id\": \"SIM\"\r\n },\r\n \"state\": \"activ\"\r\n }\r\n ]\r\n}" - } - ] - }, - { - "name": "Retrive Service History", - "protocolProfileBehavior": { - "disableBodyPruning": true - }, - "request": { - "auth": { - "type": "basic", - "basic": [ - { - "key": "username", - "value": "login", - "type": "string" - }, - { - "key": "password", - "value": "password", - "type": "string" - } - ] - }, - "method": "GET", - "header": [ - { - "key": "Accept", - "value": "application/json;charset=utf-8" - }, - { - "key": "Content-Type", - "value": "application/json;charset=utf-8" - }, - { - "key": "x-ms-client-request-id", - "value": "20412345678903142363799" - }, - { - "key": "Accept-Language", - "value": "en" - }, - { - "key": "Authorization", - "value": "Basic ZmNzX3VzZXI6Z2V0WWZaeSpMS1lQ" - } - ], - "body": { - "mode": "raw", - "raw": "{}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "{{API}}/api/v2/tmf/service?offset=0&limit=50&serviceCharacteristic=[{\"valueType\":\"string\",\"id\":\"MSISDN\",\"value\":\"380911111125\"}]&servicedate=2024-09-19T00:00:00", - "host": [ - "{{API}}" - ], - "path": [ - "api", - "v2", - "tmf", - "service" - ], - "query": [ - { - "key": "offset", - "value": "0" - }, - { - "key": "limit", - "value": "50" - }, - { - "key": "serviceCharacteristic", - "value": "[{\"valueType\":\"string\",\"id\":\"MSISDN\",\"value\":\"380911111125\"}]" - }, - { - "key": "servicedate", - "value": "2024-09-19T00:00:00" - } - ] - }, - "description": "Generated from cURL: curl --location --globoff --request GET 'https://team-api.wcb-tst.kyivstar.ua:443/api/v2/tmf/service?offset=0&limit=50&serviceCharacteristic=[{%22valueType%22%3A%22string%22%2C%22id%22%3A%22MSISDN%22%2C%22value%22%3A%22380911111125%22}]&sort=-id' \\\n--header 'Accept: application/json;charset=utf-8' \\\n--header 'Content-Type: application/json;charset=utf-8' \\\n--header 'x-ms-client-request-id: 20412345678903142363799' \\\n--header 'Accept-Language: en' \\\n--header 'Authorization: Basic ZmNzX3VzZXI6Z2V0WWZaeSpMS1lQ' \\\n--data '{}'" - }, - "response": [ - { - "name": "Retrive Service History", - "originalRequest": { - "method": "GET", - "header": [ - { - "key": "Accept", - "value": "application/json;charset=utf-8" - }, - { - "key": "Content-Type", - "value": "application/json;charset=utf-8" - }, - { - "key": "x-ms-client-request-id", - "value": "20412345678903142363799" - }, - { - "key": "Accept-Language", - "value": "en" - }, - { - "key": "Authorization", - "value": "Basic ZmNzX3VzZXI6Z2V0WWZaeSpMS1lQ" - } - ], - "body": { - "mode": "raw", - "raw": "{}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "https://team-api.wcb-tst.kyivstar.ua:443/api/v2/tmf/service?offset=0&limit=50&serviceCharacteristic=[{\"valueType\":\"string\",\"id\":\"MSISDN\",\"value\":\"380911111125\"}]", - "protocol": "https", - "host": [ - "team-api", - "wcb-tst", - "kyivstar", - "ua" - ], - "port": "443", - "path": [ - "api", - "v2", - "tmf", - "service" - ], - "query": [ - { - "key": "offset", - "value": "0" - }, - { - "key": "limit", - "value": "50" - }, - { - "key": "serviceCharacteristic", - "value": "[{\"valueType\":\"string\",\"id\":\"MSISDN\",\"value\":\"380911111125\"}]" - } - ] - } - }, - "status": "OK", - "code": 200, - "_postman_previewlanguage": "plain", - "header": [ - { - "key": "Date", - "value": "Mon, 28 Oct 2024 14:03:53 GMT" - }, - { - "key": "Content-Type", - "value": "text/plain; charset=utf-8" - }, - { - "key": "Transfer-Encoding", - "value": "chunked" - }, - { - "key": "Connection", - "value": "keep-alive" - }, - { - "key": "Content-Range", - "value": "items 1-3/3" - }, - { - "key": "Accept-Language", - "value": "uk" - }, - { - "key": "x-ms-client-request-id", - "value": "9b76961d-639e-4952-a11a-47544846" - }, - { - "key": "X-Total-Count", - "value": "3" - }, - { - "key": "X-Page-Count", - "value": "1" - }, - { - "key": "cacheStatus", - "value": "Added" - }, - { - "key": "Access-Control-Allow-Credentials", - "value": "true" - }, - { - "key": "Access-Control-Allow-Headers", - "value": "Authorization,Pragma,Cache-control,Content-type,X-Requested-With" - }, - { - "key": "Access-Control-Allow-Methods", - "value": "GET,POST,PUT,DELETE,HEAD,OPTIONS" - }, - { - "key": "Strict-Transport-Security", - "value": "max-age=31536000" - }, - { - "key": "Content-Security-Policy", - "value": "img-src https: data:; upgrade-insecure-requests" - }, - { - "key": "Content-Encoding", - "value": "gzip" - } - ], - "cookie": [], - "body": "[\n{\n \"feature\": [\n {\n \"@type\": \"Feature\",\n \"id\": \"9000-20403000000011719652\",\n \"isEnabled\": false,\n \"name\": \"M2M Monthly Fee\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9000-20403000000011719845\",\n \"isEnabled\": false,\n \"name\": \"M2M Monthly Fee\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9000-20403000000011719854\",\n \"isEnabled\": true,\n \"name\": \"M2M Monthly Fee\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9215-20403000000011719653\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9215\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9215-20403000000011719846\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9215\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9215-20403000000011719855\",\n \"isEnabled\": true,\n \"name\": \"M2M Data Transmition Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9215\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9301-20403000000011719656\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9301\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9301-20403000000011719849\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9301\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9301-20403000000011719858\",\n \"isEnabled\": true,\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9301\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9201-20403000000011719654\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9201\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9201-20403000000011719847\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9201\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9201-20403000000011719856\",\n \"isEnabled\": true,\n \"name\": \"M2M SMS Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9201\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9304-20403000000011719657\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee World\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9304\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9304-20403000000011719850\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee World\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9304\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9304-20403000000011719859\",\n \"isEnabled\": true,\n \"name\": \"M2M SMS Penalty Fee World\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9304\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9204-20403000000011719655\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9204\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9204-20403000000011719848\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9204\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9204-20403000000011719857\",\n \"isEnabled\": true,\n \"name\": \"M2M Voice Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9204\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9308-20403000000011719658\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9308\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9308-20403000000011719851\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9308\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9308-20403000000011719860\",\n \"isEnabled\": true,\n \"name\": \"M2M SMS Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9308\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9309-20403000000011719659\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9309\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9309-20403000000011719852\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9309\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9309-20403000000011719861\",\n \"isEnabled\": true,\n \"name\": \"M2M Voice Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9309\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9000-20403000000011719652\",\n \"isEnabled\": false,\n \"name\": \"M2M Monthly Fee\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9000-20403000000011719845\",\n \"isEnabled\": false,\n \"name\": \"M2M Monthly Fee\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9000-20403000000011719854\",\n \"isEnabled\": true,\n \"name\": \"M2M Monthly Fee\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9215-20403000000011719653\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9215\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9215-20403000000011719846\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9215\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9215-20403000000011719855\",\n \"isEnabled\": true,\n \"name\": \"M2M Data Transmition Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9215\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9301-20403000000011719656\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9301\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9301-20403000000011719849\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9301\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9301-20403000000011719858\",\n \"isEnabled\": true,\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9301\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9201-20403000000011719654\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9201\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9201-20403000000011719847\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9201\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9201-20403000000011719856\",\n \"isEnabled\": true,\n \"name\": \"M2M SMS Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9201\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9304-20403000000011719657\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee World\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9304\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9304-20403000000011719850\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee World\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9304\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9304-20403000000011719859\",\n \"isEnabled\": true,\n \"name\": \"M2M SMS Penalty Fee World\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9304\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9204-20403000000011719655\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9204\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9204-20403000000011719848\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9204\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9204-20403000000011719857\",\n \"isEnabled\": true,\n \"name\": \"M2M Voice Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9204\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9308-20403000000011719658\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9308\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9308-20403000000011719851\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9308\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9308-20403000000011719860\",\n \"isEnabled\": true,\n \"name\": \"M2M SMS Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9308\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9309-20403000000011719659\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9309\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9309-20403000000011719852\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9309\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9309-20403000000011719861\",\n \"isEnabled\": true,\n \"name\": \"M2M Voice Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9309\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9000-20403000000011719652\",\n \"isEnabled\": false,\n \"name\": \"M2M Monthly Fee\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9000-20403000000011719845\",\n \"isEnabled\": false,\n \"name\": \"M2M Monthly Fee\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9000-20403000000011719854\",\n \"isEnabled\": true,\n \"name\": \"M2M Monthly Fee\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9215-20403000000011719653\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9215\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9215-20403000000011719846\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9215\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9215-20403000000011719855\",\n \"isEnabled\": true,\n \"name\": \"M2M Data Transmition Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9215\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9301-20403000000011719656\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9301\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9301-20403000000011719849\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9301\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9301-20403000000011719858\",\n \"isEnabled\": true,\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9301\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9201-20403000000011719654\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9201\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9201-20403000000011719847\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9201\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9201-20403000000011719856\",\n \"isEnabled\": true,\n \"name\": \"M2M SMS Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9201\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9304-20403000000011719657\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee World\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9304\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9304-20403000000011719850\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee World\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9304\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9304-20403000000011719859\",\n \"isEnabled\": true,\n \"name\": \"M2M SMS Penalty Fee World\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9304\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9204-20403000000011719655\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9204\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9204-20403000000011719848\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9204\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9204-20403000000011719857\",\n \"isEnabled\": true,\n \"name\": \"M2M Voice Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9204\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9308-20403000000011719658\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9308\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9308-20403000000011719851\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9308\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9308-20403000000011719860\",\n \"isEnabled\": true,\n \"name\": \"M2M SMS Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9308\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9309-20403000000011719659\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9309\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9309-20403000000011719852\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9309\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9309-20403000000011719861\",\n \"isEnabled\": true,\n \"name\": \"M2M Voice Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9309\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9000-20403000000011719652\",\n \"isEnabled\": false,\n \"name\": \"M2M Monthly Fee\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9000-20403000000011719845\",\n \"isEnabled\": false,\n \"name\": \"M2M Monthly Fee\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9000-20403000000011719854\",\n \"isEnabled\": true,\n \"name\": \"M2M Monthly Fee\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9215-20403000000011719653\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9215\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9215-20403000000011719846\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9215\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9215-20403000000011719855\",\n \"isEnabled\": true,\n \"name\": \"M2M Data Transmition Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9215\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9301-20403000000011719656\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9301\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9301-20403000000011719849\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9301\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9301-20403000000011719858\",\n \"isEnabled\": true,\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9301\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9201-20403000000011719654\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9201\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9201-20403000000011719847\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9201\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9201-20403000000011719856\",\n \"isEnabled\": true,\n \"name\": \"M2M SMS Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9201\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9304-20403000000011719657\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee World\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9304\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9304-20403000000011719850\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee World\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9304\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9304-20403000000011719859\",\n \"isEnabled\": true,\n \"name\": \"M2M SMS Penalty Fee World\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9304\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9204-20403000000011719655\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9204\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9204-20403000000011719848\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9204\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9204-20403000000011719857\",\n \"isEnabled\": true,\n \"name\": \"M2M Voice Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9204\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9308-20403000000011719658\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9308\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9308-20403000000011719851\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9308\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9308-20403000000011719860\",\n \"isEnabled\": true,\n \"name\": \"M2M SMS Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9308\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9309-20403000000011719659\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9309\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9309-20403000000011719852\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9309\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9309-20403000000011719861\",\n \"isEnabled\": true,\n \"name\": \"M2M Voice Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9309\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n }\n ],\n \"hasStarted\": false,\n \"isServiceEnabled\": true,\n \"relatedParty\": [\n {\n \"id\": \"7702651\",\n \"IDType\": 0,\n \"@referredType\": \"Customers\"\n }\n ],\n \"serviceDate\": \"2024-06-07T00:00:00\",\n \"id\": \"01-7703229\",\n \"category\": \"GSM\",\n \"serviceCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"MSISDN\",\n \"name\": \"MSISDN\",\n \"value\": \"380911111125\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"MSISDN\",\n \"name\": \"MSISDN\",\n \"value\": \"380911111125\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"MSISDN\",\n \"name\": \"MSISDN\",\n \"value\": \"380911111125\",\n \"valueType\": \"string\"\n }\n ],\n \"serviceSpecification\": {\n \"@type\": \"serviceSpecification\",\n \"id\": \"Mobile\"\n },\n \"state\": \"activ\",\n \"supportingService\": [\n {\n \"@type\": \"Service\",\n \"serviceCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_IMSI\",\n \"value\": \"255030621984334\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrt_Code\",\n \"value\": \"UNI\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrg_Code\",\n \"value\": \"default\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrg_ID\",\n \"value\": \"3\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_ICC\",\n \"value\": \"893800399222226406\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_PUK1\",\n \"value\": \"51167603\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_PUK2\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_PIN1\",\n \"value\": \"1111\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_PIN2\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrs_Code\",\n \"value\": \"temp\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_ExpirationDate\",\n \"valueType\": \"date-time\"\n }\n ],\n \"serviceSpecification\": {\n \"id\": \"SIM\"\n },\n \"state\": \"temp\",\n \"id\": \"02-24\"\n },\n {\n \"@type\": \"Service\",\n \"serviceCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_IMSI\",\n \"value\": \"255030621984334\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrt_Code\",\n \"value\": \"UNI\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrg_Code\",\n \"value\": \"default\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrg_ID\",\n \"value\": \"3\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_ICC\",\n \"value\": \"893800399222226406\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_PUK1\",\n \"value\": \"51167603\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_PUK2\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_PIN1\",\n \"value\": \"1111\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_PIN2\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrs_Code\",\n \"value\": \"temp\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_ExpirationDate\",\n \"valueType\": \"date-time\"\n }\n ],\n \"serviceSpecification\": {\n \"id\": \"SIM\"\n },\n \"state\": \"temp\",\n \"id\": \"02-24\"\n },\n {\n \"@type\": \"Service\",\n \"serviceCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_IMSI\",\n \"value\": \"255030621984334\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrt_Code\",\n \"value\": \"UNI\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrg_Code\",\n \"value\": \"default\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrg_ID\",\n \"value\": \"3\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_ICC\",\n \"value\": \"893800399222226406\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_PUK1\",\n \"value\": \"51167603\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_PUK2\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_PIN1\",\n \"value\": \"1111\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_PIN2\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrs_Code\",\n \"value\": \"temp\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_ExpirationDate\",\n \"valueType\": \"date-time\"\n }\n ],\n \"serviceSpecification\": {\n \"id\": \"SIM\"\n },\n \"state\": \"temp\",\n \"id\": \"02-24\"\n }\n ]\n},\n{\n \"feature\": [\n {\n \"@type\": \"Feature\",\n \"id\": \"9000-20403000000011719652\",\n \"isEnabled\": false,\n \"name\": \"M2M Monthly Fee\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9000-20403000000011719845\",\n \"isEnabled\": false,\n \"name\": \"M2M Monthly Fee\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9000-20403000000011719854\",\n \"isEnabled\": true,\n \"name\": \"M2M Monthly Fee\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9215-20403000000011719653\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9215\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9215-20403000000011719846\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9215\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9215-20403000000011719855\",\n \"isEnabled\": true,\n \"name\": \"M2M Data Transmition Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9215\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9301-20403000000011719656\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9301\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9301-20403000000011719849\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9301\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9301-20403000000011719858\",\n \"isEnabled\": true,\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9301\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9201-20403000000011719654\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9201\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9201-20403000000011719847\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9201\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9201-20403000000011719856\",\n \"isEnabled\": true,\n \"name\": \"M2M SMS Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9201\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9304-20403000000011719657\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee World\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9304\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9304-20403000000011719850\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee World\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9304\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9304-20403000000011719859\",\n \"isEnabled\": true,\n \"name\": \"M2M SMS Penalty Fee World\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9304\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9204-20403000000011719655\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9204\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9204-20403000000011719848\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9204\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9204-20403000000011719857\",\n \"isEnabled\": true,\n \"name\": \"M2M Voice Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9204\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9308-20403000000011719658\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9308\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9308-20403000000011719851\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9308\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9308-20403000000011719860\",\n \"isEnabled\": true,\n \"name\": \"M2M SMS Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9308\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9309-20403000000011719659\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9309\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9309-20403000000011719852\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9309\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9309-20403000000011719861\",\n \"isEnabled\": true,\n \"name\": \"M2M Voice Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9309\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9000-20403000000011719652\",\n \"isEnabled\": false,\n \"name\": \"M2M Monthly Fee\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9000-20403000000011719845\",\n \"isEnabled\": false,\n \"name\": \"M2M Monthly Fee\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9000-20403000000011719854\",\n \"isEnabled\": true,\n \"name\": \"M2M Monthly Fee\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9215-20403000000011719653\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9215\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9215-20403000000011719846\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9215\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9215-20403000000011719855\",\n \"isEnabled\": true,\n \"name\": \"M2M Data Transmition Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9215\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9301-20403000000011719656\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9301\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9301-20403000000011719849\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9301\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9301-20403000000011719858\",\n \"isEnabled\": true,\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9301\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9201-20403000000011719654\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9201\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9201-20403000000011719847\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9201\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9201-20403000000011719856\",\n \"isEnabled\": true,\n \"name\": \"M2M SMS Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9201\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9304-20403000000011719657\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee World\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9304\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9304-20403000000011719850\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee World\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9304\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9304-20403000000011719859\",\n \"isEnabled\": true,\n \"name\": \"M2M SMS Penalty Fee World\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9304\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9204-20403000000011719655\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9204\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9204-20403000000011719848\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9204\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9204-20403000000011719857\",\n \"isEnabled\": true,\n \"name\": \"M2M Voice Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9204\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9308-20403000000011719658\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9308\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9308-20403000000011719851\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9308\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9308-20403000000011719860\",\n \"isEnabled\": true,\n \"name\": \"M2M SMS Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9308\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9309-20403000000011719659\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9309\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9309-20403000000011719852\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9309\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9309-20403000000011719861\",\n \"isEnabled\": true,\n \"name\": \"M2M Voice Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9309\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9000-20403000000011719652\",\n \"isEnabled\": false,\n \"name\": \"M2M Monthly Fee\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9000-20403000000011719845\",\n \"isEnabled\": false,\n \"name\": \"M2M Monthly Fee\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9000-20403000000011719854\",\n \"isEnabled\": true,\n \"name\": \"M2M Monthly Fee\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9215-20403000000011719653\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9215\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9215-20403000000011719846\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9215\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9215-20403000000011719855\",\n \"isEnabled\": true,\n \"name\": \"M2M Data Transmition Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9215\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9301-20403000000011719656\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9301\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9301-20403000000011719849\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9301\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9301-20403000000011719858\",\n \"isEnabled\": true,\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9301\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9201-20403000000011719654\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9201\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9201-20403000000011719847\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9201\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9201-20403000000011719856\",\n \"isEnabled\": true,\n \"name\": \"M2M SMS Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9201\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9304-20403000000011719657\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee World\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9304\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9304-20403000000011719850\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee World\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9304\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9304-20403000000011719859\",\n \"isEnabled\": true,\n \"name\": \"M2M SMS Penalty Fee World\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9304\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9204-20403000000011719655\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9204\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9204-20403000000011719848\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9204\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9204-20403000000011719857\",\n \"isEnabled\": true,\n \"name\": \"M2M Voice Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9204\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9308-20403000000011719658\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9308\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9308-20403000000011719851\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9308\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9308-20403000000011719860\",\n \"isEnabled\": true,\n \"name\": \"M2M SMS Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9308\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9309-20403000000011719659\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9309\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9309-20403000000011719852\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9309\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9309-20403000000011719861\",\n \"isEnabled\": true,\n \"name\": \"M2M Voice Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9309\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9000-20403000000011719652\",\n \"isEnabled\": false,\n \"name\": \"M2M Monthly Fee\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9000-20403000000011719845\",\n \"isEnabled\": false,\n \"name\": \"M2M Monthly Fee\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9000-20403000000011719854\",\n \"isEnabled\": true,\n \"name\": \"M2M Monthly Fee\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9215-20403000000011719653\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9215\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9215-20403000000011719846\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9215\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9215-20403000000011719855\",\n \"isEnabled\": true,\n \"name\": \"M2M Data Transmition Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9215\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9301-20403000000011719656\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9301\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9301-20403000000011719849\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9301\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9301-20403000000011719858\",\n \"isEnabled\": true,\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9301\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9201-20403000000011719654\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9201\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9201-20403000000011719847\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9201\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9201-20403000000011719856\",\n \"isEnabled\": true,\n \"name\": \"M2M SMS Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9201\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9304-20403000000011719657\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee World\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9304\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9304-20403000000011719850\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee World\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9304\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9304-20403000000011719859\",\n \"isEnabled\": true,\n \"name\": \"M2M SMS Penalty Fee World\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9304\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9204-20403000000011719655\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9204\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9204-20403000000011719848\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9204\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9204-20403000000011719857\",\n \"isEnabled\": true,\n \"name\": \"M2M Voice Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9204\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9308-20403000000011719658\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9308\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9308-20403000000011719851\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9308\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9308-20403000000011719860\",\n \"isEnabled\": true,\n \"name\": \"M2M SMS Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9308\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9309-20403000000011719659\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9309\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9309-20403000000011719852\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9309\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9309-20403000000011719861\",\n \"isEnabled\": true,\n \"name\": \"M2M Voice Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9309\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n }\n ],\n \"hasStarted\": false,\n \"isServiceEnabled\": true,\n \"relatedParty\": [\n {\n \"id\": \"7702651\",\n \"IDType\": 0,\n \"@referredType\": \"Customers\"\n }\n ],\n \"serviceDate\": \"2024-09-20T00:00:00\",\n \"id\": \"01-7703229\",\n \"category\": \"GSM\",\n \"serviceCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"MSISDN\",\n \"name\": \"MSISDN\",\n \"value\": \"380911111125\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"MSISDN\",\n \"name\": \"MSISDN\",\n \"value\": \"380911111125\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"MSISDN\",\n \"name\": \"MSISDN\",\n \"value\": \"380911111125\",\n \"valueType\": \"string\"\n }\n ],\n \"serviceSpecification\": {\n \"@type\": \"serviceSpecification\",\n \"id\": \"Mobile\"\n },\n \"state\": \"activ\",\n \"supportingService\": [\n {\n \"@type\": \"Service\",\n \"serviceCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_IMSI\",\n \"value\": \"255030621984334\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrt_Code\",\n \"value\": \"UNI\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrg_Code\",\n \"value\": \"default\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrg_ID\",\n \"value\": \"3\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_ICC\",\n \"value\": \"893800399222226406\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_PUK1\",\n \"value\": \"51167603\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_PUK2\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_PIN1\",\n \"value\": \"1111\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_PIN2\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrs_Code\",\n \"value\": \"temp\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_ExpirationDate\",\n \"valueType\": \"date-time\"\n }\n ],\n \"serviceSpecification\": {\n \"id\": \"SIM\"\n },\n \"state\": \"temp\",\n \"id\": \"02-24\"\n },\n {\n \"@type\": \"Service\",\n \"serviceCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_IMSI\",\n \"value\": \"255030621984334\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrt_Code\",\n \"value\": \"UNI\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrg_Code\",\n \"value\": \"default\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrg_ID\",\n \"value\": \"3\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_ICC\",\n \"value\": \"893800399222226406\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_PUK1\",\n \"value\": \"51167603\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_PUK2\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_PIN1\",\n \"value\": \"1111\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_PIN2\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrs_Code\",\n \"value\": \"temp\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_ExpirationDate\",\n \"valueType\": \"date-time\"\n }\n ],\n \"serviceSpecification\": {\n \"id\": \"SIM\"\n },\n \"state\": \"temp\",\n \"id\": \"02-24\"\n },\n {\n \"@type\": \"Service\",\n \"serviceCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_IMSI\",\n \"value\": \"255030621984334\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrt_Code\",\n \"value\": \"UNI\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrg_Code\",\n \"value\": \"default\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrg_ID\",\n \"value\": \"3\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_ICC\",\n \"value\": \"893800399222226406\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_PUK1\",\n \"value\": \"51167603\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_PUK2\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_PIN1\",\n \"value\": \"1111\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_PIN2\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrs_Code\",\n \"value\": \"temp\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_ExpirationDate\",\n \"valueType\": \"date-time\"\n }\n ],\n \"serviceSpecification\": {\n \"id\": \"SIM\"\n },\n \"state\": \"temp\",\n \"id\": \"02-24\"\n }\n ]\n},\n{\n \"feature\": [\n {\n \"@type\": \"Feature\",\n \"id\": \"9000-20403000000011719652\",\n \"isEnabled\": false,\n \"name\": \"M2M Monthly Fee\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9000-20403000000011719845\",\n \"isEnabled\": false,\n \"name\": \"M2M Monthly Fee\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9000-20403000000011719854\",\n \"isEnabled\": true,\n \"name\": \"M2M Monthly Fee\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9215-20403000000011719653\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9215\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9215-20403000000011719846\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9215\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9215-20403000000011719855\",\n \"isEnabled\": true,\n \"name\": \"M2M Data Transmition Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9215\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9301-20403000000011719656\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9301\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9301-20403000000011719849\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9301\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9301-20403000000011719858\",\n \"isEnabled\": true,\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9301\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9201-20403000000011719654\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9201\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9201-20403000000011719847\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9201\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9201-20403000000011719856\",\n \"isEnabled\": true,\n \"name\": \"M2M SMS Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9201\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9304-20403000000011719657\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee World\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9304\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9304-20403000000011719850\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee World\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9304\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9304-20403000000011719859\",\n \"isEnabled\": true,\n \"name\": \"M2M SMS Penalty Fee World\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9304\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9204-20403000000011719655\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9204\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9204-20403000000011719848\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9204\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9204-20403000000011719857\",\n \"isEnabled\": true,\n \"name\": \"M2M Voice Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9204\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9308-20403000000011719658\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9308\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9308-20403000000011719851\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9308\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9308-20403000000011719860\",\n \"isEnabled\": true,\n \"name\": \"M2M SMS Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9308\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9309-20403000000011719659\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9309\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9309-20403000000011719852\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9309\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9309-20403000000011719861\",\n \"isEnabled\": true,\n \"name\": \"M2M Voice Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9309\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9000-20403000000011719652\",\n \"isEnabled\": false,\n \"name\": \"M2M Monthly Fee\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9000-20403000000011719845\",\n \"isEnabled\": false,\n \"name\": \"M2M Monthly Fee\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9000-20403000000011719854\",\n \"isEnabled\": true,\n \"name\": \"M2M Monthly Fee\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9215-20403000000011719653\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9215\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9215-20403000000011719846\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9215\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9215-20403000000011719855\",\n \"isEnabled\": true,\n \"name\": \"M2M Data Transmition Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9215\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9301-20403000000011719656\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9301\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9301-20403000000011719849\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9301\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9301-20403000000011719858\",\n \"isEnabled\": true,\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9301\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9201-20403000000011719654\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9201\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9201-20403000000011719847\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9201\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9201-20403000000011719856\",\n \"isEnabled\": true,\n \"name\": \"M2M SMS Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9201\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9304-20403000000011719657\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee World\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9304\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9304-20403000000011719850\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee World\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9304\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9304-20403000000011719859\",\n \"isEnabled\": true,\n \"name\": \"M2M SMS Penalty Fee World\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9304\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9204-20403000000011719655\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9204\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9204-20403000000011719848\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9204\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9204-20403000000011719857\",\n \"isEnabled\": true,\n \"name\": \"M2M Voice Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9204\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9308-20403000000011719658\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9308\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9308-20403000000011719851\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9308\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9308-20403000000011719860\",\n \"isEnabled\": true,\n \"name\": \"M2M SMS Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9308\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9309-20403000000011719659\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9309\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9309-20403000000011719852\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9309\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9309-20403000000011719861\",\n \"isEnabled\": true,\n \"name\": \"M2M Voice Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9309\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9000-20403000000011719652\",\n \"isEnabled\": false,\n \"name\": \"M2M Monthly Fee\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9000-20403000000011719845\",\n \"isEnabled\": false,\n \"name\": \"M2M Monthly Fee\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9000-20403000000011719854\",\n \"isEnabled\": true,\n \"name\": \"M2M Monthly Fee\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9215-20403000000011719653\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9215\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9215-20403000000011719846\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9215\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9215-20403000000011719855\",\n \"isEnabled\": true,\n \"name\": \"M2M Data Transmition Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9215\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9301-20403000000011719656\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9301\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9301-20403000000011719849\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9301\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9301-20403000000011719858\",\n \"isEnabled\": true,\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9301\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9201-20403000000011719654\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9201\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9201-20403000000011719847\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9201\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9201-20403000000011719856\",\n \"isEnabled\": true,\n \"name\": \"M2M SMS Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9201\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9304-20403000000011719657\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee World\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9304\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9304-20403000000011719850\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee World\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9304\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9304-20403000000011719859\",\n \"isEnabled\": true,\n \"name\": \"M2M SMS Penalty Fee World\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9304\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9204-20403000000011719655\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9204\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9204-20403000000011719848\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9204\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9204-20403000000011719857\",\n \"isEnabled\": true,\n \"name\": \"M2M Voice Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9204\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9308-20403000000011719658\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9308\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9308-20403000000011719851\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9308\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9308-20403000000011719860\",\n \"isEnabled\": true,\n \"name\": \"M2M SMS Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9308\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9309-20403000000011719659\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9309\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9309-20403000000011719852\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9309\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9309-20403000000011719861\",\n \"isEnabled\": true,\n \"name\": \"M2M Voice Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9309\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9000-20403000000011719652\",\n \"isEnabled\": false,\n \"name\": \"M2M Monthly Fee\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9000-20403000000011719845\",\n \"isEnabled\": false,\n \"name\": \"M2M Monthly Fee\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9000-20403000000011719854\",\n \"isEnabled\": true,\n \"name\": \"M2M Monthly Fee\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9215-20403000000011719653\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9215\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9215-20403000000011719846\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9215\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9215-20403000000011719855\",\n \"isEnabled\": true,\n \"name\": \"M2M Data Transmition Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9215\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9301-20403000000011719656\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9301\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9301-20403000000011719849\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9301\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9301-20403000000011719858\",\n \"isEnabled\": true,\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9301\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9201-20403000000011719654\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9201\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9201-20403000000011719847\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9201\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9201-20403000000011719856\",\n \"isEnabled\": true,\n \"name\": \"M2M SMS Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9201\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9304-20403000000011719657\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee World\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9304\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9304-20403000000011719850\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee World\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9304\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9304-20403000000011719859\",\n \"isEnabled\": true,\n \"name\": \"M2M SMS Penalty Fee World\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9304\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9204-20403000000011719655\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9204\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9204-20403000000011719848\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9204\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9204-20403000000011719857\",\n \"isEnabled\": true,\n \"name\": \"M2M Voice Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9204\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9308-20403000000011719658\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9308\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9308-20403000000011719851\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9308\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9308-20403000000011719860\",\n \"isEnabled\": true,\n \"name\": \"M2M SMS Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9308\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9309-20403000000011719659\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9309\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9309-20403000000011719852\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9309\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9309-20403000000011719861\",\n \"isEnabled\": true,\n \"name\": \"M2M Voice Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9309\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n }\n ],\n \"hasStarted\": false,\n \"isServiceEnabled\": true,\n \"relatedParty\": [\n {\n \"id\": \"7702651\",\n \"IDType\": 0,\n \"@referredType\": \"Customers\"\n }\n ],\n \"serviceDate\": \"2024-09-19T00:00:00\",\n \"id\": \"01-7703229\",\n \"category\": \"GSM\",\n \"serviceCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"MSISDN\",\n \"name\": \"MSISDN\",\n \"value\": \"380911111125\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"MSISDN\",\n \"name\": \"MSISDN\",\n \"value\": \"380911111125\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"MSISDN\",\n \"name\": \"MSISDN\",\n \"value\": \"380911111125\",\n \"valueType\": \"string\"\n }\n ],\n \"serviceSpecification\": {\n \"@type\": \"serviceSpecification\",\n \"id\": \"Mobile\"\n },\n \"state\": \"activ\",\n \"supportingService\": [\n {\n \"@type\": \"Service\",\n \"serviceCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_IMSI\",\n \"value\": \"255030621984334\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrt_Code\",\n \"value\": \"UNI\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrg_Code\",\n \"value\": \"default\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrg_ID\",\n \"value\": \"3\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_ICC\",\n \"value\": \"893800399222226406\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_PUK1\",\n \"value\": \"51167603\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_PUK2\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_PIN1\",\n \"value\": \"1111\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_PIN2\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrs_Code\",\n \"value\": \"temp\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_ExpirationDate\",\n \"valueType\": \"date-time\"\n }\n ],\n \"serviceSpecification\": {\n \"id\": \"SIM\"\n },\n \"state\": \"temp\",\n \"id\": \"02-24\"\n },\n {\n \"@type\": \"Service\",\n \"serviceCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_IMSI\",\n \"value\": \"255030621984334\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrt_Code\",\n \"value\": \"UNI\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrg_Code\",\n \"value\": \"default\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrg_ID\",\n \"value\": \"3\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_ICC\",\n \"value\": \"893800399222226406\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_PUK1\",\n \"value\": \"51167603\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_PUK2\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_PIN1\",\n \"value\": \"1111\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_PIN2\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrs_Code\",\n \"value\": \"temp\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_ExpirationDate\",\n \"valueType\": \"date-time\"\n }\n ],\n \"serviceSpecification\": {\n \"id\": \"SIM\"\n },\n \"state\": \"temp\",\n \"id\": \"02-24\"\n },\n {\n \"@type\": \"Service\",\n \"serviceCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_IMSI\",\n \"value\": \"255030621984334\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrt_Code\",\n \"value\": \"UNI\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrg_Code\",\n \"value\": \"default\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrg_ID\",\n \"value\": \"3\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_ICC\",\n \"value\": \"893800399222226406\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_PUK1\",\n \"value\": \"51167603\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_PUK2\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_PIN1\",\n \"value\": \"1111\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_PIN2\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrs_Code\",\n \"value\": \"temp\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_ExpirationDate\",\n \"valueType\": \"date-time\"\n }\n ],\n \"serviceSpecification\": {\n \"id\": \"SIM\"\n },\n \"state\": \"temp\",\n \"id\": \"02-24\"\n }\n ]\n}\n]\n" - }, - { - "name": "Retrive Service History by Date", - "originalRequest": { - "method": "GET", - "header": [ - { - "key": "Accept", - "value": "application/json;charset=utf-8" - }, - { - "key": "Content-Type", - "value": "application/json;charset=utf-8" - }, - { - "key": "x-ms-client-request-id", - "value": "20412345678903142363799" - }, - { - "key": "Accept-Language", - "value": "en" - }, - { - "key": "Authorization", - "value": "Basic ZmNzX3VzZXI6Z2V0WWZaeSpMS1lQ" - } - ], - "body": { - "mode": "raw", - "raw": "", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "{{API}}/api/v2/tmf/service?serviceCharacteristic=[{\"valueType\":\"string\",\"id\":\"MSISDN\",\"value\":\"380911111125\"}]&servicedate=2024-09-19T00:00:00", - "host": [ - "{{API}}" - ], - "path": [ - "api", - "v2", - "tmf", - "service" - ], - "query": [ - { - "key": "serviceCharacteristic", - "value": "[{\"valueType\":\"string\",\"id\":\"MSISDN\",\"value\":\"380911111125\"}]" - }, - { - "key": "servicedate", - "value": "2024-09-19T00:00:00" - } - ] - } - }, - "status": "OK", - "code": 200, - "_postman_previewlanguage": "plain", - "header": [ - { - "key": "Date", - "value": "Wed, 19 Feb 2025 15:09:26 GMT" - }, - { - "key": "Content-Type", - "value": "text/plain; charset=utf-8" - }, - { - "key": "Transfer-Encoding", - "value": "chunked" - }, - { - "key": "Connection", - "value": "keep-alive" - }, - { - "key": "Content-Range", - "value": "items 1-1/1" - }, - { - "key": "Accept-Language", - "value": "en" - }, - { - "key": "x-ms-client-request-id", - "value": "20412345678903142363799" - }, - { - "key": "X-Total-Count", - "value": "1" - }, - { - "key": "X-Page-Count", - "value": "1" - }, - { - "key": "cacheStatus", - "value": "Added" - }, - { - "key": "x-execution-status", - "value": "done" - }, - { - "key": "Access-Control-Allow-Credentials", - "value": "true" - }, - { - "key": "Access-Control-Allow-Headers", - "value": "Authorization,Pragma,Cache-control,Content-type,X-Requested-With" - }, - { - "key": "Access-Control-Allow-Methods", - "value": "GET,POST,PUT,DELETE,HEAD,OPTIONS" - }, - { - "key": "Strict-Transport-Security", - "value": "max-age=31536000" - }, - { - "key": "Content-Security-Policy", - "value": "img-src https: data:; upgrade-insecure-requests" - }, - { - "key": "Content-Encoding", - "value": "gzip" - } - ], - "cookie": [], - "body": "[\n{\n \"feature\": [\n {\n \"@type\": \"Feature\",\n \"id\": \"9000-20403000000011719845\",\n \"isEnabled\": false,\n \"name\": \"M2M Monthly Fee\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Charge\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9215-20403000000011719846\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9215\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Blocker service\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9201-20403000000011719847\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9201\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Blocker service\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9204-20403000000011719848\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9204\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Blocker service\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9301-20403000000011719849\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9301\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Traffic charge\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9304-20403000000011719850\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee World\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9304\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Traffic charge\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9308-20403000000011719851\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9308\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Traffic charge\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9309-20403000000011719852\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9309\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Traffic charge\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n }\n ],\n \"hasStarted\": false,\n \"isServiceEnabled\": false,\n \"relatedParty\": [\n {\n \"id\": \"7702651\",\n \"IDType\": 0,\n \"@referredType\": \"Customers\"\n }\n ],\n \"serviceDate\": \"2024-09-19T00:00:00\",\n \"id\": \"01-7703229\",\n \"category\": \"GSM\",\n \"serviceCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"MSISDN\",\n \"name\": \"MSISDN\",\n \"value\": \"380911111125\",\n \"valueType\": \"string\"\n }\n ],\n \"serviceSpecification\": {\n \"@type\": \"serviceSpecification\",\n \"id\": \"Mobile\"\n },\n \"state\": \"activ\",\n \"supportingService\": [\n {\n \"@type\": \"Service\",\n \"serviceCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_IMSI\",\n \"value\": \"255030621984334\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrt_Code\",\n \"value\": \"UNI\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrg_Code\",\n \"value\": \"default\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrg_ID\",\n \"value\": \"3\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_ICC\",\n \"value\": \"893800399222226406\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_PUK1\",\n \"value\": \"51167603\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_PUK2\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_PIN1\",\n \"value\": \"1111\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_PIN2\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrs_Code\",\n \"value\": \"temp\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_ExpirationDate\",\n \"valueType\": \"date-time\"\n }\n ],\n \"serviceSpecification\": {\n \"id\": \"SIM\"\n },\n \"state\": \"temp\",\n \"id\": \"02-24\"\n }\n ]\n}\n]\n" - } - ] - }, - { - "name": "By ID", - "request": { - "auth": { - "type": "basic", - "basic": [ - { - "key": "username", - "value": "login", - "type": "string" - }, - { - "key": "password", - "value": "password", - "type": "string" - } - ] - }, - "method": "GET", - "header": [ - { - "key": "Accept", - "value": "application/json;charset=utf-8", - "type": "text" - }, - { - "key": "Content-Type", - "value": "application/json;charset=utf-8", - "type": "text" - }, - { - "key": "x-ms-client-request-id", - "value": "20412345678903142363799", - "type": "text" - }, - { - "key": "Accept-Language", - "value": "en", - "type": "text" - } - ], - "url": { - "raw": "{{API}}/api/v2/tmf/service/{{Service_id}}", - "host": [ - "{{API}}" - ], - "path": [ - "api", - "v2", - "tmf", - "service", - "{{Service_id}}" - ] - } - }, - "response": [] - }, - { - "name": "Activate a Service", - "request": { - "auth": { - "type": "basic", - "basic": [ - { - "key": "password", - "value": "password", - "type": "string" - }, - { - "key": "username", - "value": "login", - "type": "string" - } - ] - }, - "method": "PUT", - "header": [ - { - "key": "Accept", - "value": "application/json;charset=utf-8" - }, - { - "key": "Content-Type", - "value": "application/json;charset=utf-8" - }, - { - "key": "Accept-Language", - "value": "en" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"@type\":\"Service\",\n \"serviceCharacteristic\":[\n {\n \"valueType\":\"string\",\n \"id\":\"MSISDN\",\n \"value\":\"{{msisdn}}\"\n }\n ],\n \"serviceDate\":\"{{startDate}}\",\n \"state\":\"{{Active_state}}\",\n \"startDate\":\"{{startDate}}\",\n \"serviceSpecification\":{\n \"@type\":\"serviceSpecification\",\n \"id\":\"Mobile\"\n },\n \"note\":[\n {\n \"author\":\"domain+username\",\n \"hostname\":\"192.156.7.77\",\n \"text\":\"handle several services\",\n \"@type\":\"Note\"\n }\n ],\n \"supportingService\":[\n {\n\n \"@type\":\"Service\",\n \"serviceSpecification\":{\n \"@type\":\"serviceSpecification\",\n \"id\":\"SIM\"\n },\n \"state\":\"{{Active_state}}\",\n \"serviceCharacteristic\":[\n {\n \"valueType\":\"string\",\n \"id\":\"scrd_IMSI\",\n \"value\":\"{{IMSI}}\",\n \"@type\":\"Characteristic\"\n },\n {\n \"valueType\":\"string\",\n \"id\":\"scrt_Code\",\n \"value\":\"UNI\",\n \"@type\":\"Characteristic\"\n },\n {\n \"valueType\":\"string\",\n \"id\":\"scrg_Code\",\n \"value\":\"{{SIM_group}}\",\n \"@type\":\"Characteristic\"\n },\n {\n \"valueType\":\"string\",\n \"id\":\"scrd_ICC\",\n \"value\":\"{{ICC}}\",\n \"@type\":\"Characteristic\"\n },\n {\n \"valueType\":\"string\",\n \"id\":\"scrd_PUK1\",\n \"value\":\"{{PUK1}}\",\n \"@type\":\"Characteristic\"\n },\n {\n \"valueType\":\"string\",\n \"id\":\"scrd_PUK2\",\n \"value\":\"{{PUK2}}\",\n \"@type\":\"Characteristic\"\n },\n {\n \"valueType\":\"string\",\n \"id\":\"scrd_PIN1\",\n \"value\":\"{{PIN1}}\",\n \"@type\":\"Characteristic\"\n },\n {\n \"valueType\":\"string\",\n \"id\":\"scrd_PIN2\",\n \"value\":\"{{PIN2}}\",\n \"@type\":\"Characteristic\"\n },\n {\n \"valueType\":\"date-time\",\n \"id\":\"scrd_ExpirationDate\",\n \"value\":\"2999-12-31T23:59:59.997Z\",\n \"@type\":\"Characteristic\"\n }\n ]\n }\n ],\n \"feature\":[\n {\n \"@type\":\"Feature\",\n \"isEnabled\":false,\n \"featureCharacteristic\":[\n {\n \"id\":\"ServiceCode\",\n \"valueType\":\"string\",\n \"value\":\"{{Srv_Code1}}\",\n \"@type\":\"Characteristic\"\n },\n {\n \"id\":\"StatusCode\",\n \"valueType\":\"String\",\n \"value\":\"FinBlock\",\n \"@type\":\"Characteristic\"\n }\n ]\n },\n {\n \"@type\":\"Feature\",\n \"isEnabled\":false,\n \"featureCharacteristic\":[\n {\n \"id\":\"ServiceCode\",\n \"valueType\":\"string\",\n \"value\":\"{{Srv_Code2}}\",\n \"@type\":\"Characteristic\"\n },\n {\n \"id\":\"StatusCode\",\n \"valueType\":\"String\",\n \"value\":\"FinBlock\",\n \"@type\":\"Characteristic\"\n }\n ]\n }\n]\n}" - }, - "url": { - "raw": "{{API}}/api/v2/tmf/service/{{Service_id}}", - "host": [ - "{{API}}" - ], - "path": [ - "api", - "v2", - "tmf", - "service", - "{{Service_id}}" - ] - }, - "description": "This operation updates partially a Service entity." - }, - "response": [ - { - "name": "SUCCESS", - "originalRequest": { - "method": "PUT", - "header": [ - { - "key": "Accept", - "value": "application/json;charset=utf-8" - }, - { - "key": "Content-Type", - "value": "application/json;charset=utf-8" - }, - { - "key": "Accept-Language", - "value": "en" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"category\" : \"1\",\n \"description\" : \"Creating services\",\n \"hasStarted\" : true,\n \"isServiceEnabled\" : true,\n \"serviceDate\" : \"2025-02-05T12:49:05.050Z\",\n \"startDate\" : \"2025-02-05T12:49:05.050Z\",\n \"state\" : \"activ\",\n \"note\" :\n [\n {\n \"@type\" : \"Note\",\n \"author\" : \"FCS_FCS_\",\n \"text\" : \"M2M Activation\"\n }\n ],\n \"relatedParty\" :\n [\n {\n \"@referredType\" : \"Customers\",\n \"id\" : \"9031408\"\n }\n ],\n \"serviceCharacteristic\" :\n [\n {\n \"id\" : \"MSISDN\",\n \"value\" : \"380671884293\",\n \"valueType\" : \"string\"\n }\n ],\n \"supportingService\" :\n [\n {\n \"@type\" : \"Service\",\n \"state\" : \"activ\",\n \"serviceCharacteristic\" :\n [\n {\n \"id\" : \"scrd_IMSI\",\n \"value\" : \"255030645328856\",\n \"valueType\" : \"string\"\n },\n {\n \"id\" : \"scrt_Code\",\n \"value\" : \"UNI\",\n \"valueType\" : \"string\"\n },\n {\n \"id\" : \"scrg_Code\",\n \"value\" : \"default\",\n \"valueType\" : \"string\"\n },\n {\n \"id\" : \"scrd_ICC\",\n \"value\" : \"893800399296739639\",\n \"valueType\" : \"string\"\n },\n {\n \"id\" : \"scrd_PUK1\",\n \"value\" : \"94728831\",\n \"valueType\" : \"string\"\n },\n {\n \"id\" : \"scrd_PUK2\",\n \"value\" : \"89313440\",\n \"valueType\" : \"string\"\n },\n {\n \"id\" : \"scrd_PIN1\",\n \"value\" : \"1111\",\n \"valueType\" : \"string\"\n },\n {\n \"id\" : \"scrd_PIN2\",\n \"value\" : \"7772\",\n \"valueType\" : \"string\"\n },\n {\n \"id\" : \"scrs_Code\",\n \"value\" : \"activ\",\n \"valueType\" : \"string\"\n },\n {\n \"id\" : \"scrd_ExpirationDate\",\n \"value\" : \"2099-12-31T23:59:59.999Z\",\n \"valueType\" : \"date-time\"\n }\n ]\n }\n ],\n \"@type\" : \"Service\",\n \"id\" : \"01-9774134\"\n}" - }, - "url": { - "raw": "{{API}}/api/v2/tmf/service/01-9774134", - "host": [ - "{{API}}" - ], - "path": [ - "api", - "v2", - "tmf", - "service", - "01-9774134" - ] - } - }, - "status": "OK", - "code": 200, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Date", - "value": "Wed, 05 Feb 2025 11:26:55 GMT" - }, - { - "key": "Content-Type", - "value": "application/json; charset=utf-8" - }, - { - "key": "Content-Length", - "value": "1035" - }, - { - "key": "Connection", - "value": "keep-alive" - }, - { - "key": "x-execution-status", - "value": "done" - }, - { - "key": "Access-Control-Allow-Credentials", - "value": "true" - }, - { - "key": "Access-Control-Allow-Headers", - "value": "Authorization,Pragma,Cache-control,Content-type,X-Requested-With" - }, - { - "key": "Access-Control-Allow-Methods", - "value": "GET,POST,PUT,DELETE,HEAD,OPTIONS" - }, - { - "key": "Strict-Transport-Security", - "value": "max-age=31536000" - }, - { - "key": "Content-Security-Policy", - "value": "img-src https: data:; upgrade-insecure-requests" - } - ], - "cookie": [], - "body": "{\n \"relatedParty\": [\n {\n \"id\": \"9031408\",\n \"@referredType\": \"Customers\"\n }\n ],\n \"category\": \"1\",\n \"feature\": [\n {}\n ],\n \"hasStarted\": true,\n \"isServiceEnabled\": true,\n \"serviceCharacteristic\": [\n {\n \"id\": \"MSISDN\",\n \"value\": \"380671884293\",\n \"valueType\": \"string\"\n }\n ],\n \"serviceDate\": \"2025-02-05T12:49:05.05Z\",\n \"startDate\": \"2025-02-05T12:49:05.05Z\",\n \"state\": \"activ\",\n \"id\": \"01-9774134\",\n \"supportingService\": [\n {\n \"@type\": \"Service\",\n \"serviceCharacteristic\": [\n {\n \"id\": \"scrd_IMSI\",\n \"value\": \"255030645328856\",\n \"valueType\": \"string\"\n },\n {\n \"id\": \"scrt_Code\",\n \"value\": \"UNI\",\n \"valueType\": \"string\"\n },\n {\n \"id\": \"scrg_Code\",\n \"value\": \"default\",\n \"valueType\": \"string\"\n },\n {\n \"id\": \"scrd_ICC\",\n \"value\": \"893800399296739639\",\n \"valueType\": \"string\"\n },\n {\n \"id\": \"scrd_PUK1\",\n \"value\": \"94728831\",\n \"valueType\": \"string\"\n },\n {\n \"id\": \"scrd_PUK2\",\n \"value\": \"89313440\",\n \"valueType\": \"string\"\n },\n {\n \"id\": \"scrd_PIN1\",\n \"value\": \"1111\",\n \"valueType\": \"string\"\n },\n {\n \"id\": \"scrd_PIN2\",\n \"value\": \"7772\",\n \"valueType\": \"string\"\n },\n {\n \"id\": \"scrs_Code\",\n \"value\": \"activ\",\n \"valueType\": \"string\"\n },\n {\n \"id\": \"scrd_ExpirationDate\",\n \"value\": \"2099-12-31T23:59:59.999Z\",\n \"valueType\": \"date-time\"\n }\n ],\n \"state\": \"activ\"\n }\n ]\n}" - } - ] - }, - { - "name": "Disable a Service Feature", - "request": { - "auth": { - "type": "basic", - "basic": [ - { - "key": "username", - "value": "login", - "type": "string" - }, - { - "key": "password", - "value": "password", - "type": "string" - } - ] - }, - "method": "PUT", - "header": [ - { - "key": "Accept", - "value": "application/json;charset=utf-8" - }, - { - "key": "Content-Type", - "value": "application/json;charset=utf-8" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"@type\":\"Service\",\n \"serviceSpecification\":{\n \"@type\":\"serviceSpecification\",\n \"id\":\"Mobile\"\n },\n \"note\":[\n {\n \"author\":\"domain+username\",\n \"hostname\":\"192.156.7.77\",\n \"text\":\"handle states of two services Srv_Code1 and Srv_Code2\",\n \"@type\":\"Note\"\n }\n ],\n \"feature\":[\n {\n \"@type\":\"Feature\",\n \"isEnabled\":false,\n \"featureCharacteristic\":[\n {\n \"id\":\"ServiceCode\",\n \"valueType\":\"string\",\n \"value\":\"{{Srv_Code1}}\",\n \"@type\":\"Characteristic\"\n }\n ]\n },\n {\n \"@type\":\"Feature\",\n \"isEnabled\":false,\n \"featureCharacteristic\":[\n {\n \"id\":\"ServiceCode\",\n \"valueType\":\"string\",\n \"value\":\"{{Srv_Code2}}\"\n }\n ]\n }\n ]\n}" - }, - "url": { - "raw": "{{API}}/api/v2/tmf/service/{{Service_id}}", - "host": [ - "{{API}}" - ], - "path": [ - "api", - "v2", - "tmf", - "service", - "{{Service_id}}" - ] - }, - "description": "This operation updates partially a Service entity." - }, - "response": [ - { - "name": "SUCCESS", - "originalRequest": { - "method": "PUT", - "header": [ - { - "key": "Accept", - "value": "application/json;charset=utf-8" - }, - { - "key": "Content-Type", - "value": "application/json;charset=utf-8" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"note\":[\n {\n \"author\":\"domain+username\",\n \"hostname\":\"192.156.7.77\",\n \"text\":\"creating GSM services\",\n \"@type\":\"Note\"\n }\n ],\n \"feature\":[\n {\n \"@type\":\"Feature\",\n \"isEnabled\":false,\n \"featureCharacteristic\":[\n {\n \"id\":\"ServiceCode\",\n \"valueType\":\"string\",\n \"value\":\"{{Srv_Code1}}\"\n },\n {\n \"id\":\"StatusCode\",\n \"valueType\":\"String\",\n \"value\":\"FinBlock\"\n }\n ]\n },\n {\n \"@type\":\"Feature\",\n \"isEnabled\":false,\n \"featureCharacteristic\":[\n {\n \"id\":\"ServiceCode\",\n \"valueType\":\"string\",\n \"value\":\"{{Srv_Code2}}\"\n },\n {\n \"id\":\"StatusCode\",\n \"valueType\":\"String\",\n \"value\":\"FinBlock\"\n }\n ]\n }\n]\n}" - }, - "url": { - "raw": "{{API}}/api/v2/tmf/service/{{Service_id}}", - "host": [ - "{{API}}" - ], - "path": [ - "api", - "v2", - "tmf", - "service", - "{{Service_id}}" - ] - } - }, - "status": "OK", - "code": 200, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Length", - "value": "441" - }, - { - "key": "Content-Type", - "value": "application/json; charset=utf-8" - }, - { - "key": "Access-Control-Allow-Methods", - "value": "GET, PUT, POST, DELETE, OPTIONS, HEAD" - }, - { - "key": "Access-Control-Allow-Headers", - "value": "Authorization,Pragma,Cache-control,Content-type" - }, - { - "key": "Access-Control-Allow-Credentials", - "value": "true" - }, - { - "key": "Date", - "value": "Fri, 22 Mar 2024 08:32:50 GMT" - } - ], - "cookie": [], - "body": "{\n \"relatedParty\": [\n {}\n ],\n \"feature\": [\n {\n \"@type\": \"Feature\",\n \"isEnabled\": false,\n \"featureCharacteristic\": [\n {\n \"id\": \"ServiceCode\",\n \"value\": \"9215\",\n \"valueType\": \"string\"\n },\n {\n \"id\": \"StatusCode\",\n \"value\": \"FinBlock\",\n \"valueType\": \"String\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"isEnabled\": false,\n \"featureCharacteristic\": [\n {\n \"id\": \"ServiceCode\",\n \"value\": \"9201\",\n \"valueType\": \"string\"\n },\n {\n \"id\": \"StatusCode\",\n \"value\": \"FinBlock\",\n \"valueType\": \"String\"\n }\n ]\n }\n ],\n \"serviceCharacteristic\": [\n {}\n ],\n \"id\": \"01-294042\"\n}" - } - ] - }, - { - "name": "Enable a Service Feature", - "request": { - "method": "PUT", - "header": [ - { - "key": "Accept", - "value": "application/json;charset=utf-8" - }, - { - "key": "Content-Type", - "value": "application/json;charset=utf-8" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"note\":[\n {\n \"author\":\"domain+username\",\n \"hostname\":\"192.156.7.77\",\n \"text\":\"enable Features for GSM services\",\n \"@type\":\"Note\"\n }\n ],\n \"feature\":[\n {\n \"@type\":\"Feature\",\n \"isEnabled\":true,\n \"featureCharacteristic\":[\n {\n \"id\":\"ServiceCode\",\n \"valueType\":\"string\",\n \"value\":\"{{Srv_Code1}}\",\n \"@type\":\"Characteristic\"\n }\n ]\n },\n {\n \"@type\":\"Feature\",\n \"isEnabled\":true,\n \"featureCharacteristic\":[\n {\n \"id\":\"ServiceCode\",\n \"valueType\":\"string\",\n \"value\":\"{{Srv_Code2}}\",\n \"@type\":\"Characteristic\"\n }\n ]\n }\n]\n}" - }, - "url": { - "raw": "{{API}}/api/v2/tmf/service/{{Service_id}}", - "host": [ - "{{API}}" - ], - "path": [ - "api", - "v2", - "tmf", - "service", - "{{Service_id}}" - ] - }, - "description": "This operation updates partially a Service entity." - }, - "response": [ - { - "name": "SUCCESS", - "originalRequest": { - "method": "PUT", - "header": [ - { - "key": "Accept", - "value": "application/json;charset=utf-8" - }, - { - "key": "Content-Type", - "value": "application/json;charset=utf-8" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"note\":[\n {\n \"author\":\"domain+username\",\n \"hostname\":\"192.156.7.77\",\n \"text\":\"creating GSM services\",\n \"@type\":\"Note\"\n }\n ],\n \"feature\":[\n {\n \"@type\":\"Feature\",\n \"isEnabled\":true,\n \"featureCharacteristic\":[\n {\n \"id\":\"ServiceCode\",\n \"valueType\":\"string\",\n \"value\":\"{{Srv_Code1}}\"\n }\n ]\n },\n {\n \"@type\":\"Feature\",\n \"isEnabled\":true,\n \"featureCharacteristic\":[\n {\n \"id\":\"ServiceCode\",\n \"valueType\":\"string\",\n \"value\":\"{{Srv_Code2}}\"\n }\n ]\n }\n]\n}" - }, - "url": { - "raw": "{{API}}/api/v2/tmf/service/{{Service_id}}", - "host": [ - "{{API}}" - ], - "path": [ - "api", - "v2", - "tmf", - "service", - "{{Service_id}}" - ] - } - }, - "status": "OK", - "code": 200, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Length", - "value": "319" - }, - { - "key": "Content-Type", - "value": "application/json; charset=utf-8" - }, - { - "key": "Access-Control-Allow-Methods", - "value": "GET, PUT, POST, DELETE, OPTIONS, HEAD" - }, - { - "key": "Access-Control-Allow-Headers", - "value": "Authorization,Pragma,Cache-control,Content-type" - }, - { - "key": "Access-Control-Allow-Credentials", - "value": "true" - }, - { - "key": "Date", - "value": "Fri, 22 Mar 2024 08:34:22 GMT" - } - ], - "cookie": [], - "body": "{\n \"relatedParty\": [\n {}\n ],\n \"feature\": [\n {\n \"@type\": \"Feature\",\n \"isEnabled\": true,\n \"featureCharacteristic\": [\n {\n \"id\": \"ServiceCode\",\n \"value\": \"9215\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"isEnabled\": true,\n \"featureCharacteristic\": [\n {\n \"id\": \"ServiceCode\",\n \"value\": \"9201\",\n \"valueType\": \"string\"\n }\n ]\n }\n ],\n \"serviceCharacteristic\": [\n {}\n ],\n \"id\": \"01-294042\"\n}" - } - ] - }, - { - "name": "Change both statuses", - "request": { - "auth": { - "type": "basic", - "basic": [ - { - "key": "username", - "value": "login", - "type": "string" - }, - { - "key": "password", - "value": "password", - "type": "string" - } - ] - }, - "method": "PUT", - "header": [ - { - "key": "Accept", - "value": "application/json;charset=utf-8" - }, - { - "key": "Content-Type", - "value": "application/json;charset=utf-8" - }, - { - "key": "Accept-Language", - "value": "en", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"@type\":\"Service\",\n \"serviceSpecification\":{\n \"@type\":\"serviceSpecification\",\n \"id\":\"Mobile\"\n },\n \"note\":[\n {\n \"author\":\"domain+username\",\n \"hostname\":\"192.156.7.77\",\n \"text\":\"disabling GSM sim card\",\n \"@type\":\"Note\"\n }\n ],\n \"supportingService\":[\n {\n \"id\": \"02-42\",\n \"@type\":\"Service\",\n \"serviceSpecification\":{\n \"@type\":\"serviceSpecification\",\n \"id\":\"SIM\"\n },\n \"serviceCharacteristic\":[\n {\n \"@type\":\"Characteristic\",\n \"id\":\"scrd_ICC\",\n \"value\":\"228012176510739\",\n \"valueType\":\"string\"\n }\n ],\n \"state\":\"temp\"\n }\n ],\n \"state\":\"temp\"\n}" - }, - "url": { - "raw": "{{API}}/api/v2/tmf/service/01-7702257", - "host": [ - "{{API}}" - ], - "path": [ - "api", - "v2", - "tmf", - "service", - "01-7702257" - ] - } - }, - "response": [ - { - "name": "Incorrect MSISDN-SIM precheck", - "originalRequest": { - "method": "PUT", - "header": [ - { - "key": "Accept", - "value": "application/json;charset=utf-8" - }, - { - "key": "Content-Type", - "value": "application/json;charset=utf-8" - }, - { - "key": "Accept-Language", - "value": "en", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"@type\":\"Service\",\n \"serviceSpecification\":{\n \"@type\":\"serviceSpecification\",\n \"id\":\"Mobile\"\n },\n \"note\":[\n {\n \"author\":\"domain+username\",\n \"hostname\":\"192.156.7.77\",\n \"text\":\"disabling GSM sim card\",\n \"@type\":\"Note\"\n }\n ],\n \"supportingService\":[\n {\n \"@type\":\"Service\",\n \"serviceSpecification\":{\n \"id\":\"SIM\"\n },\n \"serviceCharacteristic\":[\n {\n \"@type\":\"Characteristic\",\n \"id\":\"scrd_ICC\",\n \"value\":\"228012176510739\",\n \"valueType\":\"string\"\n }\n ],\n \"state\":\"temp\"\n }\n ]\n}" - }, - "url": { - "raw": "{{API}}/api/v2/tmf/service/01-7702257", - "host": [ - "{{API}}" - ], - "path": [ - "api", - "v2", - "tmf", - "service", - "01-7702257" - ] - } - }, - "status": "Internal Server Error", - "code": 500, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Length", - "value": "298" - }, - { - "key": "Content-Type", - "value": "application/json; charset=utf-8" - }, - { - "key": "Access-Control-Allow-Methods", - "value": "GET, PUT, POST, DELETE, OPTIONS, HEAD" - }, - { - "key": "Access-Control-Allow-Headers", - "value": "Authorization,Pragma,Cache-control,Content-type" - }, - { - "key": "Access-Control-Allow-Credentials", - "value": "true" - }, - { - "key": "Date", - "value": "Mon, 08 Apr 2024 14:48:02 GMT" - } - ], - "cookie": [], - "body": "{\n \"code\": \"51691\",\n \"reason\": \"51695\",\n \"message\": \"SIM (Subscriber Identity Module) card is binded to another MSISDN (Mobile Subscriber Integrated Services Digital Network number) but has not activated - try again: (The incorrect MSISDN value for activation procedure)\",\n \"status\": \"500\",\n \"referenceError\": \"\"\n}" - }, - { - "name": "SUCCESS", - "originalRequest": { - "method": "PUT", - "header": [ - { - "key": "Accept", - "value": "application/json;charset=utf-8" - }, - { - "key": "Content-Type", - "value": "application/json;charset=utf-8" - }, - { - "key": "Accept-Language", - "value": "en", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"@type\":\"Service\",\n \"serviceSpecification\":{\n \"@type\":\"serviceSpecification\",\n \"id\":\"Mobile\"\n },\n \"note\":[\n {\n \"author\":\"domain+username\",\n \"hostname\":\"192.156.7.77\",\n \"text\":\"disabling GSM sim card\",\n \"@type\":\"Note\"\n }\n ],\n \"supportingService\":[\n {\n \"@type\":\"Service\",\n \"serviceSpecification\":{\n \"id\":\"SIM\"\n },\n \"serviceCharacteristic\":[\n {\n \"@type\":\"Characteristic\",\n \"id\":\"scrd_ICC\",\n \"value\":\"228012176510739\",\n \"valueType\":\"string\"\n }\n ],\n \"state\":\"temp\"\n }\n ]\n}" - }, - "url": { - "raw": "{{API}}/api/v2/tmf/service/01-7702257", - "host": [ - "{{API}}" - ], - "path": [ - "api", - "v2", - "tmf", - "service", - "01-7702257" - ] - } - }, - "status": "OK", - "code": 200, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Length", - "value": "83" - }, - { - "key": "Content-Type", - "value": "application/json; charset=utf-8" - }, - { - "key": "Accept-Language", - "value": "en" - }, - { - "key": "Access-Control-Allow-Methods", - "value": "GET, PUT, POST, DELETE, OPTIONS, HEAD" - }, - { - "key": "Access-Control-Allow-Headers", - "value": "Authorization,Pragma,Cache-control,Content-type" - }, - { - "key": "Access-Control-Allow-Credentials", - "value": "true" - }, - { - "key": "Date", - "value": "Tue, 09 Apr 2024 09:46:47 GMT" - } - ], - "cookie": [], - "body": "{\n \"relatedParty\": [\n {}\n ],\n \"feature\": [\n {}\n ],\n \"serviceCharacteristic\": [\n {}\n ],\n \"id\": \"01-7702257\"\n}" - } - ] - }, - { - "name": "Change SIM-card status only", - "request": { - "auth": { - "type": "basic", - "basic": [ - { - "key": "username", - "value": "login", - "type": "string" - }, - { - "key": "password", - "value": "password", - "type": "string" - } - ] - }, - "method": "PUT", - "header": [ - { - "key": "Accept", - "value": "application/json;charset=utf-8" - }, - { - "key": "Content-Type", - "value": "application/json;charset=utf-8" - }, - { - "key": "Accept-Language", - "value": "en", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"@type\":\"Service\",\n \"serviceSpecification\":{\n \"@type\":\"serviceSpecification\",\n \"id\":\"SIM\"\n },\n \"note\":[\n {\n \"author\":\"domain+username\",\n \"hostname\":\"192.156.7.77\",\n \"text\":\"disabling GSM sim card\",\n \"@type\":\"Note\"\n }\n ],\n \"serviceCharacteristic\":[\n {\n \"@type\":\"Characteristic\",\n \"id\":\"scrd_ICC\",\n \"value\":\"228012176510739\",\n \"valueType\":\"string\"\n }\n ],\n \"state\":\"temp\"\n}" - }, - "url": { - "raw": "{{API}}/api/v2/tmf/service/{{rfs_service_id}}", - "host": [ - "{{API}}" - ], - "path": [ - "api", - "v2", - "tmf", - "service", - "{{rfs_service_id}}" - ] - } - }, - "response": [ - { - "name": "Incorrect MSISDN-SIM precheck", - "originalRequest": { - "method": "PUT", - "header": [ - { - "key": "Accept", - "value": "application/json;charset=utf-8" - }, - { - "key": "Content-Type", - "value": "application/json;charset=utf-8" - }, - { - "key": "Accept-Language", - "value": "en", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"@type\":\"Service\",\n \"serviceSpecification\":{\n \"@type\":\"serviceSpecification\",\n \"id\":\"Mobile\"\n },\n \"note\":[\n {\n \"author\":\"domain+username\",\n \"hostname\":\"192.156.7.77\",\n \"text\":\"disabling GSM sim card\",\n \"@type\":\"Note\"\n }\n ],\n \"supportingService\":[\n {\n \"@type\":\"Service\",\n \"serviceSpecification\":{\n \"id\":\"SIM\"\n },\n \"serviceCharacteristic\":[\n {\n \"@type\":\"Characteristic\",\n \"id\":\"scrd_ICC\",\n \"value\":\"228012176510739\",\n \"valueType\":\"string\"\n }\n ],\n \"state\":\"temp\"\n }\n ]\n}" - }, - "url": { - "raw": "{{API}}/api/v2/tmf/service/01-7702257", - "host": [ - "{{API}}" - ], - "path": [ - "api", - "v2", - "tmf", - "service", - "01-7702257" - ] - } - }, - "status": "Internal Server Error", - "code": 500, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Length", - "value": "298" - }, - { - "key": "Content-Type", - "value": "application/json; charset=utf-8" - }, - { - "key": "Access-Control-Allow-Methods", - "value": "GET, PUT, POST, DELETE, OPTIONS, HEAD" - }, - { - "key": "Access-Control-Allow-Headers", - "value": "Authorization,Pragma,Cache-control,Content-type" - }, - { - "key": "Access-Control-Allow-Credentials", - "value": "true" - }, - { - "key": "Date", - "value": "Mon, 08 Apr 2024 14:48:02 GMT" - } - ], - "cookie": [], - "body": "{\n \"code\": \"51691\",\n \"reason\": \"51695\",\n \"message\": \"SIM (Subscriber Identity Module) card is binded to another MSISDN (Mobile Subscriber Integrated Services Digital Network number) but has not activated - try again: (The incorrect MSISDN value for activation procedure)\",\n \"status\": \"500\",\n \"referenceError\": \"\"\n}" - }, - { - "name": "SUCCESS", - "originalRequest": { - "method": "PUT", - "header": [ - { - "key": "Accept", - "value": "application/json;charset=utf-8" - }, - { - "key": "Content-Type", - "value": "application/json;charset=utf-8" - }, - { - "key": "Accept-Language", - "value": "en", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"@type\":\"Service\",\n \"serviceSpecification\":{\n \"@type\":\"serviceSpecification\",\n \"id\":\"Mobile\"\n },\n \"note\":[\n {\n \"author\":\"domain+username\",\n \"hostname\":\"192.156.7.77\",\n \"text\":\"disabling GSM sim card\",\n \"@type\":\"Note\"\n }\n ],\n \"supportingService\":[\n {\n \"@type\":\"Service\",\n \"serviceSpecification\":{\n \"id\":\"SIM\"\n },\n \"serviceCharacteristic\":[\n {\n \"@type\":\"Characteristic\",\n \"id\":\"scrd_ICC\",\n \"value\":\"228012176510739\",\n \"valueType\":\"string\"\n }\n ],\n \"state\":\"temp\"\n }\n ]\n}" - }, - "url": { - "raw": "{{API}}/api/v2/tmf/service/01-7702257", - "host": [ - "{{API}}" - ], - "path": [ - "api", - "v2", - "tmf", - "service", - "01-7702257" - ] - } - }, - "status": "OK", - "code": 200, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Length", - "value": "83" - }, - { - "key": "Content-Type", - "value": "application/json; charset=utf-8" - }, - { - "key": "Accept-Language", - "value": "en" - }, - { - "key": "Access-Control-Allow-Methods", - "value": "GET, PUT, POST, DELETE, OPTIONS, HEAD" - }, - { - "key": "Access-Control-Allow-Headers", - "value": "Authorization,Pragma,Cache-control,Content-type" - }, - { - "key": "Access-Control-Allow-Credentials", - "value": "true" - }, - { - "key": "Date", - "value": "Tue, 09 Apr 2024 09:46:47 GMT" - } - ], - "cookie": [], - "body": "{\n \"relatedParty\": [\n {}\n ],\n \"feature\": [\n {}\n ],\n \"serviceCharacteristic\": [\n {}\n ],\n \"id\": \"01-7702257\"\n}" - } - ] - }, - { - "name": "Change SIM group by ICC", - "request": { - "auth": { - "type": "basic", - "basic": [ - { - "key": "username", - "value": "login", - "type": "string" - }, - { - "key": "password", - "value": "password", - "type": "string" - } - ] - }, - "method": "PUT", - "header": [ - { - "key": "Accept", - "value": "application/json;charset=utf-8" - }, - { - "key": "Content-Type", - "value": "application/json;charset=utf-8" - }, - { - "key": "Accept-Language", - "value": "en", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"id\":\"{{Service_id}}\",\n \"@type\":\"Service\",\n \"serviceSpecification\":{\n \"@type\":\"serviceSpecification\",\n \"id\":\"Mobile\"\n },\n \"note\":[\n {\n \"author\":\"domain+username\",\n \"hostname\":\"192.156.7.77\",\n \"text\":\"changeing the group of GSM sim card\",\n \"@type\":\"Note\"\n }\n ],\n \"supportingService\":[\n {\n \"@type\":\"Service\",\n \"serviceSpecification\":{\n \"@type\":\"serviceSpecification\",\n \"id\":\"SIM\"\n },\n \"serviceCharacteristic\":[\n {\n \"@type\":\"Characteristic\",\n \"valueType\":\"Integer\",\n \"id\":\"scrd_ICC\",\n \"value\":\"{{ICC}}\"\n },\n {\n \"@type\":\"Characteristic\",\n \"valueType\":\"string\",\n \"id\":\"scrg_Code\",\n \"value\":\"{{SIM_group}}\"\n }\n ]\n }\n ]\n}" - }, - "url": { - "raw": "{{API}}/api/v2/tmf/service/{{Service_id}}", - "host": [ - "{{API}}" - ], - "path": [ - "api", - "v2", - "tmf", - "service", - "{{Service_id}}" - ] - } - }, - "response": [ - { - "name": "SUCCESS", - "originalRequest": { - "method": "PUT", - "header": [ - { - "key": "Accept", - "value": "application/json;charset=utf-8" - }, - { - "key": "Content-Type", - "value": "application/json;charset=utf-8" - }, - { - "key": "Accept-Language", - "value": "en", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"id\":\"{{Service_id}}\",\n \"@type\":\"Service\",\n \"serviceSpecification\":{\n \"@type\":\"serviceSpecification\",\n \"id\":\"Mobile\"\n },\n \"note\":[\n {\n \"author\":\"domain+username\",\n \"hostname\":\"192.156.7.77\",\n \"text\":\"changeing the group of GSM sim card\",\n \"@type\":\"Note\"\n }\n ],\n \"supportingService\":[\n {\n \"@type\":\"Service\",\n \"serviceSpecification\":{\n \"id\":\"SIM\"\n },\n \"serviceCharacteristic\":[\n {\n \"@type\":\"Characteristic\",\n \"valueType\":\"Integer\",\n \"id\":\"scrd_ICC\",\n \"value\":\"{{ICC}}\"\n },\n {\n \"@type\":\"Characteristic\",\n \"valueType\":\"string\",\n \"id\":\"scrg_Code\",\n \"value\":\"{{SIM_group}}\"\n }\n ]\n }\n ]\n}" - }, - "url": { - "raw": "{{API}}/api/v2/tmf/service/{{Service_id}}", - "host": [ - "{{API}}" - ], - "path": [ - "api", - "v2", - "tmf", - "service", - "{{Service_id}}" - ] - } - }, - "status": "OK", - "code": 200, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Date", - "value": "Mon, 28 Oct 2024 13:55:52 GMT" - }, - { - "key": "Content-Type", - "value": "application/json; charset=utf-8" - }, - { - "key": "Transfer-Encoding", - "value": "chunked" - }, - { - "key": "Connection", - "value": "keep-alive" - }, - { - "key": "Access-Control-Allow-Credentials", - "value": "true" - }, - { - "key": "Access-Control-Allow-Headers", - "value": "Authorization,Pragma,Cache-control,Content-type,X-Requested-With" - }, - { - "key": "Access-Control-Allow-Methods", - "value": "GET,POST,PUT,DELETE,HEAD,OPTIONS" - }, - { - "key": "Strict-Transport-Security", - "value": "max-age=31536000" - }, - { - "key": "Content-Security-Policy", - "value": "img-src https: data:; upgrade-insecure-requests" - }, - { - "key": "Content-Encoding", - "value": "gzip" - } - ], - "cookie": [], - "body": "{\n \"relatedParty\": [\n {}\n ],\n \"feature\": [\n {}\n ],\n \"serviceCharacteristic\": [\n {}\n ],\n \"id\": \"01-7703228\",\n \"supportingService\": [\n {\n \"@type\": \"Service\",\n \"serviceCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_ICC\",\n \"value\": \"893800399222226405\",\n \"valueType\": \"Integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrg_Code\",\n \"value\": \"myGroup\",\n \"valueType\": \"string\"\n }\n ],\n \"serviceSpecification\": {\n \"id\": \"SIM\"\n }\n }\n ]\n}" - } - ] - }, - { - "name": "Change SIM group by ID", - "request": { - "auth": { - "type": "basic", - "basic": [ - { - "key": "username", - "value": "login", - "type": "string" - }, - { - "key": "password", - "value": "password", - "type": "string" - } - ] - }, - "method": "PUT", - "header": [ - { - "key": "Accept", - "value": "application/json;charset=utf-8" - }, - { - "key": "Content-Type", - "value": "application/json;charset=utf-8" - }, - { - "key": "Accept-Language", - "value": "en", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"@type\":\"Service\",\n \"serviceSpecification\":{\n \"@type\":\"serviceSpecification\",\n \"id\":\"SIM\"\n },\n \"serviceCharacteristic\":[\n {\n \"@type\":\"Characteristic\",\n \"valueType\":\"string\",\n \"id\":\"scrd_ICC\",\n \"value\":\"{{ICC}}\"\n },\n {\n \"@type\":\"Characteristic\",\n \"valueType\":\"string\",\n \"id\":\"scrg_Code\",\n \"value\":\"{{SIM_group}}\"\n }\n ],\n \"note\":[\n {\n \"author\":\"domain+username\",\n \"hostname\":\"192.156.7.77\",\n \"text\":\"changing the group of GSM sim card\",\n \"@type\":\"Note\"\n }\n ]\n}" - }, - "url": { - "raw": "{{API}}/api/v2/tmf/service/{{rfs_service_id}}", - "host": [ - "{{API}}" - ], - "path": [ - "api", - "v2", - "tmf", - "service", - "{{rfs_service_id}}" - ] - } - }, - "response": [ - { - "name": "Incorrect Service ID", - "originalRequest": { - "method": "PUT", - "header": [ - { - "key": "Accept", - "value": "application/json;charset=utf-8" - }, - { - "key": "Content-Type", - "value": "application/json;charset=utf-8" - }, - { - "key": "Accept-Language", - "value": "en", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"@type\":\"Service\",\n \"serviceSpecification\":{\n \"@type\":\"serviceSpecification\",\n \"id\":\"Mobile\"\n },\n \"serviceSpecification\":{\n \"id\":\"SIM\"\n },\n \"serviceCharacteristic\":[\n {\n \"@type\":\"Characteristic\",\n \"valueType\":\"Integer\",\n \"id\":\"scrd_ICC\",\n \"value\":\"{{ICC}}\"\n },\n {\n \"@type\":\"Characteristic\",\n \"valueType\":\"string\",\n \"id\":\"scrg_Code\",\n \"value\":\"{{SIM_group}}\"\n }\n ],\n \"note\":[\n {\n \"author\":\"domain+username\",\n \"hostname\":\"192.156.7.77\",\n \"text\":\"changing the group of GSM sim card\",\n \"@type\":\"Note\"\n }\n ]\n}" - }, - "url": { - "raw": "{{API}}/api/v2/tmf/service/{{rfs_service_id}}", - "host": [ - "{{API}}" - ], - "path": [ - "api", - "v2", - "tmf", - "service", - "{{rfs_service_id}}" - ] - } - }, - "status": "Internal Server Error", - "code": 500, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Length", - "value": "160" - }, - { - "key": "Content-Type", - "value": "application/json; charset=utf-8" - }, - { - "key": "Access-Control-Allow-Methods", - "value": "GET, PUT, POST, DELETE, OPTIONS, HEAD" - }, - { - "key": "Access-Control-Allow-Headers", - "value": "Authorization,Pragma,Cache-control,Content-type" - }, - { - "key": "Access-Control-Allow-Credentials", - "value": "true" - }, - { - "key": "Date", - "value": "Mon, 28 Oct 2024 13:23:30 GMT" - } - ], - "cookie": [], - "body": "{\n \"code\": \"50000\",\n \"reason\": \"Internal Server Error\",\n \"message\": \"Некорректное значение входящего параметра: id\",\n \"status\": \"500\"\n}" - } - ] - }, - { - "name": "Purge SIM-card", - "request": { - "auth": { - "type": "basic", - "basic": [ - { - "key": "username", - "value": "login", - "type": "string" - }, - { - "key": "password", - "value": "password", - "type": "string" - } - ] - }, - "method": "PUT", - "header": [ - { - "key": "Accept", - "value": "application/json;charset=utf-8" - }, - { - "key": "Content-Type", - "value": "application/json;charset=utf-8" - }, - { - "key": "Accept-Language", - "value": "en" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"@type\":\"Service\",\n \"serviceSpecification\":{\n \"@type\":\"serviceSpecification\",\n \"id\":\"SIM\"\n },\n \"note\":[\n {\n \"author\":\"domain+username\",\n \"hostname\":\"192.156.7.77\",\n \"text\":\"purging GSM sim card\",\n \"@type\":\"Note\"\n }\n ],\n \"serviceCharacteristic\":[\n {\n \"@type\":\"Characteristic\",\n \"valueType\":\"string\",\n \"id\":\"scrd_IMSI\",\n \"value\":\"{{new_IMSI}}\"\n }\n ],\n \"state\":\"close\",\n \"endDate\":\"{{close_date}}\"\n}" - }, - "url": { - "raw": "{{API}}/api/v2/tmf/service/{{rfs_service_id}}", - "host": [ - "{{API}}" - ], - "path": [ - "api", - "v2", - "tmf", - "service", - "{{rfs_service_id}}" - ] - } - }, - "response": [ - { - "name": "Purging successful", - "originalRequest": { - "method": "PUT", - "header": [ - { - "key": "Accept", - "value": "application/json;charset=utf-8" - }, - { - "key": "Content-Type", - "value": "application/json;charset=utf-8" - }, - { - "key": "Accept-Language", - "value": "en" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"@type\":\"Service\",\n \"serviceSpecification\":{\n \"@type\":\"serviceSpecification\",\n \"id\":\"SIM\"\n },\n \"note\":[\n {\n \"author\":\"domain+username\",\n \"hostname\":\"192.156.7.77\",\n \"text\":\"purging GSM sim card\",\n \"@type\":\"Note\"\n }\n ],\n \"serviceCharacteristic\":[\n {\n \"valueType\":\"string\",\n \"id\":\"scrd_IMSI\",\n \"value\":\"{{new_IMSI}}\"\n }\n ],\n \"state\":\"close\",\n \"endDate\":\"{{close_date}}\"\n}" - }, - "url": { - "raw": "{{API}}/api/v2/tmf/service/02-42", - "host": [ - "{{API}}" - ], - "path": [ - "api", - "v2", - "tmf", - "service", - "02-42" - ] - } - }, - "status": "OK", - "code": 200, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Length", - "value": "157" - }, - { - "key": "Content-Type", - "value": "application/json; charset=utf-8" - }, - { - "key": "Accept-Language", - "value": "en" - }, - { - "key": "Access-Control-Allow-Methods", - "value": "GET, PUT, POST, DELETE, OPTIONS, HEAD" - }, - { - "key": "Access-Control-Allow-Headers", - "value": "Authorization,Pragma,Cache-control,Content-type" - }, - { - "key": "Access-Control-Allow-Credentials", - "value": "true" - }, - { - "key": "Date", - "value": "Tue, 28 May 2024 08:08:34 GMT" - } - ], - "cookie": [], - "body": "{\n \"relatedParty\": [\n {}\n ],\n \"feature\": [\n {}\n ],\n \"serviceCharacteristic\": [\n {\n \"id\": \"scrd_IMSI\",\n \"value\": \"255030621983769\",\n \"valueType\": \"string\"\n }\n ],\n \"state\": \"close\",\n \"id\": \"02-42\"\n}" - } - ] - }, - { - "name": "Replace SIM-card", - "request": { - "auth": { - "type": "basic", - "basic": [ - { - "key": "username", - "value": "login", - "type": "string" - }, - { - "key": "password", - "value": "password", - "type": "string" - } - ] - }, - "method": "PUT", - "header": [ - { - "key": "Accept", - "value": "application/json;charset=utf-8" - }, - { - "key": "Content-Type", - "value": "application/json;charset=utf-8" - }, - { - "key": "Accept-Language", - "value": "en" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"@type\":\"Service\",\n \"serviceSpecification\":{\n \"@type\":\"serviceSpecification\",\n \"id\":\"SIM\"\n },\n \"note\":[\n {\n \"author\":\"domain+username\",\n \"hostname\":\"192.156.7.77\",\n \"text\":\"replacing GSM sim card\",\n \"@type\":\"Note\"\n }\n ],\n \"serviceCharacteristic\":[\n {\n \"@type\":\"Characteristic\",\n \"valueType\":\"string\",\n \"id\":\"scrd_IMSI\",\n \"value\":\"{{new_IMSI}}\"\n },\n {\n \"@type\":\"Characteristic\",\n \"valueType\":\"string\",\n \"id\":\"scrt_Code\",\n \"value\":\"UNI\"\n },\n {\n \"@type\":\"Characteristic\",\n \"valueType\":\"string\",\n \"id\":\"scrg_Code\",\n \"value\":\"{{SIM_group}}\"\n },\n {\n \"@type\":\"Characteristic\",\n \"valueType\":\"Integer\",\n \"id\":\"scrd_ICC\",\n \"value\":\"{{new_ICC}}\"\n },\n {\n \"@type\":\"Characteristic\",\n \"valueType\":\"string\",\n \"id\":\"scrd_PUK1\",\n \"value\":\"01231234\"\n },\n {\n \"@type\":\"Characteristic\",\n \"valueType\":\"string\",\n \"id\":\"scrd_PUK2\",\n \"value\":\"01231234\"\n },\n {\n \"@type\":\"Characteristic\",\n \"valueType\":\"string\",\n \"id\":\"scrd_PIN1\",\n \"value\":\"0123\"\n },\n {\n \"@type\":\"Characteristic\",\n \"valueType\":\"string\",\n \"id\":\"scrd_PIN2\",\n \"value\":\"0123\"\n },\n {\n \"@type\":\"Characteristic\",\n \"valueType\":\"date-time\",\n \"id\":\"scrd_ExpirationDate\",\n \"value\":\"2999-12-31T23:59:59.997Z\"\n }\n ],\n \"state\":\"{{Active_state}}\",\n \"startDate\":\"{{replace_startDate}}\"\n}" - }, - "url": { - "raw": "{{API}}/api/v2/tmf/service/{{rfs_service_id}}", - "host": [ - "{{API}}" - ], - "path": [ - "api", - "v2", - "tmf", - "service", - "{{rfs_service_id}}" - ] - } - }, - "response": [ - { - "name": "Replaced successful", - "originalRequest": { - "method": "PUT", - "header": [ - { - "key": "Accept", - "value": "application/json;charset=utf-8" - }, - { - "key": "Content-Type", - "value": "application/json;charset=utf-8" - }, - { - "key": "Accept-Language", - "value": "en" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"@type\":\"Service\",\n \"serviceSpecification\":{\n \"@type\":\"serviceSpecification\",\n \"id\":\"SIM\"\n },\n \"note\":[\n {\n \"author\":\"domain+username\",\n \"hostname\":\"192.156.7.77\",\n \"text\":\"replacing GSM sim card\",\n \"@type\":\"Note\"\n }\n ],\n \"serviceCharacteristic\":[\n {\n \"valueType\":\"string\",\n \"id\":\"scrd_IMSI\",\n \"value\":\"{{new_IMSI}}\"\n },\n {\n \"valueType\":\"string\",\n \"id\":\"scrt_Code\",\n \"value\":\"UNI\"\n },\n {\n \"valueType\":\"string\",\n \"id\":\"scrg_Code\",\n \"value\":\"{{SIM_group}}\"\n },\n {\n \"valueType\":\"Integer\",\n \"id\":\"scrd_ICC\",\n \"value\":\"{{new_ICC}}\"\n },\n {\n \"valueType\":\"string\",\n \"id\":\"scrd_PUK1\",\n \"value\":\"01231234\"\n },\n {\n \"valueType\":\"string\",\n \"id\":\"scrd_PUK2\",\n \"value\":\"01231234\"\n },\n {\n \"valueType\":\"string\",\n \"id\":\"scrd_PIN1\",\n \"value\":\"0123\"\n },\n {\n \"valueType\":\"string\",\n \"id\":\"scrd_PIN2\",\n \"value\":\"0123\"\n },\n {\n \"valueType\":\"date-time\",\n \"id\":\"scrd_ExpirationDate\",\n \"value\":\"2999-12-31T23:59:59.997Z\"\n }\n ],\n \"state\":\"{{Active_state}}\",\n \"startDate\":\"{{replace_startDate}}\"\n}" - }, - "url": { - "raw": "{{API}}/api/v2/tmf/service/02-42", - "host": [ - "{{API}}" - ], - "path": [ - "api", - "v2", - "tmf", - "service", - "02-42" - ] - } - }, - "status": "OK", - "code": 200, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Length", - "value": "689" - }, - { - "key": "Content-Type", - "value": "application/json; charset=utf-8" - }, - { - "key": "Accept-Language", - "value": "en" - }, - { - "key": "Access-Control-Allow-Methods", - "value": "GET, PUT, POST, DELETE, OPTIONS, HEAD" - }, - { - "key": "Access-Control-Allow-Headers", - "value": "Authorization,Pragma,Cache-control,Content-type" - }, - { - "key": "Access-Control-Allow-Credentials", - "value": "true" - }, - { - "key": "Date", - "value": "Mon, 27 May 2024 09:57:19 GMT" - } - ], - "cookie": [], - "body": "{\n \"relatedParty\": [\n {}\n ],\n \"feature\": [\n {}\n ],\n \"serviceCharacteristic\": [\n {\n \"id\": \"scrd_IMSI\",\n \"value\": \"255030621983769\",\n \"valueType\": \"string\"\n },\n {\n \"id\": \"scrt_Code\",\n \"value\": \"UNI\",\n \"valueType\": \"string\"\n },\n {\n \"id\": \"scrg_Code\",\n \"value\": \"myGroup\",\n \"valueType\": \"string\"\n },\n {\n \"id\": \"scrd_ICC\",\n \"value\": \"893800399222225841\",\n \"valueType\": \"Integer\"\n },\n {\n \"id\": \"scrd_PUK1\",\n \"value\": \"01231234\",\n \"valueType\": \"string\"\n },\n {\n \"id\": \"scrd_PUK2\",\n \"value\": \"01231234\",\n \"valueType\": \"string\"\n },\n {\n \"id\": \"scrd_PIN1\",\n \"value\": \"0123\",\n \"valueType\": \"string\"\n },\n {\n \"id\": \"scrd_PIN2\",\n \"value\": \"0123\",\n \"valueType\": \"string\"\n },\n {\n \"id\": \"scrd_ExpirationDate\",\n \"value\": \"2999-12-31T23:59:59.997Z\",\n \"valueType\": \"date-time\"\n }\n ],\n \"startDate\": \"2024-05-14T00:00:00Z\",\n \"state\": \"activ\",\n \"id\": \"02-42\"\n}" - } - ] - } - ], - "description": "Folder for service" - }, - { - "name": "flow", - "item": [ - { - "name": "Invoke Activation Flow", - "request": { - "auth": { - "type": "basic", - "basic": [ - { - "key": "username", - "value": "bpmn_user", - "type": "string" - }, - { - "key": "password", - "value": "password", - "type": "string" - } - ] - }, - "method": "POST", - "header": [], - "body": { - "mode": "raw", - "raw": "{\r\n\t\"@type\": \"Service\",\r\n\t\"serviceSpecification\": {\r\n\t\t\"@type\": \"serviceSpecification\",\r\n\t\t\"id\": \"Mobile\"\r\n\t},\r\n\t\"note\": [\r\n\t\t{\r\n\t\t\t\"author\": \"domain+username\",\r\n\t\t\t\"hostname\": \"192.156.7.77\",\r\n\t\t\t\"text\": \"GSM services activation\",\r\n\t\t\t\"@type\": \"Note\"\r\n\t\t}\r\n\t],\r\n\t\"serviceDate\": \"{{startDate}}\",\r\n\t\"supportingService\": [\r\n\t\t{\r\n\t\t\t\"@type\": \"Service\",\r\n\t\t\t\"serviceSpecification\": {\r\n\t\t\t\t\"@type\": \"serviceSpecification\",\r\n\t\t\t\t\"id\": \"SIM\"\r\n\t\t\t},\r\n\t\t\t\"state\": \"{{Active_state}}\",\r\n\t\t\t\"serviceCharacteristic\": [\r\n\t\t\t\t{\r\n\t\t\t\t\t\"valueType\": \"string\",\r\n\t\t\t\t\t\"id\": \"scrd_IMSI\",\r\n\t\t\t\t\t\"value\": \"{{IMSI}}\"\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\t\"valueType\": \"string\",\r\n\t\t\t\t\t\"id\": \"scrt_Code\",\r\n\t\t\t\t\t\"value\": \"UNI\"\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\t\"valueType\": \"string\",\r\n\t\t\t\t\t\"id\": \"scrg_Code\",\r\n\t\t\t\t\t\"value\": \"{{SIM_group}}\"\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\t\"valueType\": \"string\",\r\n\t\t\t\t\t\"id\": \"scrd_ICC\",\r\n\t\t\t\t\t\"value\": \"{{ICC}}\"\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\t\"valueType\": \"string\",\r\n\t\t\t\t\t\"id\": \"scrd_PUK1\",\r\n\t\t\t\t\t\"value\": \"{{PUK1}}\"\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\t\"valueType\": \"string\",\r\n\t\t\t\t\t\"id\": \"scrd_PUK2\",\r\n\t\t\t\t\t\"value\": \"{{PUK2}}\"\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\t\"valueType\": \"string\",\r\n\t\t\t\t\t\"id\": \"scrd_PIN1\",\r\n\t\t\t\t\t\"value\": \"{{PIN1}}\"\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\t\"valueType\": \"string\",\r\n\t\t\t\t\t\"id\": \"scrd_PIN2\",\r\n\t\t\t\t\t\"value\": \"{{PIN2}}\"\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\t\"valueType\": \"date-time\",\r\n\t\t\t\t\t\"id\": \"scrd_ExpirationDate\",\r\n\t\t\t\t\t\"value\": \"2999-12-31T23:59:59.997Z\"\r\n\t\t\t\t}\r\n\t\t\t]\r\n\t\t}\r\n\t],\r\n\t\"relatedParty\": [\r\n\t\t{\r\n\t\t\t\"@referredType\": \"Customers\",\r\n\t\t\t\"id\": \"{{customer_id}}\",\r\n\t\t\t\"IDType\": 0\r\n\t\t}\r\n\t],\r\n\t\"feature\": [\r\n\t\t{\r\n\t\t\t\"@type\": \"Feature\",\r\n\t\t\t\"isEnabled\": false,\r\n\t\t\t\"name\": \"M2M Data Transmition Access\",\r\n\t\t\t\"featureCharacteristic\": [\r\n\t\t\t\t{\r\n\t\t\t\t\t\"id\": \"ServiceCode\",\r\n\t\t\t\t\t\"valueType\": \"string\",\r\n\t\t\t\t\t\"value\": \"{{Srv_Code1}}\"\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\t\"id\": \"StatusCode\",\r\n\t\t\t\t\t\"valueType\": \"String\",\r\n\t\t\t\t\t\"value\": \"FinBlock\"\r\n\t\t\t\t}\r\n\t\t\t]\r\n\t\t},\r\n\t\t{\r\n\t\t\t\"@type\": \"Feature\",\r\n\t\t\t\"isEnabled\": false,\r\n\t\t\t\"name\": \"M2M SMS\",\r\n\t\t\t\"featureCharacteristic\": [\r\n\t\t\t\t{\r\n\t\t\t\t\t\"id\": \"ServiceCode\",\r\n\t\t\t\t\t\"valueType\": \"string\",\r\n\t\t\t\t\t\"value\": \"{{Srv_Code2}}\"\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\t\"id\": \"StatusCode\",\r\n\t\t\t\t\t\"valueType\": \"String\",\r\n\t\t\t\t\t\"value\": \"FinBlock\"\r\n\t\t\t\t}\r\n\t\t\t]\r\n\t\t}\r\n\t],\r\n\t\"id\": \"{{Service_id}}\",\r\n\t\"state\": \"{{Active_state}}\",\r\n\t\"category\": \"GSM\",\r\n\t\"startDate\": \"{{startDate}}\",\r\n\t\"serviceCharacteristic\": [\r\n\t\t{\r\n\t\t\t\"valueType\": \"string\",\r\n\t\t\t\"id\": \"MSISDN\",\r\n\t\t\t\"value\": \"{{msisdn}}\"\r\n\t\t}\r\n\t]\r\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "{{API}}/api/v0/bpmn/flowdefinitions/personal/MyDrafts/put-service/Start.json?debug=false&async=false&run=auto", - "host": [ - "{{API}}" - ], - "path": [ - "api", - "v0", - "bpmn", - "flowdefinitions", - "personal", - "MyDrafts", - "put-service", - "Start.json" - ], - "query": [ - { - "key": "debug", - "value": "false" - }, - { - "key": "async", - "value": "false" - }, - { - "key": "run", - "value": "auto" - } - ] - } - }, - "response": [ - { - "name": "Activation Success", - "originalRequest": { - "method": "POST", - "header": [], - "body": { - "mode": "raw", - "raw": "{\r\n\t\"@type\": \"Service\",\r\n\t\"serviceSpecification\": {\r\n\t\t\"@type\": \"serviceSpecification\",\r\n\t\t\"id\": \"Mobile\"\r\n\t},\r\n\t\"note\": [\r\n\t\t{\r\n\t\t\t\"author\": \"domain+username\",\r\n\t\t\t\"hostname\": \"192.156.7.77\",\r\n\t\t\t\"text\": \"GSM services activation\",\r\n\t\t\t\"@type\": \"Note\"\r\n\t\t}\r\n\t],\r\n\t\"serviceDate\": \"{{startDate}}\",\r\n\t\"supportingService\": [\r\n\t\t{\r\n\t\t\t\"@type\": \"Service\",\r\n\t\t\t\"serviceSpecification\": {\r\n\t\t\t\t\"@type\": \"serviceSpecification\",\r\n\t\t\t\t\"id\": \"SIM\"\r\n\t\t\t},\r\n\t\t\t\"state\": \"{{Active_state}}\",\r\n\t\t\t\"serviceCharacteristic\": [\r\n\t\t\t\t{\r\n\t\t\t\t\t\"valueType\": \"string\",\r\n\t\t\t\t\t\"id\": \"scrd_IMSI\",\r\n\t\t\t\t\t\"value\": \"{{IMSI}}\"\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\t\"valueType\": \"string\",\r\n\t\t\t\t\t\"id\": \"scrt_Code\",\r\n\t\t\t\t\t\"value\": \"UNI\"\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\t\"valueType\": \"string\",\r\n\t\t\t\t\t\"id\": \"scrg_Code\",\r\n\t\t\t\t\t\"value\": \"{{SIM_group}}\"\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\t\"valueType\": \"string\",\r\n\t\t\t\t\t\"id\": \"scrd_ICC\",\r\n\t\t\t\t\t\"value\": \"{{ICC}}\"\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\t\"valueType\": \"string\",\r\n\t\t\t\t\t\"id\": \"scrd_PUK1\",\r\n\t\t\t\t\t\"value\": \"{{PUK1}}\"\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\t\"valueType\": \"string\",\r\n\t\t\t\t\t\"id\": \"scrd_PUK2\",\r\n\t\t\t\t\t\"value\": \"{{PUK2}}\"\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\t\"valueType\": \"string\",\r\n\t\t\t\t\t\"id\": \"scrd_PIN1\",\r\n\t\t\t\t\t\"value\": \"{{PIN1}}\"\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\t\"valueType\": \"string\",\r\n\t\t\t\t\t\"id\": \"scrd_PIN2\",\r\n\t\t\t\t\t\"value\": \"{{PIN2}}\"\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\t\"valueType\": \"date-time\",\r\n\t\t\t\t\t\"id\": \"scrd_ExpirationDate\",\r\n\t\t\t\t\t\"value\": \"2999-12-31T23:59:59.997Z\"\r\n\t\t\t\t}\r\n\t\t\t]\r\n\t\t}\r\n\t],\r\n\t\"relatedParty\": [\r\n\t\t{\r\n\t\t\t\"@referredType\": \"Customers\",\r\n\t\t\t\"id\": \"{{customer_id}}\",\r\n\t\t\t\"IDType\": 0\r\n\t\t}\r\n\t],\r\n\t\"feature\": [\r\n\t\t{\r\n\t\t\t\"@type\": \"Feature\",\r\n\t\t\t\"isEnabled\": false,\r\n\t\t\t\"name\": \"M2M Data Transmition Access\",\r\n\t\t\t\"featureCharacteristic\": [\r\n\t\t\t\t{\r\n\t\t\t\t\t\"id\": \"ServiceCode\",\r\n\t\t\t\t\t\"valueType\": \"string\",\r\n\t\t\t\t\t\"value\": \"{{Srv_Code1}}\"\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\t\"id\": \"StatusCode\",\r\n\t\t\t\t\t\"valueType\": \"String\",\r\n\t\t\t\t\t\"value\": \"FinBlock\"\r\n\t\t\t\t}\r\n\t\t\t]\r\n\t\t},\r\n\t\t{\r\n\t\t\t\"@type\": \"Feature\",\r\n\t\t\t\"isEnabled\": false,\r\n\t\t\t\"name\": \"M2M SMS\",\r\n\t\t\t\"featureCharacteristic\": [\r\n\t\t\t\t{\r\n\t\t\t\t\t\"id\": \"ServiceCode\",\r\n\t\t\t\t\t\"valueType\": \"string\",\r\n\t\t\t\t\t\"value\": \"{{Srv_Code2}}\"\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\t\"id\": \"StatusCode\",\r\n\t\t\t\t\t\"valueType\": \"String\",\r\n\t\t\t\t\t\"value\": \"FinBlock\"\r\n\t\t\t\t}\r\n\t\t\t]\r\n\t\t}\r\n\t],\r\n\t\"id\": \"{{Service_id}}\",\r\n\t\"state\": \"{{Active_state}}\",\r\n\t\"category\": \"GSM\",\r\n\t\"startDate\": \"{{startDate}}\",\r\n\t\"serviceCharacteristic\": [\r\n\t\t{\r\n\t\t\t\"valueType\": \"string\",\r\n\t\t\t\"id\": \"MSISDN\",\r\n\t\t\t\"value\": \"{{msisdn}}\"\r\n\t\t}\r\n\t]\r\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "{{API}}/api/v0/bpmn/flowdefinitions/personal/MyDrafts/put-service/Start.json?debug=false&async=false&run=auto", - "host": [ - "{{API}}" - ], - "path": [ - "api", - "v0", - "bpmn", - "flowdefinitions", - "personal", - "MyDrafts", - "put-service", - "Start.json" - ], - "query": [ - { - "key": "debug", - "value": "false" - }, - { - "key": "async", - "value": "false" - }, - { - "key": "run", - "value": "auto" - } - ] - } - }, - "status": "OK", - "code": 200, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Date", - "value": "Tue, 22 Apr 2025 04:35:35 GMT" - }, - { - "key": "Content-Type", - "value": "application/json; charset=utf-8" - }, - { - "key": "Transfer-Encoding", - "value": "chunked" - }, - { - "key": "Connection", - "value": "keep-alive" - }, - { - "key": "Access-Control-Allow-Credentials", - "value": "true" - }, - { - "key": "Access-Control-Allow-Headers", - "value": "Authorization,Pragma,Cache-control,Content-type,X-Requested-With" - }, - { - "key": "Access-Control-Allow-Methods", - "value": "GET,POST,PUT,DELETE,HEAD,OPTIONS" - }, - { - "key": "Strict-Transport-Security", - "value": "max-age=31536000" - }, - { - "key": "Content-Security-Policy", - "value": "img-src https: data:; upgrade-insecure-requests" - }, - { - "key": "Content-Encoding", - "value": "gzip" - } - ], - "cookie": [], - "body": "{\n \"relatedParty\": [\n {\n \"id\": \"7722572\",\n \"idType\": 0,\n \"@referredType\": \"Customers\"\n }\n ],\n \"category\": \"GSM\",\n \"feature\": [\n {\n \"@type\": \"Feature\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Access\",\n \"featureCharacteristic\": [\n {\n \"id\": \"ServiceCode\",\n \"value\": \"9215\",\n \"valueType\": \"string\"\n },\n {\n \"id\": \"StatusCode\",\n \"value\": \"FinBlock\",\n \"valueType\": \"String\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS\",\n \"featureCharacteristic\": [\n {\n \"id\": \"ServiceCode\",\n \"value\": \"9201\",\n \"valueType\": \"string\"\n },\n {\n \"id\": \"StatusCode\",\n \"value\": \"FinBlock\",\n \"valueType\": \"String\"\n }\n ]\n }\n ],\n \"serviceCharacteristic\": [\n {\n \"id\": \"MSISDN\",\n \"value\": \"380676666366\",\n \"valueType\": \"string\"\n }\n ],\n \"serviceDate\": \"2025-04-22T00:00:00Z\",\n \"startDate\": \"2025-04-22T00:00:00Z\",\n \"state\": \"activ\",\n \"id\": \"01-7722879\",\n \"supportingService\": [\n {\n \"@type\": \"Service\",\n \"serviceCharacteristic\": [\n {\n \"id\": \"scrd_IMSI\",\n \"value\": \"893800399222227\",\n \"valueType\": \"string\"\n },\n {\n \"id\": \"scrt_Code\",\n \"value\": \"UNI\",\n \"valueType\": \"string\"\n },\n {\n \"id\": \"scrg_Code\",\n \"value\": \"myGroup\",\n \"valueType\": \"string\"\n },\n {\n \"id\": \"scrd_ICC\",\n \"value\": \"893800399222226001\",\n \"valueType\": \"string\"\n },\n {\n \"id\": \"scrd_PUK1\",\n \"value\": \"12345678\",\n \"valueType\": \"string\"\n },\n {\n \"id\": \"scrd_PUK2\",\n \"value\": \"87654321\",\n \"valueType\": \"string\"\n },\n {\n \"id\": \"scrd_PIN1\",\n \"value\": \"1234\",\n \"valueType\": \"string\"\n },\n {\n \"id\": \"scrd_PIN2\",\n \"value\": \"4321\",\n \"valueType\": \"string\"\n },\n {\n \"id\": \"scrd_ExpirationDate\",\n \"value\": \"2999-12-31T23:59:59.997Z\",\n \"valueType\": \"date-time\"\n }\n ],\n \"serviceSpecification\": {\n \"@type\": \"serviceSpecification\",\n \"id\": \"SIM\"\n },\n \"state\": \"activ\"\n }\n ]\n}" - } - ] - }, - { - "name": "Fetching Service Info", - "request": { - "auth": { - "type": "basic", - "basic": [ - { - "key": "username", - "value": "login", - "type": "string" - }, - { - "key": "password", - "value": "password", - "type": "string" - } - ] - }, - "method": "GET", - "header": [ - { - "key": "Accept", - "value": "application/json;charset=utf-8", - "type": "text" - }, - { - "key": "Content-Type", - "value": "application/json;charset=utf-8", - "type": "text" - }, - { - "key": "x-ms-client-request-id", - "value": "20412345678903142363799", - "type": "text" - }, - { - "key": "Accept-Language", - "value": "en", - "type": "text" - } - ], - "url": { - "raw": "{{API}}/api/v2/tmf/service/{{Service_id}}", - "host": [ - "{{API}}" - ], - "path": [ - "api", - "v2", - "tmf", - "service", - "{{Service_id}}" - ] - } - }, - "response": [ - { - "name": "Service w/o Sim card", - "originalRequest": { - "method": "GET", - "header": [ - { - "key": "Accept", - "value": "application/json;charset=utf-8", - "type": "text" - }, - { - "key": "Content-Type", - "value": "application/json;charset=utf-8", - "type": "text" - }, - { - "key": "x-ms-client-request-id", - "value": "20412345678903142363799", - "type": "text" - }, - { - "key": "Accept-Language", - "value": "en", - "type": "text" - } - ], - "url": { - "raw": "{{API}}/api/v2/tmf/service/{{Service_id}}", - "host": [ - "{{API}}" - ], - "path": [ - "api", - "v2", - "tmf", - "service", - "{{Service_id}}" - ] - } - }, - "status": "OK", - "code": 200, - "_postman_previewlanguage": "plain", - "header": [ - { - "key": "Date", - "value": "Tue, 22 Apr 2025 05:05:17 GMT" - }, - { - "key": "Content-Type", - "value": "text/plain; charset=utf-8" - }, - { - "key": "Transfer-Encoding", - "value": "chunked" - }, - { - "key": "Connection", - "value": "keep-alive" - }, - { - "key": "Content-Range", - "value": "items 1-1/1" - }, - { - "key": "Accept-Language", - "value": "en" - }, - { - "key": "x-ms-client-request-id", - "value": "20412345678903142363799" - }, - { - "key": "X-Total-Count", - "value": "1" - }, - { - "key": "X-Page-Count", - "value": "1" - }, - { - "key": "cacheStatus", - "value": "Added" - }, - { - "key": "x-execution-status", - "value": "done" - }, - { - "key": "Access-Control-Allow-Credentials", - "value": "true" - }, - { - "key": "Access-Control-Allow-Headers", - "value": "Authorization,Pragma,Cache-control,Content-type,X-Requested-With" - }, - { - "key": "Access-Control-Allow-Methods", - "value": "GET,POST,PUT,DELETE,HEAD,OPTIONS" - }, - { - "key": "Strict-Transport-Security", - "value": "max-age=31536000" - }, - { - "key": "Content-Security-Policy", - "value": "img-src https: data:; upgrade-insecure-requests" - }, - { - "key": "Content-Encoding", - "value": "gzip" - } - ], - "cookie": [], - "body": "{\n \"feature\": [\n {\n \"@type\": \"Feature\",\n \"id\": \"9000-20403000000011863808\",\n \"isEnabled\": false,\n \"name\": \"M2M Monthly Fee\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2025-04-01T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"NotOrd\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Charge\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6335850\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9215-20403000000011863809\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9215\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2025-04-01T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"NotOrd\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Blocker service\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6335850\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9201-20403000000011863810\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9201\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2025-04-01T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"NotOrd\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Blocker service\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6335850\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9204-20403000000011863811\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9204\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2025-04-01T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"NotOrd\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Blocker service\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6335850\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9301-20403000000011863812\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9301\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2025-04-01T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"NotOrd\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Traffic charge\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6335850\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9304-20403000000011863813\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee World\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9304\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2025-04-01T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"NotOrd\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Traffic charge\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6335850\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9308-20403000000011863814\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9308\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2025-04-01T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"NotOrd\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Traffic charge\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6335850\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9309-20403000000011863815\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9309\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2025-04-01T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"NotOrd\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Traffic charge\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6335850\",\n \"valueType\": \"string\"\n }\n ]\n }\n ],\n \"hasStarted\": false,\n \"isServiceEnabled\": false,\n \"relatedParty\": [\n {\n \"id\": \"7722572\",\n \"IDType\": 0,\n \"@referredType\": \"Customers\"\n }\n ],\n \"serviceDate\": \"2025-04-01T00:00:00\",\n \"id\": \"01-7722881\",\n \"category\": \"GSM\",\n \"serviceCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"MSISDN\",\n \"name\": \"MSISDN\",\n \"value\": \"380676666368\",\n \"valueType\": \"string\"\n }\n ],\n \"serviceSpecification\": {\n \"@type\": \"serviceSpecification\",\n \"id\": \"Mobile\"\n },\n \"state\": \"created\"\n}" - }, - { - "name": "Service with Sim card", - "originalRequest": { - "method": "GET", - "header": [ - { - "key": "Accept", - "value": "application/json;charset=utf-8", - "type": "text" - }, - { - "key": "Content-Type", - "value": "application/json;charset=utf-8", - "type": "text" - }, - { - "key": "x-ms-client-request-id", - "value": "20412345678903142363799", - "type": "text" - }, - { - "key": "Accept-Language", - "value": "en", - "type": "text" - } - ], - "url": { - "raw": "{{API}}/api/v2/tmf/service/{{Service_id}}", - "host": [ - "{{API}}" - ], - "path": [ - "api", - "v2", - "tmf", - "service", - "{{Service_id}}" - ] - } - }, - "status": "OK", - "code": 200, - "_postman_previewlanguage": "plain", - "header": [ - { - "key": "Date", - "value": "Tue, 22 Apr 2025 05:07:10 GMT" - }, - { - "key": "Content-Type", - "value": "text/plain; charset=utf-8" - }, - { - "key": "Transfer-Encoding", - "value": "chunked" - }, - { - "key": "Connection", - "value": "keep-alive" - }, - { - "key": "Content-Range", - "value": "items 1-1/1" - }, - { - "key": "Accept-Language", - "value": "en" - }, - { - "key": "x-ms-client-request-id", - "value": "20412345678903142363799" - }, - { - "key": "X-Total-Count", - "value": "1" - }, - { - "key": "X-Page-Count", - "value": "1" - }, - { - "key": "cacheStatus", - "value": "Added" - }, - { - "key": "x-execution-status", - "value": "done" - }, - { - "key": "Access-Control-Allow-Credentials", - "value": "true" - }, - { - "key": "Access-Control-Allow-Headers", - "value": "Authorization,Pragma,Cache-control,Content-type,X-Requested-With" - }, - { - "key": "Access-Control-Allow-Methods", - "value": "GET,POST,PUT,DELETE,HEAD,OPTIONS" - }, - { - "key": "Strict-Transport-Security", - "value": "max-age=31536000" - }, - { - "key": "Content-Security-Policy", - "value": "img-src https: data:; upgrade-insecure-requests" - }, - { - "key": "Content-Encoding", - "value": "gzip" - } - ], - "cookie": [], - "body": "{\n \"feature\": [\n {\n \"@type\": \"Feature\",\n \"id\": \"9000-20403000000011863696\",\n \"isEnabled\": true,\n \"name\": \"M2M Monthly Fee\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2025-04-01T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"Enable\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Charge\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6335832\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9215-20403000000011863697\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9215\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2025-04-01T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"FinBlock\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Blocker service\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6335832\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9201-20403000000011863698\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9201\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2025-04-01T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"FinBlock\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Blocker service\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6335832\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9204-20403000000011863699\",\n \"isEnabled\": true,\n \"name\": \"M2M Voice Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9204\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2025-04-01T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"Enable\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Blocker service\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6335832\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9301-20403000000011863700\",\n \"isEnabled\": true,\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9301\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2025-04-01T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"Enable\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Traffic charge\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6335832\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9304-20403000000011863701\",\n \"isEnabled\": true,\n \"name\": \"M2M SMS Penalty Fee World\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9304\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2025-04-01T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"Enable\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Traffic charge\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6335832\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9308-20403000000011863702\",\n \"isEnabled\": true,\n \"name\": \"M2M SMS Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9308\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2025-04-01T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"Enable\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Traffic charge\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6335832\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9309-20403000000011863703\",\n \"isEnabled\": true,\n \"name\": \"M2M Voice Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9309\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2025-04-01T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"Enable\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Traffic charge\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6335832\",\n \"valueType\": \"string\"\n }\n ]\n }\n ],\n \"hasStarted\": true,\n \"isServiceEnabled\": true,\n \"relatedParty\": [\n {\n \"id\": \"7722572\",\n \"IDType\": 0,\n \"@referredType\": \"Customers\"\n }\n ],\n \"serviceDate\": \"2025-04-01T00:00:00\",\n \"id\": \"01-7722875\",\n \"category\": \"GSM\",\n \"serviceCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"MSISDN\",\n \"name\": \"MSISDN\",\n \"value\": \"380676666362\",\n \"valueType\": \"string\"\n }\n ],\n \"serviceSpecification\": {\n \"@type\": \"serviceSpecification\",\n \"id\": \"Mobile\"\n },\n \"startDate\": \"2025-04-01T00:00:00\",\n \"state\": \"activ\",\n \"supportingService\": [\n {\n \"@type\": \"Service\",\n \"serviceCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_IMSI\",\n \"value\": \"255030621983791\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrt_Code\",\n \"value\": \"UNI\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrg_Code\",\n \"value\": \"myGroup\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrg_ID\",\n \"value\": \"120\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_ICC\",\n \"value\": \"893800399222225893\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_PUK1\",\n \"value\": \"01231234\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_PUK2\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_PIN1\",\n \"value\": \"0123\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_PIN2\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrs_Code\",\n \"value\": \"activ\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_ExpirationDate\",\n \"valueType\": \"date-time\"\n }\n ],\n \"serviceSpecification\": {\n \"id\": \"SIM\"\n },\n \"state\": \"activ\",\n \"id\": \"02-17329\"\n }\n ]\n}" - } - ] - }, - { - "name": "Invoke Configuration Flow", - "request": { - "auth": { - "type": "basic", - "basic": [ - { - "key": "username", - "value": "bpmn_user", - "type": "string" - }, - { - "key": "password", - "value": "password", - "type": "string" - } - ] - }, - "method": "POST", - "header": [], - "body": { - "mode": "raw", - "raw": "{\r\n\t\"@type\": \"Service\",\r\n\t\"serviceSpecification\": {\r\n\t\t\"@type\": \"serviceSpecification\",\r\n\t\t\"id\": \"Mobile\"\r\n\t},\r\n\t\"note\": [\r\n\t\t{\r\n\t\t\t\"author\": \"domain+username\",\r\n\t\t\t\"hostname\": \"192.156.7.77\",\r\n\t\t\t\"text\": \"GSM services configuration\",\r\n\t\t\t\"@type\": \"Note\"\r\n\t\t}\r\n\t],\r\n\t\"feature\": [\r\n\t\t{\r\n\t\t\t\"@type\": \"Feature\",\r\n\t\t\t\"isEnabled\": false,\r\n\t\t\t\"featureCharacteristic\": [\r\n\t\t\t\t{\r\n\t\t\t\t\t\"id\": \"ServiceCode\",\r\n\t\t\t\t\t\"valueType\": \"string\",\r\n\t\t\t\t\t\"value\": \"{{Srv_Code1}}\"\r\n\t\t\t\t}\r\n\t\t\t]\r\n\t\t},\r\n\t\t{\r\n\t\t\t\"@type\": \"Feature\",\r\n\t\t\t\"isEnabled\": false,\r\n\t\t\t\"featureCharacteristic\": [\r\n\t\t\t\t{\r\n\t\t\t\t\t\"id\": \"ServiceCode\",\r\n\t\t\t\t\t\"valueType\": \"string\",\r\n\t\t\t\t\t\"value\": \"{{Srv_Code2}}\"\r\n\t\t\t\t}\r\n\t\t\t]\r\n\t\t}\r\n\t],\r\n\t\"id\": \"{{Service_id}}\"\r\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "{{API}}/api/v0/bpmn/flowdefinitions/personal/MyDrafts/put-service/Start.json?debug=false&async=false&run=auto", - "host": [ - "{{API}}" - ], - "path": [ - "api", - "v0", - "bpmn", - "flowdefinitions", - "personal", - "MyDrafts", - "put-service", - "Start.json" - ], - "query": [ - { - "key": "debug", - "value": "false" - }, - { - "key": "async", - "value": "false" - }, - { - "key": "run", - "value": "auto" - } - ] - } - }, - "response": [ - { - "name": "Success Configuration", - "originalRequest": { - "method": "POST", - "header": [], - "body": { - "mode": "raw", - "raw": "{\r\n\t\"@type\": \"Service\",\r\n\t\"serviceSpecification\": {\r\n\t\t\"@type\": \"serviceSpecification\",\r\n\t\t\"id\": \"Mobile\"\r\n\t},\r\n\t\"note\": [\r\n\t\t{\r\n\t\t\t\"author\": \"domain+username\",\r\n\t\t\t\"hostname\": \"192.156.7.77\",\r\n\t\t\t\"text\": \"GSM services configuration\",\r\n\t\t\t\"@type\": \"Note\"\r\n\t\t}\r\n\t],\r\n\t\"feature\": [\r\n\t\t{\r\n\t\t\t\"@type\": \"Feature\",\r\n\t\t\t\"isEnabled\": false,\r\n\t\t\t\"featureCharacteristic\": [\r\n\t\t\t\t{\r\n\t\t\t\t\t\"id\": \"ServiceCode\",\r\n\t\t\t\t\t\"valueType\": \"string\",\r\n\t\t\t\t\t\"value\": \"{{Srv_Code1}}\"\r\n\t\t\t\t}\r\n\t\t\t]\r\n\t\t},\r\n\t\t{\r\n\t\t\t\"@type\": \"Feature\",\r\n\t\t\t\"isEnabled\": false,\r\n\t\t\t\"featureCharacteristic\": [\r\n\t\t\t\t{\r\n\t\t\t\t\t\"id\": \"ServiceCode\",\r\n\t\t\t\t\t\"valueType\": \"string\",\r\n\t\t\t\t\t\"value\": \"{{Srv_Code2}}\"\r\n\t\t\t\t}\r\n\t\t\t]\r\n\t\t}\r\n\t],\r\n\t\"id\": \"{{Service_id}}\"\r\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "{{API}}/api/v0/bpmn/flowdefinitions/personal/MyDrafts/put-service/Start.json?debug=false&async=false&run=auto", - "host": [ - "{{API}}" - ], - "path": [ - "api", - "v0", - "bpmn", - "flowdefinitions", - "personal", - "MyDrafts", - "put-service", - "Start.json" - ], - "query": [ - { - "key": "debug", - "value": "false" - }, - { - "key": "async", - "value": "false" - }, - { - "key": "run", - "value": "auto" - } - ] - } - }, - "status": "OK", - "code": 200, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Date", - "value": "Tue, 22 Apr 2025 04:47:52 GMT" - }, - { - "key": "Content-Type", - "value": "application/json; charset=utf-8" - }, - { - "key": "Transfer-Encoding", - "value": "chunked" - }, - { - "key": "Connection", - "value": "keep-alive" - }, - { - "key": "Access-Control-Allow-Credentials", - "value": "true" - }, - { - "key": "Access-Control-Allow-Headers", - "value": "Authorization,Pragma,Cache-control,Content-type,X-Requested-With" - }, - { - "key": "Access-Control-Allow-Methods", - "value": "GET,POST,PUT,DELETE,HEAD,OPTIONS" - }, - { - "key": "Strict-Transport-Security", - "value": "max-age=31536000" - }, - { - "key": "Content-Security-Policy", - "value": "img-src https: data:; upgrade-insecure-requests" - }, - { - "key": "Content-Encoding", - "value": "gzip" - } - ], - "cookie": [], - "body": "{\n \"relatedParty\": [\n {}\n ],\n \"feature\": [\n {\n \"@type\": \"Feature\",\n \"isEnabled\": false,\n \"featureCharacteristic\": [\n {\n \"id\": \"ServiceCode\",\n \"value\": \"9215\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"isEnabled\": false,\n \"featureCharacteristic\": [\n {\n \"id\": \"ServiceCode\",\n \"value\": \"9201\",\n \"valueType\": \"string\"\n }\n ]\n }\n ],\n \"serviceCharacteristic\": [\n {}\n ],\n \"id\": \"01-7722879\",\n \"supportingService\": [\n {}\n ]\n}" - } - ] - } - ] - } - ], - "event": [ - { - "listen": "prerequest", - "script": { - "type": "text/javascript", - "packages": {}, - "exec": [ - "" - ] - } - }, - { - "listen": "test", - "script": { - "type": "text/javascript", - "packages": {}, - "exec": [ - "" - ] - } - } - ], - "variable": [ - { - "key": "Srv_Code1", - "value": "9215", - "type": "string" - }, - { - "key": "Srv_Code2", - "value": "9201", - "type": "string" - }, - { - "key": "Service_id", - "value": "01-7702876", - "type": "string" - }, - { - "key": "startDate", - "value": "2024-05-13T00:00:00.000Z", - "type": "string" - }, - { - "key": "configDate", - "value": "", - "type": "string" - }, - { - "key": "Active_state", - "value": "activ", - "type": "string" - }, - { - "key": "msisdn", - "value": "671234567", - "type": "string" - }, - { - "key": "IMSI", - "value": "255030621983768", - "type": "string" - }, - { - "key": "SIM_group", - "value": "myGroup", - "type": "string" - }, - { - "key": "ICC", - "value": "893800399222225840", - "type": "string" - }, - { - "key": "new_ICC", - "value": "893800399222225841", - "type": "string" - }, - { - "key": "new_IMSI", - "value": "255030621983769", - "type": "string" - }, - { - "key": "replace_startDate", - "value": "2024-05-14T00:00:00.000Z", - "type": "string" - }, - { - "key": "close_date", - "value": "2024-05-14T23:59:59.997Z", - "type": "string" - }, - { - "key": "rfs_service_id", - "value": "02-42", - "type": "string" - }, - { - "key": "customer_id", - "value": "7722572", - "type": "string" - }, - { - "key": "PUK1", - "value": "12345678", - "type": "default" - }, - { - "key": "PUK2", - "value": "87654321", - "type": "default" - }, - { - "key": "PIN1", - "value": "1234", - "type": "default" - }, - { - "key": "PIN2", - "value": "4321", - "type": "default" - } - ] -} \ No newline at end of file + "info": { + "_postman_id": "470bc301-5d8e-4fe2-94d9-27bf4c34a788", + "name": "TMF640 Service Activation (MEF.DEV)", + "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json", + "_exporter_id": "16338639", + "_collection_link": "https://mef-dev.postman.co/workspace/mef-dev-Workspace~fe94183d-bd30-4fd9-8c8d-71a74155a6dc/collection/16338639-470bc301-5d8e-4fe2-94d9-27bf4c34a788?action=share&source=collection_link&creator=16338639" + }, + "item": [ + { + "name": "service", + "item": [ + { + "name": "List or find Service objects", + "protocolProfileBehavior": { + "disableBodyPruning": true + }, + "request": { + "auth": { + "type": "basic", + "basic": [ + { + "key": "username", + "value": "login", + "type": "string" + }, + { + "key": "password", + "value": "password", + "type": "string" + } + ] + }, + "method": "GET", + "header": [ + { + "key": "Accept", + "value": "application/json;charset=utf-8" + }, + { + "key": "Content-Type", + "value": "application/json;charset=utf-8" + }, + { + "key": "x-ms-client-request-id", + "value": "20412345678903142363799", + "disabled": true + }, + { + "key": "Accept-Language", + "value": "en" + } + ], + "body": { + "mode": "raw", + "raw": "" + }, + "url": { + "raw": "{{API}}/api/v2/tmf/service/{{Service_id}}", + "host": [ + "{{API}}" + ], + "path": [ + "api", + "v2", + "tmf", + "service", + "{{Service_id}}" + ] + }, + "description": "This operation list or find Service entities" + }, + "response": [ + { + "name": "by MSISDN", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "Accept", + "value": "application/json;charset=utf-8", + "type": "text" + }, + { + "key": "Content-Type", + "value": "application/json;charset=utf-8", + "type": "text" + }, + { + "key": "x-ms-client-request-id", + "value": "20412345678903142363799", + "type": "text" + }, + { + "key": "Accept-Language", + "value": "en", + "type": "text" + } + ], + "url": { + "raw": "{{API}}/api/v2/tmf/service?offset=1&limit=50&serviceCharacteristic=[{\"valueType\":\"string\",\"id\":\"MSISDN\",\"value\":\"0671234568\"}]&sort=-id", + "host": [ + "{{API}}" + ], + "path": [ + "api", + "v2", + "tmf", + "service" + ], + "query": [ + { + "key": "offset", + "value": "1" + }, + { + "key": "limit", + "value": "50" + }, + { + "key": "serviceCharacteristic", + "value": "[{\"valueType\":\"string\",\"id\":\"MSISDN\",\"value\":\"0671234568\"}]" + }, + { + "key": "sort", + "value": "-id" + } + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "plain", + "header": [ + { + "key": "Transfer-Encoding", + "value": "chunked" + }, + { + "key": "Content-Type", + "value": "text/plain; charset=utf-8" + }, + { + "key": "Content-Encoding", + "value": "gzip" + }, + { + "key": "Content-Range", + "value": "items 1-1/1" + }, + { + "key": "Vary", + "value": "Accept-Encoding" + }, + { + "key": "Accept-Language", + "value": "en" + }, + { + "key": "x-ms-client-request-id", + "value": "20412345678903142363799" + }, + { + "key": "X-Total-Count", + "value": "1" + }, + { + "key": "X-Page-Count", + "value": "1" + }, + { + "key": "cacheStatus", + "value": "Added" + }, + { + "key": "Access-Control-Allow-Methods", + "value": "GET, PUT, POST, DELETE, OPTIONS, HEAD" + }, + { + "key": "Access-Control-Allow-Headers", + "value": "Authorization,Pragma,Cache-control,Content-type" + }, + { + "key": "Access-Control-Allow-Credentials", + "value": "true" + }, + { + "key": "Date", + "value": "Fri, 22 Mar 2024 08:03:53 GMT" + } + ], + "cookie": [], + "body": "[\r\n{\r\n \"feature\": [\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9001-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Addon Fee\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9201-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Access\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9204-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Access\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9205-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Roaming Access\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9211-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Access\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9214-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Access\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9215-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Access\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9301-20403000000011753759\",\r\n \"isEnabled\": true,\r\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9301\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2023-11-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Enable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295753\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9321-20403000000011753761\",\r\n \"isEnabled\": true,\r\n \"name\": \"M2M Data Transmition Roaming Penalty Fee (Zone 1)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9321\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2023-11-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Enable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295753\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9331-20403000000011753762\",\r\n \"isEnabled\": true,\r\n \"name\": \"M2M Data Transmition Roaming Penalty Fee (Zone 2)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9331\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2023-11-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Enable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295753\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9000-20403000000011753763\",\r\n \"isEnabled\": true,\r\n \"name\": \"M2M Monthly Fee\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9000\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2023-11-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Enable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295753\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9303-20403000000011753765\",\r\n \"isEnabled\": true,\r\n \"name\": \"M2M SMS Penalty Fee Off-Net\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9303\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2023-11-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Enable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295753\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9302-20403000000011753766\",\r\n \"isEnabled\": true,\r\n \"name\": \"M2M SMS Penalty Fee On-Net\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9302\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2023-11-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Enable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295753\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9304-20403000000011753767\",\r\n \"isEnabled\": true,\r\n \"name\": \"M2M SMS Penalty Fee World\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9304\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2023-11-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Enable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295753\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9323-20403000000011753769\",\r\n \"isEnabled\": true,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home Off-net (Zone 1) \",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9323\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2023-11-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Enable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295753\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9333-20403000000011753770\",\r\n \"isEnabled\": true,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home Off-net (Zone 2)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9333\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2023-11-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Enable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295753\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9322-20403000000011753771\",\r\n \"isEnabled\": true,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home On-net (Zone 1)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9322\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2023-11-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Enable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295753\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9332-20403000000011753772\",\r\n \"isEnabled\": true,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home On-net (Zone 2)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9332\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2023-11-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Enable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295753\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9324-20403000000011753773\",\r\n \"isEnabled\": true,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Host Country (Zone 1)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9324\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2023-11-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Enable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295753\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9334-20403000000011753774\",\r\n \"isEnabled\": true,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Host Country (Zone 2)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9334\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2023-11-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Enable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295753\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9325-20403000000011753775\",\r\n \"isEnabled\": true,\r\n \"name\": \"M2M SMS Roaming Penalty Fee World (Zone 1)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9325\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2023-11-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Enable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295753\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9335-20403000000011753776\",\r\n \"isEnabled\": true,\r\n \"name\": \"M2M SMS Roaming Penalty Fee World (Zone 2)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9335\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2023-11-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Enable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295753\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9306-20403000000011753778\",\r\n \"isEnabled\": true,\r\n \"name\": \"M2M Voice Penalty Fee Off-Net\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9306\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2023-11-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Enable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295753\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9305-20403000000011753779\",\r\n \"isEnabled\": true,\r\n \"name\": \"M2M Voice Penalty Fee On-Net\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9305\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2023-11-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Enable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295753\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9307-20403000000011753780\",\r\n \"isEnabled\": true,\r\n \"name\": \"M2M Voice Penalty Fee World\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9307\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2023-11-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Enable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295753\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9336-20403000000011753782\",\r\n \"isEnabled\": true,\r\n \"name\": \"M2M Voice Roaming Penalty Fee (Home On-net (Zone 2)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9336\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2023-11-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Enable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295753\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9327-20403000000011753783\",\r\n \"isEnabled\": true,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home Off-net (Zone 1)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9327\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2023-11-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Enable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295753\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9337-20403000000011753784\",\r\n \"isEnabled\": true,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home Off-net (Zone 2)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9337\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2023-11-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Enable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295753\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9326-20403000000011753785\",\r\n \"isEnabled\": true,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home On-net (Zone 1)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9326\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2023-11-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Enable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295753\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9328-20403000000011753786\",\r\n \"isEnabled\": true,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Host Country (Zone 1)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9328\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2023-11-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Enable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295753\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9338-20403000000011753787\",\r\n \"isEnabled\": true,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Host Country (Zone 2)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9338\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2023-11-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Enable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295753\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9341-20403000000011753788\",\r\n \"isEnabled\": true,\r\n \"name\": \"M2M Data Transmition Roaming Penalty Fee (Zone 3)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9341\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2023-11-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Enable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295753\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9351-20403000000011753789\",\r\n \"isEnabled\": true,\r\n \"name\": \"M2M Data Transmition Roaming Penalty Fee (Zone 4)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9351\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2023-11-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Enable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295753\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9343-20403000000011753790\",\r\n \"isEnabled\": true,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home Off-net (Zone 3) \",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9343\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2023-11-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Enable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295753\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9353-20403000000011753791\",\r\n \"isEnabled\": true,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home Off-net (Zone 4)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9353\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2023-11-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Enable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295753\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9342-20403000000011753792\",\r\n \"isEnabled\": true,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home On-net (Zone 3)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9342\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2023-11-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Enable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295753\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9352-20403000000011753793\",\r\n \"isEnabled\": true,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home On-net (Zone 4)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9352\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2023-11-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Enable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295753\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9344-20403000000011753794\",\r\n \"isEnabled\": true,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Host Country (Zone 3)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9344\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2023-11-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Enable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295753\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9354-20403000000011753795\",\r\n \"isEnabled\": true,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Host Country (Zone 4)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9354\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2023-11-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Enable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295753\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9345-20403000000011753796\",\r\n \"isEnabled\": true,\r\n \"name\": \"M2M SMS Roaming Penalty Fee World (Zone 3)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9345\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2023-11-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Enable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295753\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9355-20403000000011753797\",\r\n \"isEnabled\": true,\r\n \"name\": \"M2M SMS Roaming Penalty Fee World (Zone 4)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9355\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2023-11-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Enable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295753\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9356-20403000000011753798\",\r\n \"isEnabled\": true,\r\n \"name\": \"M2M Voice Roaming Penalty Fee (Home On-net (Zone 4)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9356\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2023-11-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Enable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295753\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9347-20403000000011753799\",\r\n \"isEnabled\": true,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home Off-net (Zone 3)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9347\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2023-11-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Enable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295753\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9357-20403000000011753800\",\r\n \"isEnabled\": true,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home Off-net (Zone 4)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9357\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2023-11-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Enable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295753\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9346-20403000000011753801\",\r\n \"isEnabled\": true,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home On-net (Zone 3)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9346\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2023-11-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Enable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295753\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9348-20403000000011753802\",\r\n \"isEnabled\": true,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Host Country (Zone 3)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9348\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2023-11-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Enable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295753\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9358-20403000000011753803\",\r\n \"isEnabled\": true,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Host Country (Zone 4)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9358\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2023-11-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Enable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295753\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9329-20403000000011753804\",\r\n \"isEnabled\": true,\r\n \"name\": \"M2M Voice Roaming Penalty Fee World (Zone 1)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9329\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2023-11-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Enable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295753\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9339-20403000000011753805\",\r\n \"isEnabled\": true,\r\n \"name\": \"M2M Voice Roaming Penalty Fee World (Zone 2)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9339\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2023-11-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Enable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295753\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9349-20403000000011753806\",\r\n \"isEnabled\": true,\r\n \"name\": \"M2M Voice Roaming Penalty Fee World (Zone 3)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9349\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2023-11-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Enable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295753\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9359-20403000000011753807\",\r\n \"isEnabled\": true,\r\n \"name\": \"M2M Voice Roaming Penalty Fee World (Zone 4)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9359\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2023-11-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Enable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295753\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n }\r\n ],\r\n \"hasStarted\": false,\r\n \"isServiceEnabled\": true,\r\n \"relatedParty\": [\r\n {\r\n \"id\": \"7702217\",\r\n \"IDType\": 0,\r\n \"@referredType\": \"Customers\"\r\n }\r\n ],\r\n \"serviceDate\": \"2023-10-10T00:00:00\",\r\n \"id\": \"01-7702257\",\r\n \"category\": \"GSM\",\r\n \"serviceCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"MSISDN\",\r\n \"name\": \"MSISDN\",\r\n \"value\": \"0671234568\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"MSISDN\",\r\n \"name\": \"MSISDN\",\r\n \"value\": \"38671234590\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"MSISDN\",\r\n \"name\": \"MSISDN\",\r\n \"value\": \"38671234593\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"MSISDN\",\r\n \"name\": \"MSISDN\",\r\n \"value\": \"38671234591\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"MSISDN\",\r\n \"name\": \"MSISDN\",\r\n \"value\": \"38671234600\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"MSISDN\",\r\n \"name\": \"MSISDN\",\r\n \"value\": \"38671234601\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"MSISDN\",\r\n \"name\": \"MSISDN\",\r\n \"value\": \"38671234602\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"MSISDN\",\r\n \"name\": \"MSISDN\",\r\n \"value\": \"38671234603\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"MSISDN\",\r\n \"name\": \"MSISDN\",\r\n \"value\": \"38671234604\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"MSISDN\",\r\n \"name\": \"MSISDN\",\r\n \"value\": \"38671234606\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"MSISDN\",\r\n \"name\": \"MSISDN\",\r\n \"value\": \"38671234607\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"MSISDN\",\r\n \"name\": \"MSISDN\",\r\n \"value\": \"38671234599\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"MSISDN\",\r\n \"name\": \"MSISDN\",\r\n \"value\": \"0671234569\",\r\n \"valueType\": \"string\"\r\n }\r\n ],\r\n \"serviceSpecification\": {\r\n \"@type\": \"serviceSpecification\",\r\n \"id\": \"Mobile\"\r\n },\r\n \"state\": \"activ\",\r\n \"supportingService\": [\r\n {\r\n \"@type\": \"Service\",\r\n \"serviceCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"scrd_IMSI\",\r\n \"value\": \"228012176510739\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"scrt_Code\",\r\n \"value\": \"UNI\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"scrg_Code\",\r\n \"value\": \"Default\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"scrg_ID\",\r\n \"value\": \"1\",\r\n \"valueType\": \"integer\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"scrd_ICC\",\r\n \"value\": \"228012176510739\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"scrd_PUK1\",\r\n \"value\": \"01231234\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"scrd_PUK2\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"scrd_PIN1\",\r\n \"value\": \"0123\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"scrd_PIN2\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"scrs_Code\",\r\n \"value\": \"activ\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"scrd_ExpirationDate\",\r\n \"value\": \"2999-12-31T23:59:59.997\",\r\n \"valueType\": \"date-time\"\r\n }\r\n ],\r\n \"serviceSpecification\": {\r\n \"id\": \"SIM\"\r\n },\r\n \"state\": \"activ\"\r\n }\r\n ]\r\n}\r\n]\r\n" + }, + { + "name": "TOP 10", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "Accept", + "value": "application/json;charset=utf-8", + "type": "text" + }, + { + "key": "Content-Type", + "value": "application/json;charset=utf-8", + "type": "text" + }, + { + "key": "x-ms-client-request-id", + "value": "20412345678903142363799", + "type": "text" + }, + { + "key": "Accept-Language", + "value": "en", + "type": "text" + } + ], + "url": { + "raw": "{{API}}/api/v2/tmf/service?offset=1&limit=10&sort=-id", + "host": [ + "{{API}}" + ], + "path": [ + "api", + "v2", + "tmf", + "service" + ], + "query": [ + { + "key": "offset", + "value": "1" + }, + { + "key": "limit", + "value": "10" + }, + { + "key": "sort", + "value": "-id" + } + ] + } + }, + "status": "Partial Content", + "code": 206, + "_postman_previewlanguage": "plain", + "header": [ + { + "key": "Transfer-Encoding", + "value": "chunked" + }, + { + "key": "Content-Type", + "value": "text/plain; charset=utf-8" + }, + { + "key": "Content-Encoding", + "value": "gzip" + }, + { + "key": "Content-Range", + "value": "items 1-10/85385" + }, + { + "key": "Vary", + "value": "Accept-Encoding" + }, + { + "key": "Accept-Language", + "value": "en" + }, + { + "key": "x-ms-client-request-id", + "value": "20412345678903142363799" + }, + { + "key": "X-Total-Count", + "value": "85385" + }, + { + "key": "X-Page-Count", + "value": "8539" + }, + { + "key": "cacheStatus", + "value": "Added" + }, + { + "key": "Access-Control-Allow-Methods", + "value": "GET, PUT, POST, DELETE, OPTIONS, HEAD" + }, + { + "key": "Access-Control-Allow-Headers", + "value": "Authorization,Pragma,Cache-control,Content-type" + }, + { + "key": "Access-Control-Allow-Credentials", + "value": "true" + }, + { + "key": "Date", + "value": "Fri, 22 Mar 2024 08:06:36 GMT" + } + ], + "cookie": [], + "body": "[\r\n{\r\n \"feature\": [\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4003-20403000000000178639\",\r\n \"isEnabled\": false,\r\n \"name\": \"Управление ДЗ\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"4003\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2019-12-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2022-06-30T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Disable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"449\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4070-20403000000000017647\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение к сети Оператора (услуги доступа к сети Интернет)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"4070\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2019-12-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2022-06-30T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Disable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"64511\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4075-20403000000000017651\",\r\n \"isEnabled\": false,\r\n \"name\": \"Доступ к сети Интернет\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"4075\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2019-12-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2022-06-30T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Disable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"64511\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381529-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Фіксований платіж за послуги доступу до мережі Інтернет\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381451-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Изменение условий предоставления услуг и другие начисления (Интернет)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"20005-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Финансовая блокировка\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381200-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение дополнительной услуги доступа к сети Интернет\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381458-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение пакета Интернет по xDSL или IPoE 299 грн.\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"20007-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Временное приостановление предоставления услуг 50%\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4000-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Временное приостановление предоставления услуг\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381289-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Изменение места предоставления услуг доступа к сети Интернет\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381441-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"ГТ Заміна блоку IP-адрес\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381459-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение пакета Интернет по xDSL или IPoE 499 грн. \",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381165-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение услуги доступа к сети Интернет\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381369-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Обслуживание активного оборудования Абонента (услуги доступа к сети Интернет)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381446-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Плата за переоформление договора (Internet)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"20006-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Временное приостановление предоставления услуг 10%\",\r\n \"featureCharacteristic\": []\r\n }\r\n ],\r\n \"hasStarted\": false,\r\n \"isServiceEnabled\": true,\r\n \"relatedParty\": [\r\n {\r\n \"id\": \"269798\",\r\n \"IDType\": 0,\r\n \"@referredType\": \"Customers\"\r\n }\r\n ],\r\n \"serviceDate\": \"2019-12-01T00:00:00\",\r\n \"id\": \"01-294042\",\r\n \"category\": \"Доступ в Интернет\",\r\n \"serviceSpecification\": {\r\n \"@type\": \"serviceSpecification\",\r\n \"id\": \"Mobile\"\r\n },\r\n \"state\": \"close\"\r\n},\n{\r\n \"feature\": [\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4003-20403000000000023829\",\r\n \"isEnabled\": false,\r\n \"name\": \"Управление ДЗ\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"4003\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2019-12-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2022-06-30T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Disable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"462\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"20005-20403000000000023830\",\r\n \"isEnabled\": false,\r\n \"name\": \"Финансовая блокировка\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"20005\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2019-12-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2022-06-30T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Disable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"462\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4010-20403000000000145477\",\r\n \"isEnabled\": false,\r\n \"name\": \"Фиксированная телефонная связь\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"4010\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2019-12-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2022-06-30T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Disable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"462\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381485-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Перерегистрация л/с или переоформление договора\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4260-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Адміністратор віртуальної мобільної АТС (PSTN)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4016-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Дифференцированный счет ежемесячно (PSTN)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9303-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Penalty Fee Off-Net\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381439-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение виртуального номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9307-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Penalty Fee World\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9339-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee World (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9347-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home Off-net (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9326-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home On-net (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"380989-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение дополнительного номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9000-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Monthly Fee\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9336-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee (Home On-net (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9348-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Host Country (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9333-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home Off-net (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9353-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home Off-net (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"20006-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Временное приостановление предоставления услуг 10%\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381125-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение Платинового номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9324-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Host Country (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381131-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение Золотого номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381568-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Підключення \\\"API FMC\\\" PSTN\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9341-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Roaming Penalty Fee (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9335-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee World (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381138-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Номера \\\"Люкс\\\"\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381389-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Изменение места предоставления услуг фиксированной телефонной связи\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9306-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Penalty Fee Off-Net\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9301-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9355-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee World (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9344-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Host Country (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381440-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"ГТ Заміна номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9321-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Roaming Penalty Fee (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9357-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home Off-net (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4015-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Детализация звонков\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381102-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение услуги фиксированной телефонной связи\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9211-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Access\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9358-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Host Country (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9327-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home Off-net (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381525-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Фіксований платіж за послуги фіксованого телефонного зв'язку\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9302-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Penalty Fee On-Net\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9349-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee World (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9328-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Host Country (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9354-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Host Country (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9334-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Host Country (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381133-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение Серебряного номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9215-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Access\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"20007-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Временное приостановление предоставления услуг 50%\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9351-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Roaming Penalty Fee (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9342-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home On-net (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9322-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home On-net (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381127-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Замена телефонного номера на Платиновый номер\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381230-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Выделение доп. телефонного номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381442-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Изменение условий предоставления услуг фиксированной телефонной связи и другие начисления\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9331-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Roaming Penalty Fee (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9346-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home On-net (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4000-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Временное приостановление предоставления услуг\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381436-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"ГТ Сервисное обслуживание оборудования\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9201-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Access\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9305-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Penalty Fee On-Net\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4011-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Детализированный счет ежемесячно (PSTN)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9356-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee (Home On-net (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381528-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение любимой страны PSTN\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381129-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Замена телефонного номера на Золотой номер\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9304-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Penalty Fee World\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381490-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение услуги \\\"Виртуальная мобильная АТС\\\" PSTN абонентам\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9338-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Host Country (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9323-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home Off-net (Zone 1) \",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381112-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение услуги 'Детализированный счёт'\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381464-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"ГТ Підключення лінії\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9359-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee World (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9329-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee World (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9337-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home Off-net (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9343-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home Off-net (Zone 3) \",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9332-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home On-net (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9352-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home On-net (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381388-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Изменение места предоставления услуг фиксированной телефонной связи (в пределах одного здания)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9205-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Roaming Access\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9345-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee World (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9325-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee World (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381135-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Замена телефонного номера на Серебряный номер\",\r\n \"featureCharacteristic\": []\r\n }\r\n ],\r\n \"hasStarted\": false,\r\n \"isServiceEnabled\": true,\r\n \"relatedParty\": [\r\n {\r\n \"id\": \"268692\",\r\n \"IDType\": 0,\r\n \"@referredType\": \"Customers\"\r\n }\r\n ],\r\n \"serviceDate\": \"2019-12-01T00:00:00\",\r\n \"id\": \"01-294058\",\r\n \"category\": \"PSTN\",\r\n \"serviceSpecification\": {\r\n \"@type\": \"serviceSpecification\",\r\n \"id\": \"Mobile\"\r\n },\r\n \"state\": \"close\"\r\n},\n{\r\n \"feature\": [\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4000-20403000000000037232\",\r\n \"isEnabled\": false,\r\n \"name\": \"Временное приостановление предоставления услуг\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"4000\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2019-12-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2022-06-30T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Disable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"467\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4003-20403000000000037231\",\r\n \"isEnabled\": false,\r\n \"name\": \"Управление ДЗ\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"4003\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2019-12-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2022-06-30T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Disable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"467\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4010-20403000000000145482\",\r\n \"isEnabled\": false,\r\n \"name\": \"Фиксированная телефонная связь\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"4010\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2019-12-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2022-06-30T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Disable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"467\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9326-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home On-net (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9333-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home Off-net (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9353-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home Off-net (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381485-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Перерегистрация л/с или переоформление договора\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"20006-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Временное приостановление предоставления услуг 10%\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"380989-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение дополнительного номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381131-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение Золотого номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381568-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Підключення \\\"API FMC\\\" PSTN\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9339-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee World (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9341-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Roaming Penalty Fee (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381125-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение Платинового номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9306-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Penalty Fee Off-Net\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9301-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9335-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee World (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381389-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Изменение места предоставления услуг фиксированной телефонной связи\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9321-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Roaming Penalty Fee (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9355-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee World (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9344-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Host Country (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9324-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Host Country (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381138-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Номера \\\"Люкс\\\"\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9349-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee World (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9357-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home Off-net (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9327-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home Off-net (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4015-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Детализация звонков\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9358-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Host Country (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9328-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Host Country (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381102-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение услуги фиксированной телефонной связи\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381525-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Фіксований платіж за послуги фіксованого телефонного зв'язку\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381440-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"ГТ Заміна номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9302-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Penalty Fee On-Net\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"20005-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Финансовая блокировка\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9215-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Access\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"20007-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Временное приостановление предоставления услуг 50%\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9351-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Roaming Penalty Fee (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9334-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Host Country (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381127-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Замена телефонного номера на Платиновый номер\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9211-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Access\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9342-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home On-net (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9322-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home On-net (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381133-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение Серебряного номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9331-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Roaming Penalty Fee (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9356-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee (Home On-net (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9354-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Host Country (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381442-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Изменение условий предоставления услуг фиксированной телефонной связи и другие начисления\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381230-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Выделение доп. телефонного номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9346-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home On-net (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9305-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Penalty Fee On-Net\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4011-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Детализированный счет ежемесячно (PSTN)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381436-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"ГТ Сервисное обслуживание оборудования\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9329-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee World (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381490-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение услуги \\\"Виртуальная мобильная АТС\\\" PSTN абонентам\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9338-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Host Country (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381112-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение услуги 'Детализированный счёт'\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381528-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение любимой страны PSTN\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9359-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee World (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9304-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Penalty Fee World\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9337-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home Off-net (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9323-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home Off-net (Zone 1) \",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381464-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"ГТ Підключення лінії\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9201-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Access\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9332-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home On-net (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9352-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home On-net (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381135-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Замена телефонного номера на Серебряный номер\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381388-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Изменение места предоставления услуг фиксированной телефонной связи (в пределах одного здания)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9343-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home Off-net (Zone 3) \",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9345-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee World (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9325-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee World (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381129-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Замена телефонного номера на Золотой номер\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9307-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Penalty Fee World\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9205-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Roaming Access\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9348-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Host Country (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4016-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Дифференцированный счет ежемесячно (PSTN)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381439-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение виртуального номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9303-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Penalty Fee Off-Net\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9336-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee (Home On-net (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9347-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home Off-net (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4260-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Адміністратор віртуальної мобільної АТС (PSTN)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9000-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Monthly Fee\",\r\n \"featureCharacteristic\": []\r\n }\r\n ],\r\n \"hasStarted\": false,\r\n \"isServiceEnabled\": true,\r\n \"relatedParty\": [\r\n {\r\n \"id\": \"262144\",\r\n \"IDType\": 0,\r\n \"@referredType\": \"Customers\"\r\n }\r\n ],\r\n \"serviceDate\": \"2019-12-01T00:00:00\",\r\n \"id\": \"01-294063\",\r\n \"category\": \"PSTN\",\r\n \"serviceSpecification\": {\r\n \"@type\": \"serviceSpecification\",\r\n \"id\": \"Mobile\"\r\n },\r\n \"state\": \"close\"\r\n},\n{\r\n \"feature\": [\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4003-20403000000000027427\",\r\n \"isEnabled\": false,\r\n \"name\": \"Управление ДЗ\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"4003\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2019-12-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2020-07-20T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Disable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"472\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4010-20403000000000145486\",\r\n \"isEnabled\": false,\r\n \"name\": \"Фиксированная телефонная связь\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"4010\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2019-12-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2020-07-20T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Disable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"472\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"20005-20403000000006269775\",\r\n \"isEnabled\": false,\r\n \"name\": \"Финансовая блокировка\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"20005\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2020-04-22T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2020-07-20T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Disable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"472\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9344-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Host Country (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9324-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Host Country (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381131-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение Золотого номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9353-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home Off-net (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9335-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee World (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381138-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Номера \\\"Люкс\\\"\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381389-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Изменение места предоставления услуг фиксированной телефонной связи\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9306-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Penalty Fee Off-Net\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9301-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9355-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee World (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381525-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Фіксований платіж за послуги фіксованого телефонного зв'язку\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381440-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"ГТ Заміна номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9302-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Penalty Fee On-Net\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9321-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Roaming Penalty Fee (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9349-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee World (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9357-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home Off-net (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4015-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Детализация звонков\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9358-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Host Country (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9327-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home Off-net (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9342-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home On-net (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9322-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home On-net (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381127-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Замена телефонного номера на Платиновый номер\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9328-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Host Country (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381102-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение услуги фиксированной телефонной связи\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9334-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Host Country (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381133-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение Серебряного номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9211-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Access\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"20007-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Временное приостановление предоставления услуг 50%\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9351-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Roaming Penalty Fee (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381436-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"ГТ Сервисное обслуживание оборудования\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381230-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Выделение доп. телефонного номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9305-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Penalty Fee On-Net\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9356-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee (Home On-net (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9354-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Host Country (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381442-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Изменение условий предоставления услуг фиксированной телефонной связи и другие начисления\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9331-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Roaming Penalty Fee (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9215-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Access\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4000-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Временное приостановление предоставления услуг\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9323-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home Off-net (Zone 1) \",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381112-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение услуги 'Детализированный счёт'\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381464-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"ГТ Підключення лінії\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9359-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee World (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9201-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Access\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9329-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee World (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4011-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Детализированный счет ежемесячно (PSTN)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9337-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home Off-net (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381528-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение любимой страны PSTN\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9304-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Penalty Fee World\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381490-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение услуги \\\"Виртуальная мобильная АТС\\\" PSTN абонентам\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9346-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home On-net (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9338-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Host Country (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9325-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee World (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381135-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Замена телефонного номера на Серебряный номер\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9343-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home Off-net (Zone 3) \",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9332-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home On-net (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9352-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home On-net (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381129-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Замена телефонного номера на Золотой номер\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9345-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee World (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9000-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Monthly Fee\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9336-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee (Home On-net (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9348-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Host Country (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4260-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Адміністратор віртуальної мобільної АТС (PSTN)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4016-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Дифференцированный счет ежемесячно (PSTN)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381439-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение виртуального номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381388-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Изменение места предоставления услуг фиксированной телефонной связи (в пределах одного здания)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9307-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Penalty Fee World\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9205-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Roaming Access\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9347-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home Off-net (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"380989-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение дополнительного номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381568-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Підключення \\\"API FMC\\\" PSTN\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9341-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Roaming Penalty Fee (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9333-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home Off-net (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381485-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Перерегистрация л/с или переоформление договора\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"20006-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Временное приостановление предоставления услуг 10%\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381125-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение Платинового номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9303-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Penalty Fee Off-Net\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9339-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee World (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9326-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home On-net (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n }\r\n ],\r\n \"hasStarted\": false,\r\n \"isServiceEnabled\": true,\r\n \"relatedParty\": [\r\n {\r\n \"id\": \"265448\",\r\n \"IDType\": 0,\r\n \"@referredType\": \"Customers\"\r\n }\r\n ],\r\n \"serviceDate\": \"2019-12-01T00:00:00\",\r\n \"id\": \"01-294068\",\r\n \"category\": \"PSTN\",\r\n \"serviceSpecification\": {\r\n \"@type\": \"serviceSpecification\",\r\n \"id\": \"Mobile\"\r\n },\r\n \"state\": \"close\"\r\n},\n{\r\n \"feature\": [\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"20005-20403000000000195671\",\r\n \"isEnabled\": false,\r\n \"name\": \"Финансовая блокировка\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"20005\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2020-02-27T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2020-03-03T14:42:13\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Disable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"497\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4003-20403000000000013341\",\r\n \"isEnabled\": false,\r\n \"name\": \"Управление ДЗ\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"4003\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2019-12-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2022-06-30T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Disable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"497\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4010-20403000000000145507\",\r\n \"isEnabled\": false,\r\n \"name\": \"Фиксированная телефонная связь\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"4010\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2019-12-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2022-06-30T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"2\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Disable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"497\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"20005-20403000000010338466\",\r\n \"isEnabled\": false,\r\n \"name\": \"Финансовая блокировка\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"20005\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2021-03-25T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2022-06-30T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Disable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"497\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9337-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home Off-net (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9323-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home Off-net (Zone 1) \",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381464-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"ГТ Підключення лінії\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9329-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee World (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381490-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение услуги \\\"Виртуальная мобильная АТС\\\" PSTN абонентам\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9338-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Host Country (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381112-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение услуги 'Детализированный счёт'\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381528-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение любимой страны PSTN\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9359-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee World (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9304-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Penalty Fee World\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381388-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Изменение места предоставления услуг фиксированной телефонной связи (в пределах одного здания)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9343-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home Off-net (Zone 3) \",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9345-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee World (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9325-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee World (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381129-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Замена телефонного номера на Золотой номер\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9332-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home On-net (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9352-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home On-net (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381135-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Замена телефонного номера на Серебряный номер\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9336-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee (Home On-net (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9339-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee World (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9347-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home Off-net (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4260-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Адміністратор віртуальної мобільної АТС (PSTN)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9000-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Monthly Fee\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9307-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Penalty Fee World\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9205-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Roaming Access\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9348-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Host Country (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381485-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Перерегистрация л/с или переоформление договора\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4016-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Дифференцированный счет ежемесячно (PSTN)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381439-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение виртуального номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9303-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Penalty Fee Off-Net\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381568-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Підключення \\\"API FMC\\\" PSTN\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9341-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Roaming Penalty Fee (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9324-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Host Country (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381125-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение Платинового номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9326-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home On-net (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"380989-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение дополнительного номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9353-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home Off-net (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9333-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home Off-net (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"20006-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Временное приостановление предоставления услуг 10%\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381131-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение Золотого номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9321-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Roaming Penalty Fee (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9344-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Host Country (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381440-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"ГТ Заміна номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381138-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Номера \\\"Люкс\\\"\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381389-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Изменение места предоставления услуг фиксированной телефонной связи\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9301-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9306-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Penalty Fee Off-Net\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9357-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home Off-net (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9355-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee World (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9335-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee World (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9358-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Host Country (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9328-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Host Country (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381102-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение услуги фиксированной телефонной связи\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381525-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Фіксований платіж за послуги фіксованого телефонного зв'язку\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9302-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Penalty Fee On-Net\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9349-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee World (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9327-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home Off-net (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4015-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Детализация звонков\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9211-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Access\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9322-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home On-net (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9342-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home On-net (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381133-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение Серебряного номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"20007-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Временное приостановление предоставления услуг 50%\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9351-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Roaming Penalty Fee (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9334-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Host Country (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9215-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Access\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381127-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Замена телефонного номера на Платиновый номер\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381230-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Выделение доп. телефонного номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381436-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"ГТ Сервисное обслуживание оборудования\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9305-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Penalty Fee On-Net\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9346-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home On-net (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4011-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Детализированный счет ежемесячно (PSTN)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4000-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Временное приостановление предоставления услуг\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9356-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee (Home On-net (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9201-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Access\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9331-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Roaming Penalty Fee (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9354-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Host Country (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381442-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Изменение условий предоставления услуг фиксированной телефонной связи и другие начисления\",\r\n \"featureCharacteristic\": []\r\n }\r\n ],\r\n \"hasStarted\": false,\r\n \"isServiceEnabled\": true,\r\n \"relatedParty\": [\r\n {\r\n \"id\": \"269156\",\r\n \"IDType\": 0,\r\n \"@referredType\": \"Customers\"\r\n }\r\n ],\r\n \"serviceDate\": \"2019-12-01T00:00:00\",\r\n \"id\": \"01-294093\",\r\n \"category\": \"PSTN\",\r\n \"serviceSpecification\": {\r\n \"@type\": \"serviceSpecification\",\r\n \"id\": \"Mobile\"\r\n },\r\n \"state\": \"close\"\r\n},\n{\r\n \"feature\": [\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4010-20403000000000145508\",\r\n \"isEnabled\": false,\r\n \"name\": \"Фиксированная телефонная связь\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"4010\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2019-12-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2022-06-30T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Disable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"498\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4003-20403000000000176388\",\r\n \"isEnabled\": false,\r\n \"name\": \"Управление ДЗ\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"4003\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2019-12-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2022-06-30T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Disable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"498\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381131-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение Золотого номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9324-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Host Country (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9344-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Host Country (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9341-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Roaming Penalty Fee (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9333-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home Off-net (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"20006-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Временное приостановление предоставления услуг 10%\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381125-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение Платинового номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9335-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee World (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9353-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home Off-net (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381138-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Номера \\\"Люкс\\\"\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9357-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home Off-net (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9301-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381389-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Изменение места предоставления услуг фиксированной телефонной связи\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9355-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee World (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9358-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Host Country (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9321-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Roaming Penalty Fee (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381440-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"ГТ Заміна номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9306-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Penalty Fee Off-Net\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381127-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Замена телефонного номера на Платиновый номер\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9349-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee World (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9328-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Host Country (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9211-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Access\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4015-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Детализация звонков\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381102-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение услуги фиксированной телефонной связи\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9327-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home Off-net (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"20005-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Финансовая блокировка\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9302-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Penalty Fee On-Net\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9351-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Roaming Penalty Fee (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381525-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Фіксований платіж за послуги фіксованого телефонного зв'язку\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9322-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home On-net (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"20007-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Временное приостановление предоставления услуг 50%\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381230-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Выделение доп. телефонного номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9342-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home On-net (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9215-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Access\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9334-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Host Country (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9354-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Host Country (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381133-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение Серебряного номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9356-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee (Home On-net (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9329-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee World (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9331-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Roaming Penalty Fee (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4011-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Детализированный счет ежемесячно (PSTN)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381442-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Изменение условий предоставления услуг фиксированной телефонной связи и другие начисления\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9337-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home Off-net (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9304-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Penalty Fee World\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9305-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Penalty Fee On-Net\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9346-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home On-net (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9201-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Access\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381436-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"ГТ Сервисное обслуживание оборудования\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381464-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"ГТ Підключення лінії\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4000-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Временное приостановление предоставления услуг\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381490-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение услуги \\\"Виртуальная мобильная АТС\\\" PSTN абонентам\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381112-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение услуги 'Детализированный счёт'\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9359-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee World (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9343-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home Off-net (Zone 3) \",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381528-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение любимой страны PSTN\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9332-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home On-net (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381129-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Замена телефонного номера на Золотой номер\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9338-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Host Country (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9323-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home Off-net (Zone 1) \",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9325-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee World (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9345-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee World (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381135-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Замена телефонного номера на Серебряный номер\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9205-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Roaming Access\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381439-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение виртуального номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9352-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home On-net (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9347-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home Off-net (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381388-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Изменение места предоставления услуг фиксированной телефонной связи (в пределах одного здания)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9307-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Penalty Fee World\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"380989-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение дополнительного номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9348-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Host Country (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9303-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Penalty Fee Off-Net\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9336-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee (Home On-net (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381485-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Перерегистрация л/с или переоформление договора\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381568-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Підключення \\\"API FMC\\\" PSTN\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9339-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee World (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4260-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Адміністратор віртуальної мобільної АТС (PSTN)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4016-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Дифференцированный счет ежемесячно (PSTN)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9326-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home On-net (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9000-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Monthly Fee\",\r\n \"featureCharacteristic\": []\r\n }\r\n ],\r\n \"hasStarted\": false,\r\n \"isServiceEnabled\": true,\r\n \"relatedParty\": [\r\n {\r\n \"id\": \"271452\",\r\n \"IDType\": 0,\r\n \"@referredType\": \"Customers\"\r\n }\r\n ],\r\n \"serviceDate\": \"2019-12-01T00:00:00\",\r\n \"id\": \"01-294094\",\r\n \"category\": \"PSTN\",\r\n \"serviceSpecification\": {\r\n \"@type\": \"serviceSpecification\",\r\n \"id\": \"Mobile\"\r\n },\r\n \"state\": \"close\"\r\n},\n{\r\n \"feature\": [\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4003-20403000000000037202\",\r\n \"isEnabled\": false,\r\n \"name\": \"Управление ДЗ\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"4003\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2019-12-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2022-06-30T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Disable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"541\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4010-20403000000000145530\",\r\n \"isEnabled\": false,\r\n \"name\": \"Фиксированная телефонная связь\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"4010\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2019-12-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2022-06-30T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Disable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"541\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9357-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home Off-net (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9301-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9306-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Penalty Fee Off-Net\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381389-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Изменение места предоставления услуг фиксированной телефонной связи\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9335-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee World (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9321-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Roaming Penalty Fee (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9355-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee World (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381440-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"ГТ Заміна номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381127-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Замена телефонного номера на Платиновый номер\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9349-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee World (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"20005-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Финансовая блокировка\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9211-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Access\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4015-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Детализация звонков\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9328-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Host Country (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9358-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Host Country (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381102-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение услуги фиксированной телефонной связи\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9302-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Penalty Fee On-Net\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9351-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Roaming Penalty Fee (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9327-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home Off-net (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381525-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Фіксований платіж за послуги фіксованого телефонного зв'язку\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9215-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Access\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381230-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Выделение доп. телефонного номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"20007-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Временное приостановление предоставления услуг 50%\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9342-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home On-net (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9334-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Host Country (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381133-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение Серебряного номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9354-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Host Country (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9322-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home On-net (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9329-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee World (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9331-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Roaming Penalty Fee (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9356-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee (Home On-net (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381442-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Изменение условий предоставления услуг фиксированной телефонной связи и другие начисления\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9305-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Penalty Fee On-Net\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9346-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home On-net (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4011-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Детализированный счет ежемесячно (PSTN)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381464-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"ГТ Підключення лінії\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4000-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Временное приостановление предоставления услуг\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9201-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Access\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381436-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"ГТ Сервисное обслуживание оборудования\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381112-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение услуги 'Детализированный счёт'\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381490-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение услуги \\\"Виртуальная мобильная АТС\\\" PSTN абонентам\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9343-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home Off-net (Zone 3) \",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9304-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Penalty Fee World\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9337-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home Off-net (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9359-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee World (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381528-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение любимой страны PSTN\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9332-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home On-net (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381129-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Замена телефонного номера на Золотой номер\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9338-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Host Country (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9323-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home Off-net (Zone 1) \",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381135-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Замена телефонного номера на Серебряный номер\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9205-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Roaming Access\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9345-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee World (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381439-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение виртуального номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9347-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home Off-net (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9352-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home On-net (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381388-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Изменение места предоставления услуг фиксированной телефонной связи (в пределах одного здания)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9325-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee World (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9348-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Host Country (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9307-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Penalty Fee World\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"380989-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение дополнительного номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381485-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Перерегистрация л/с или переоформление договора\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4016-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Дифференцированный счет ежемесячно (PSTN)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9303-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Penalty Fee Off-Net\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9339-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee World (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9336-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee (Home On-net (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4260-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Адміністратор віртуальної мобільної АТС (PSTN)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9326-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home On-net (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9000-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Monthly Fee\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381131-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение Золотого номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9344-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Host Country (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9341-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Roaming Penalty Fee (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"20006-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Временное приостановление предоставления услуг 10%\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9333-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home Off-net (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381138-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Номера \\\"Люкс\\\"\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381125-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение Платинового номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381568-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Підключення \\\"API FMC\\\" PSTN\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9353-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home Off-net (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9324-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Host Country (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n }\r\n ],\r\n \"hasStarted\": false,\r\n \"isServiceEnabled\": true,\r\n \"relatedParty\": [\r\n {\r\n \"id\": \"263571\",\r\n \"IDType\": 0,\r\n \"@referredType\": \"Customers\"\r\n }\r\n ],\r\n \"serviceDate\": \"2019-12-01T00:00:00\",\r\n \"id\": \"01-294137\",\r\n \"category\": \"PSTN\",\r\n \"serviceSpecification\": {\r\n \"@type\": \"serviceSpecification\",\r\n \"id\": \"Mobile\"\r\n },\r\n \"state\": \"close\"\r\n},\n{\r\n \"feature\": [\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4010-20403000000000145531\",\r\n \"isEnabled\": false,\r\n \"name\": \"Фиксированная телефонная связь\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"4010\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2019-12-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2022-06-30T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Disable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"543\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4003-20403000000000176390\",\r\n \"isEnabled\": false,\r\n \"name\": \"Управление ДЗ\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"4003\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2019-12-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2022-06-30T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Disable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"543\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9341-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Roaming Penalty Fee (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9324-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Host Country (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381125-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение Платинового номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381568-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Підключення \\\"API FMC\\\" PSTN\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9326-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home On-net (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9333-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home Off-net (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"20006-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Временное приостановление предоставления услуг 10%\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381131-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение Золотого номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9353-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home Off-net (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"380989-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение дополнительного номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381440-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"ГТ Заміна номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381138-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Номера \\\"Люкс\\\"\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9321-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Roaming Penalty Fee (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9344-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Host Country (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9357-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home Off-net (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381389-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Изменение места предоставления услуг фиксированной телефонной связи\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9306-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Penalty Fee Off-Net\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9335-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee World (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9355-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee World (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9301-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9328-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Host Country (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9302-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Penalty Fee On-Net\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381525-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Фіксований платіж за послуги фіксованого телефонного зв'язку\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9349-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee World (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381102-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение услуги фиксированной телефонной связи\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9327-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home Off-net (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9211-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Access\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4015-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Детализация звонков\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9358-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Host Country (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9322-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home On-net (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381133-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение Серебряного номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9342-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home On-net (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9351-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Roaming Penalty Fee (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9334-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Host Country (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"20007-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Временное приостановление предоставления услуг 50%\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381127-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Замена телефонного номера на Платиновый номер\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381230-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Выделение доп. телефонного номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"20005-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Финансовая блокировка\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9215-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Access\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4000-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Временное приостановление предоставления услуг\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381436-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"ГТ Сервисное обслуживание оборудования\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9201-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Access\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9305-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Penalty Fee On-Net\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9356-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee (Home On-net (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4011-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Детализированный счет ежемесячно (PSTN)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381442-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Изменение условий предоставления услуг фиксированной телефонной связи и другие начисления\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9331-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Roaming Penalty Fee (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9354-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Host Country (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9346-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home On-net (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9359-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee World (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9337-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home Off-net (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9323-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home Off-net (Zone 1) \",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381464-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"ГТ Підключення лінії\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9329-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee World (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9304-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Penalty Fee World\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9338-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Host Country (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381528-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение любимой страны PSTN\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381490-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение услуги \\\"Виртуальная мобильная АТС\\\" PSTN абонентам\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381112-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение услуги 'Детализированный счёт'\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9343-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home Off-net (Zone 3) \",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381388-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Изменение места предоставления услуг фиксированной телефонной связи (в пределах одного здания)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9325-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee World (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381129-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Замена телефонного номера на Золотой номер\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9345-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee World (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9332-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home On-net (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381135-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Замена телефонного номера на Серебряный номер\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9352-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home On-net (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9000-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Monthly Fee\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9336-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee (Home On-net (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9348-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Host Country (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4260-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Адміністратор віртуальної мобільної АТС (PSTN)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4016-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Дифференцированный счет ежемесячно (PSTN)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381439-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение виртуального номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9303-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Penalty Fee Off-Net\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9307-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Penalty Fee World\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381485-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Перерегистрация л/с или переоформление договора\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9205-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Roaming Access\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9339-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee World (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9347-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home Off-net (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n }\r\n ],\r\n \"hasStarted\": false,\r\n \"isServiceEnabled\": true,\r\n \"relatedParty\": [\r\n {\r\n \"id\": \"265269\",\r\n \"IDType\": 0,\r\n \"@referredType\": \"Customers\"\r\n }\r\n ],\r\n \"serviceDate\": \"2019-12-01T00:00:00\",\r\n \"id\": \"01-294139\",\r\n \"category\": \"PSTN\",\r\n \"serviceSpecification\": {\r\n \"@type\": \"serviceSpecification\",\r\n \"id\": \"Mobile\"\r\n },\r\n \"state\": \"close\"\r\n},\n{\r\n \"feature\": [\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4003-20403000000000024904\",\r\n \"isEnabled\": false,\r\n \"name\": \"Управление ДЗ\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"4003\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2019-12-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2022-06-30T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Disable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"544\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4000-20403000000000141506\",\r\n \"isEnabled\": false,\r\n \"name\": \"Временное приостановление предоставления услуг\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"4000\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2019-12-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2022-06-30T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Disable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"544\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4010-20403000000000145532\",\r\n \"isEnabled\": false,\r\n \"name\": \"Фиксированная телефонная связь\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"4010\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2019-12-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2022-06-30T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Disable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"544\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381230-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Выделение доп. телефонного номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9215-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Access\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"20007-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Временное приостановление предоставления услуг 50%\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9342-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home On-net (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9334-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Host Country (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381133-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение Серебряного номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9354-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Host Country (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9331-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Roaming Penalty Fee (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9329-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee World (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9356-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee (Home On-net (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381442-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Изменение условий предоставления услуг фиксированной телефонной связи и другие начисления\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9304-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Penalty Fee World\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9346-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home On-net (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9305-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Penalty Fee On-Net\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4011-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Детализированный счет ежемесячно (PSTN)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9337-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home Off-net (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381464-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"ГТ Підключення лінії\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9201-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Access\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381436-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"ГТ Сервисное обслуживание оборудования\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9338-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Host Country (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381490-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение услуги \\\"Виртуальная мобильная АТС\\\" PSTN абонентам\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381528-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение любимой страны PSTN\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381112-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение услуги 'Детализированный счёт'\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9359-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee World (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9332-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home On-net (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9343-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home Off-net (Zone 3) \",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9323-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home Off-net (Zone 1) \",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381129-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Замена телефонного номера на Золотой номер\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9307-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Penalty Fee World\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9205-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Roaming Access\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381135-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Замена телефонного номера на Серебряный номер\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9345-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee World (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381439-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение виртуального номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9347-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home Off-net (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9352-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home On-net (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9325-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee World (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381388-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Изменение места предоставления услуг фиксированной телефонной связи (в пределах одного здания)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9348-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Host Country (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9326-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home On-net (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381485-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Перерегистрация л/с или переоформление договора\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4016-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Дифференцированный счет ежемесячно (PSTN)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"380989-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение дополнительного номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9303-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Penalty Fee Off-Net\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9336-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee (Home On-net (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9339-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee World (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381568-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Підключення \\\"API FMC\\\" PSTN\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4260-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Адміністратор віртуальної мобільної АТС (PSTN)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9000-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Monthly Fee\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9344-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Host Country (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9353-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home Off-net (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9333-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home Off-net (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"20006-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Временное приостановление предоставления услуг 10%\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9335-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee World (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381131-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение Золотого номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381138-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Номера \\\"Люкс\\\"\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9341-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Roaming Penalty Fee (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381125-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение Платинового номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9324-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Host Country (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9357-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home Off-net (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9301-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9306-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Penalty Fee Off-Net\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381389-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Изменение места предоставления услуг фиксированной телефонной связи\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9358-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Host Country (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9321-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Roaming Penalty Fee (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9355-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee World (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381440-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"ГТ Заміна номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9349-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee World (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9327-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home Off-net (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"20005-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Финансовая блокировка\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9351-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Roaming Penalty Fee (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4015-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Детализация звонков\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381127-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Замена телефонного номера на Платиновый номер\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9211-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Access\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9328-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Host Country (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381525-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Фіксований платіж за послуги фіксованого телефонного зв'язку\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9322-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home On-net (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381102-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение услуги фиксированной телефонной связи\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9302-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Penalty Fee On-Net\",\r\n \"featureCharacteristic\": []\r\n }\r\n ],\r\n \"hasStarted\": false,\r\n \"isServiceEnabled\": true,\r\n \"relatedParty\": [\r\n {\r\n \"id\": \"263651\",\r\n \"IDType\": 0,\r\n \"@referredType\": \"Customers\"\r\n }\r\n ],\r\n \"serviceDate\": \"2019-12-01T00:00:00\",\r\n \"id\": \"01-294140\",\r\n \"category\": \"PSTN\",\r\n \"serviceSpecification\": {\r\n \"@type\": \"serviceSpecification\",\r\n \"id\": \"Mobile\"\r\n },\r\n \"state\": \"close\"\r\n},\n{\r\n \"feature\": [\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"20005-20403000000006269772\",\r\n \"isEnabled\": false,\r\n \"name\": \"Финансовая блокировка\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"20005\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2020-04-22T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2020-04-29T13:30:33\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Disable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"549\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"20005-20403000000008950150\",\r\n \"isEnabled\": false,\r\n \"name\": \"Финансовая блокировка\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"20005\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2020-12-23T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2020-12-23T17:42:01\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Disable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"549\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4003-20403000000000017493\",\r\n \"isEnabled\": false,\r\n \"name\": \"Управление ДЗ\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"4003\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2019-12-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2022-06-30T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Disable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"549\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4010-20403000000000145536\",\r\n \"isEnabled\": false,\r\n \"name\": \"Фиксированная телефонная связь\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"4010\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2019-12-01T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2022-06-30T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Disable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"549\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"20005-20403000000011524523\",\r\n \"isEnabled\": false,\r\n \"name\": \"Финансовая блокировка\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"20005\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2022-04-22T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2022-06-30T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"Disable\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"549\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381464-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"ГТ Підключення лінії\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4000-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Временное приостановление предоставления услуг\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9201-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Access\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381436-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"ГТ Сервисное обслуживание оборудования\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9329-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee World (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9305-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Penalty Fee On-Net\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4011-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Детализированный счет ежемесячно (PSTN)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9356-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee (Home On-net (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381442-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Изменение условий предоставления услуг фиксированной телефонной связи и другие начисления\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9331-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Roaming Penalty Fee (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9346-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home On-net (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9323-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home Off-net (Zone 1) \",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381112-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение услуги 'Детализированный счёт'\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9359-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee World (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9337-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home Off-net (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9343-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home Off-net (Zone 3) \",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381528-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение любимой страны PSTN\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381129-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Замена телефонного номера на Золотой номер\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9304-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Penalty Fee World\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9332-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home On-net (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9338-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Host Country (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381490-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение услуги \\\"Виртуальная мобильная АТС\\\" PSTN абонентам\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9325-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee World (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381388-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Изменение места предоставления услуг фиксированной телефонной связи (в пределах одного здания)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9345-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee World (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381439-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение виртуального номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9205-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Roaming Access\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381135-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Замена телефонного номера на Серебряный номер\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9347-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home Off-net (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9352-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home On-net (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"380989-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение дополнительного номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9000-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Monthly Fee\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9336-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee (Home On-net (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9348-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Host Country (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4260-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Адміністратор віртуальної мобільної АТС (PSTN)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381485-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Перерегистрация л/с или переоформление договора\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4016-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Дифференцированный счет ежемесячно (PSTN)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9303-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Penalty Fee Off-Net\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9307-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Penalty Fee World\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9339-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee World (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9326-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home On-net (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381131-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение Золотого номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9324-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Host Country (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381138-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Номера \\\"Люкс\\\"\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9341-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Roaming Penalty Fee (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9344-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Host Country (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381568-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Підключення \\\"API FMC\\\" PSTN\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9353-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home Off-net (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9333-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home Off-net (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"20006-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Временное приостановление предоставления услуг 10%\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381125-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение Платинового номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381440-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"ГТ Заміна номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9321-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Roaming Penalty Fee (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9357-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home Off-net (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9335-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee World (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381389-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Изменение места предоставления услуг фиксированной телефонной связи\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9301-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9306-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Penalty Fee Off-Net\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9355-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee World (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381525-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Фіксований платіж за послуги фіксованого телефонного зв'язку\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9302-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Penalty Fee On-Net\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9349-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee World (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9328-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Host Country (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"4015-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Детализация звонков\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381102-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение услуги фиксированной телефонной связи\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9211-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Access\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9358-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Host Country (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9327-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home Off-net (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9342-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home On-net (Zone 3)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9322-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home On-net (Zone 1)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381127-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Замена телефонного номера на Платиновый номер\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9334-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Host Country (Zone 2)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381133-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Подключение Серебряного номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"381230-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Выделение доп. телефонного номера\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9215-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Access\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"20007-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"Временное приостановление предоставления услуг 50%\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9354-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Host Country (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9351-0\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Roaming Penalty Fee (Zone 4)\",\r\n \"featureCharacteristic\": []\r\n }\r\n ],\r\n \"hasStarted\": false,\r\n \"isServiceEnabled\": true,\r\n \"relatedParty\": [\r\n {\r\n \"id\": \"269770\",\r\n \"IDType\": 0,\r\n \"@referredType\": \"Customers\"\r\n }\r\n ],\r\n \"serviceDate\": \"2019-12-01T00:00:00\",\r\n \"id\": \"01-294145\",\r\n \"category\": \"PSTN\",\r\n \"serviceSpecification\": {\r\n \"@type\": \"serviceSpecification\",\r\n \"id\": \"Mobile\"\r\n },\r\n \"state\": \"close\"\r\n}\r\n]\r\n" + }, + { + "name": "Non-activated Service (by ID)", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "Accept", + "value": "application/json;charset=utf-8" + }, + { + "key": "Content-Type", + "value": "application/json;charset=utf-8" + }, + { + "key": "x-ms-client-request-id", + "value": "20412345678903142363799", + "disabled": true + }, + { + "key": "Accept-Language", + "value": "en" + } + ], + "body": { + "mode": "raw", + "raw": "" + }, + "url": { + "raw": "{{API}}/api/v2/tmf/service/{{Service_id}}", + "host": [ + "{{API}}" + ], + "path": [ + "api", + "v2", + "tmf", + "service", + "{{Service_id}}" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "plain", + "header": [ + { + "key": "Transfer-Encoding", + "value": "chunked" + }, + { + "key": "Content-Type", + "value": "text/plain; charset=utf-8" + }, + { + "key": "Content-Encoding", + "value": "gzip" + }, + { + "key": "Content-Range", + "value": "items 1-1/1" + }, + { + "key": "Vary", + "value": "Accept-Encoding" + }, + { + "key": "Accept-Language", + "value": "en" + }, + { + "key": "x-ms-client-request-id", + "value": "e4d7c75d-c001-4de1-85f1-73c54dda" + }, + { + "key": "X-Total-Count", + "value": "1" + }, + { + "key": "X-Page-Count", + "value": "1" + }, + { + "key": "cacheStatus", + "value": "Added" + }, + { + "key": "Access-Control-Allow-Methods", + "value": "GET, PUT, POST, DELETE, OPTIONS, HEAD" + }, + { + "key": "Access-Control-Allow-Headers", + "value": "Authorization,Pragma,Cache-control,Content-type" + }, + { + "key": "Access-Control-Allow-Credentials", + "value": "true" + }, + { + "key": "Date", + "value": "Mon, 13 May 2024 02:51:52 GMT" + } + ], + "cookie": [], + "body": "{\r\n \"feature\": [\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9001-0\",\r\n \"isEnabled\": false,\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9201-0\",\r\n \"isEnabled\": false,\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9204-0\",\r\n \"isEnabled\": false,\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9205-0\",\r\n \"isEnabled\": false,\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9211-0\",\r\n \"isEnabled\": false,\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9214-0\",\r\n \"isEnabled\": false,\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9215-0\",\r\n \"isEnabled\": false,\r\n \"featureCharacteristic\": []\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9301-20403000000011757217\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9301\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2024-05-13T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"NotOrd\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295949\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9321-20403000000011757218\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Roaming Penalty Fee (Zone 1)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9321\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2024-05-13T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"NotOrd\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295949\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9331-20403000000011757219\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Roaming Penalty Fee (Zone 2)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9331\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2024-05-13T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"NotOrd\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295949\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9000-20403000000011757174\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Monthly Fee\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9000\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2024-05-13T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"NotOrd\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295949\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9303-20403000000011757176\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Penalty Fee Off-Net\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9303\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2024-05-13T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"NotOrd\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295949\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9302-20403000000011757177\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Penalty Fee On-Net\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9302\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2024-05-13T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"NotOrd\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295949\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9304-20403000000011757178\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Penalty Fee World\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9304\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2024-05-13T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"NotOrd\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295949\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9323-20403000000011757180\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home Off-net (Zone 1) \",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9323\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2024-05-13T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"NotOrd\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295949\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9333-20403000000011757181\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home Off-net (Zone 2)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9333\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2024-05-13T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"NotOrd\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295949\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9322-20403000000011757182\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home On-net (Zone 1)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9322\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2024-05-13T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"NotOrd\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295949\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9332-20403000000011757183\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home On-net (Zone 2)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9332\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2024-05-13T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"NotOrd\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295949\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9324-20403000000011757184\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Host Country (Zone 1)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9324\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2024-05-13T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"NotOrd\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295949\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9334-20403000000011757185\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Host Country (Zone 2)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9334\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2024-05-13T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"NotOrd\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295949\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9325-20403000000011757186\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee World (Zone 1)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9325\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2024-05-13T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"NotOrd\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295949\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9335-20403000000011757187\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee World (Zone 2)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9335\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2024-05-13T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"NotOrd\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295949\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9306-20403000000011757189\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Penalty Fee Off-Net\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9306\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2024-05-13T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"NotOrd\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295949\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9305-20403000000011757190\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Penalty Fee On-Net\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9305\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2024-05-13T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"NotOrd\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295949\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9307-20403000000011757191\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Penalty Fee World\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9307\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2024-05-13T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"NotOrd\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295949\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9336-20403000000011757193\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee (Home On-net (Zone 2)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9336\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2024-05-13T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"NotOrd\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295949\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9327-20403000000011757194\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home Off-net (Zone 1)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9327\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2024-05-13T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"NotOrd\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295949\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9337-20403000000011757195\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home Off-net (Zone 2)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9337\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2024-05-13T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"NotOrd\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295949\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9326-20403000000011757196\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home On-net (Zone 1)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9326\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2024-05-13T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"NotOrd\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295949\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9328-20403000000011757197\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Host Country (Zone 1)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9328\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2024-05-13T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"NotOrd\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295949\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9338-20403000000011757198\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Host Country (Zone 2)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9338\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2024-05-13T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"NotOrd\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295949\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9341-20403000000011757220\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Roaming Penalty Fee (Zone 3)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9341\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2024-05-13T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"NotOrd\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295949\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9351-20403000000011757221\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Data Transmition Roaming Penalty Fee (Zone 4)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9351\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2024-05-13T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"NotOrd\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295949\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9343-20403000000011757199\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home Off-net (Zone 3) \",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9343\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2024-05-13T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"NotOrd\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295949\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9353-20403000000011757200\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home Off-net (Zone 4)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9353\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2024-05-13T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"NotOrd\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295949\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9342-20403000000011757201\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home On-net (Zone 3)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9342\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2024-05-13T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"NotOrd\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295949\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9352-20403000000011757202\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Home On-net (Zone 4)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9352\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2024-05-13T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"NotOrd\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295949\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9344-20403000000011757203\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Host Country (Zone 3)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9344\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2024-05-13T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"NotOrd\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295949\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9354-20403000000011757204\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee Host Country (Zone 4)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9354\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2024-05-13T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"NotOrd\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295949\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9345-20403000000011757205\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee World (Zone 3)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9345\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2024-05-13T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"NotOrd\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295949\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9355-20403000000011757206\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M SMS Roaming Penalty Fee World (Zone 4)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9355\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2024-05-13T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"NotOrd\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295949\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9356-20403000000011757207\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee (Home On-net (Zone 4)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9356\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2024-05-13T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"NotOrd\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295949\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9347-20403000000011757208\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home Off-net (Zone 3)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9347\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2024-05-13T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"NotOrd\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295949\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9357-20403000000011757209\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home Off-net (Zone 4)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9357\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2024-05-13T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"NotOrd\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295949\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9346-20403000000011757210\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Home On-net (Zone 3)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9346\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2024-05-13T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"NotOrd\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295949\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9348-20403000000011757211\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Host Country (Zone 3)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9348\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2024-05-13T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"NotOrd\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295949\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9358-20403000000011757212\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee Host Country (Zone 4)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9358\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2024-05-13T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"NotOrd\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295949\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9329-20403000000011757213\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee World (Zone 1)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9329\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2024-05-13T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"NotOrd\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295949\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9339-20403000000011757214\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee World (Zone 2)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9339\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2024-05-13T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"NotOrd\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295949\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9349-20403000000011757215\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee World (Zone 3)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9349\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2024-05-13T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"NotOrd\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295949\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n },\r\n {\r\n \"@type\": \"Feature\",\r\n \"id\": \"9359-20403000000011757216\",\r\n \"isEnabled\": false,\r\n \"name\": \"M2M Voice Roaming Penalty Fee World (Zone 4)\",\r\n \"featureCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceCode\",\r\n \"name\": \"ServiceCode\",\r\n \"value\": \"9359\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateSet\",\r\n \"name\": \"DateSet\",\r\n \"value\": \"2024-05-13T00:00:00\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"DateDrop\",\r\n \"name\": \"DateDrop\",\r\n \"value\": \"2999-12-31T23:59:59\",\r\n \"valueType\": \"datetime\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"Count\",\r\n \"name\": \"Count\",\r\n \"value\": \"1\",\r\n \"valueType\": \"Number\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"StatusCode\",\r\n \"name\": \"StatusCode\",\r\n \"value\": \"NotOrd\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"ServiceType\",\r\n \"name\": \"ServiceType\",\r\n \"value\": \"Traffic charge\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"TemplateSubscriptionID\",\r\n \"name\": \"TemplateSubscriptionID\",\r\n \"value\": \"6295949\",\r\n \"valueType\": \"string\"\r\n }\r\n ]\r\n }\r\n ],\r\n \"hasStarted\": false,\r\n \"isServiceEnabled\": false,\r\n \"relatedParty\": [\r\n {\r\n \"id\": \"7702209\",\r\n \"IDType\": 0,\r\n \"@referredType\": \"Customers\"\r\n }\r\n ],\r\n \"serviceDate\": \"2024-05-13T00:00:00\",\r\n \"id\": \"01-7702876\",\r\n \"category\": \"GSM\",\r\n \"serviceCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"MSISDN\",\r\n \"name\": \"MSISDN\",\r\n \"value\": \"671234567\",\r\n \"valueType\": \"string\"\r\n }\r\n ],\r\n \"serviceSpecification\": {\r\n \"@type\": \"serviceSpecification\",\r\n \"id\": \"Mobile\"\r\n },\r\n \"state\": \"created\",\r\n \"supportingService\": [\r\n {\r\n \"@type\": \"Service\",\r\n \"serviceCharacteristic\": [\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"scrd_IMSI\",\r\n \"value\": \"255030621983768\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"scrt_Code\",\r\n \"value\": \"UNI\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"scrg_Code\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"scrg_ID\",\r\n \"valueType\": \"integer\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"scrd_ICC\",\r\n \"value\": \"893800399222225840\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"scrd_PUK1\",\r\n \"value\": \"01231234\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"scrd_PUK2\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"scrd_PIN1\",\r\n \"value\": \"0123\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"scrd_PIN2\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"scrs_Code\",\r\n \"value\": \"activ\",\r\n \"valueType\": \"string\"\r\n },\r\n {\r\n \"@type\": \"Characteristic\",\r\n \"id\": \"scrd_ExpirationDate\",\r\n \"valueType\": \"date-time\"\r\n }\r\n ],\r\n \"serviceSpecification\": {\r\n \"id\": \"SIM\"\r\n },\r\n \"state\": \"activ\"\r\n }\r\n ]\r\n}" + } + ] + }, + { + "name": "Retrive Service History", + "protocolProfileBehavior": { + "disableBodyPruning": true + }, + "request": { + "auth": { + "type": "basic", + "basic": [ + { + "key": "username", + "value": "login", + "type": "string" + }, + { + "key": "password", + "value": "password", + "type": "string" + } + ] + }, + "method": "GET", + "header": [ + { + "key": "Accept", + "value": "application/json;charset=utf-8" + }, + { + "key": "Content-Type", + "value": "application/json;charset=utf-8" + }, + { + "key": "x-ms-client-request-id", + "value": "20412345678903142363799" + }, + { + "key": "Accept-Language", + "value": "en" + }, + { + "key": "Authorization", + "value": "Basic ZmNzX3VzZXI6Z2V0WWZaeSpMS1lQ" + } + ], + "body": { + "mode": "raw", + "raw": "{}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{API}}/api/v2/tmf/service?offset=0&limit=50&serviceCharacteristic=[{\"valueType\":\"string\",\"id\":\"MSISDN\",\"value\":\"380911111125\"}]&servicedate=2024-09-19T00:00:00", + "host": [ + "{{API}}" + ], + "path": [ + "api", + "v2", + "tmf", + "service" + ], + "query": [ + { + "key": "offset", + "value": "0" + }, + { + "key": "limit", + "value": "50" + }, + { + "key": "serviceCharacteristic", + "value": "[{\"valueType\":\"string\",\"id\":\"MSISDN\",\"value\":\"380911111125\"}]" + }, + { + "key": "servicedate", + "value": "2024-09-19T00:00:00" + } + ] + }, + "description": "Generated from cURL: curl --location --globoff --request GET 'https://localhost:443/api/v2/tmf/service?offset=0&limit=50&serviceCharacteristic=[{%22valueType%22%3A%22string%22%2C%22id%22%3A%22MSISDN%22%2C%22value%22%3A%22380911111125%22}]&sort=-id' \\\n--header 'Accept: application/json;charset=utf-8' \\\n--header 'Content-Type: application/json;charset=utf-8' \\\n--header 'x-ms-client-request-id: 20412345678903142363799' \\\n--header 'Accept-Language: en' \\\n--header 'Authorization: Basic ZmNzX3VzZXI6Z2V0WWZaeSpMS1lQ' \\\n--data '{}'" + }, + "response": [ + { + "name": "Retrive Service History", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "Accept", + "value": "application/json;charset=utf-8" + }, + { + "key": "Content-Type", + "value": "application/json;charset=utf-8" + }, + { + "key": "x-ms-client-request-id", + "value": "20412345678903142363799" + }, + { + "key": "Accept-Language", + "value": "en" + }, + { + "key": "Authorization", + "value": "Basic ZmNzX3VzZXI6Z2V0WWZaeSpMS1lQ" + } + ], + "body": { + "mode": "raw", + "raw": "{}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://localhost:443/api/v2/tmf/service?offset=0&limit=50&serviceCharacteristic=[{\"valueType\":\"string\",\"id\":\"MSISDN\",\"value\":\"380911111125\"}]", + "protocol": "https", + "host": [ + "localhost" + ], + "port": "443", + "path": [ + "api", + "v2", + "tmf", + "service" + ], + "query": [ + { + "key": "offset", + "value": "0" + }, + { + "key": "limit", + "value": "50" + }, + { + "key": "serviceCharacteristic", + "value": "[{\"valueType\":\"string\",\"id\":\"MSISDN\",\"value\":\"380911111125\"}]" + } + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "plain", + "header": [ + { + "key": "Date", + "value": "Mon, 28 Oct 2024 14:03:53 GMT" + }, + { + "key": "Content-Type", + "value": "text/plain; charset=utf-8" + }, + { + "key": "Transfer-Encoding", + "value": "chunked" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "Content-Range", + "value": "items 1-3/3" + }, + { + "key": "Accept-Language", + "value": "uk" + }, + { + "key": "x-ms-client-request-id", + "value": "9b76961d-639e-4952-a11a-47544846" + }, + { + "key": "X-Total-Count", + "value": "3" + }, + { + "key": "X-Page-Count", + "value": "1" + }, + { + "key": "cacheStatus", + "value": "Added" + }, + { + "key": "Access-Control-Allow-Credentials", + "value": "true" + }, + { + "key": "Access-Control-Allow-Headers", + "value": "Authorization,Pragma,Cache-control,Content-type,X-Requested-With" + }, + { + "key": "Access-Control-Allow-Methods", + "value": "GET,POST,PUT,DELETE,HEAD,OPTIONS" + }, + { + "key": "Strict-Transport-Security", + "value": "max-age=31536000" + }, + { + "key": "Content-Security-Policy", + "value": "img-src https: data:; upgrade-insecure-requests" + }, + { + "key": "Content-Encoding", + "value": "gzip" + } + ], + "cookie": [], + "body": "[\n{\n \"feature\": [\n {\n \"@type\": \"Feature\",\n \"id\": \"9000-20403000000011719652\",\n \"isEnabled\": false,\n \"name\": \"M2M Monthly Fee\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9000-20403000000011719845\",\n \"isEnabled\": false,\n \"name\": \"M2M Monthly Fee\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9000-20403000000011719854\",\n \"isEnabled\": true,\n \"name\": \"M2M Monthly Fee\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9215-20403000000011719653\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9215\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9215-20403000000011719846\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9215\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9215-20403000000011719855\",\n \"isEnabled\": true,\n \"name\": \"M2M Data Transmition Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9215\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9301-20403000000011719656\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9301\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9301-20403000000011719849\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9301\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9301-20403000000011719858\",\n \"isEnabled\": true,\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9301\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9201-20403000000011719654\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9201\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9201-20403000000011719847\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9201\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9201-20403000000011719856\",\n \"isEnabled\": true,\n \"name\": \"M2M SMS Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9201\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9304-20403000000011719657\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee World\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9304\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9304-20403000000011719850\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee World\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9304\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9304-20403000000011719859\",\n \"isEnabled\": true,\n \"name\": \"M2M SMS Penalty Fee World\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9304\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9204-20403000000011719655\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9204\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9204-20403000000011719848\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9204\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9204-20403000000011719857\",\n \"isEnabled\": true,\n \"name\": \"M2M Voice Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9204\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9308-20403000000011719658\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9308\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9308-20403000000011719851\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9308\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9308-20403000000011719860\",\n \"isEnabled\": true,\n \"name\": \"M2M SMS Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9308\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9309-20403000000011719659\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9309\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9309-20403000000011719852\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9309\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9309-20403000000011719861\",\n \"isEnabled\": true,\n \"name\": \"M2M Voice Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9309\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9000-20403000000011719652\",\n \"isEnabled\": false,\n \"name\": \"M2M Monthly Fee\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9000-20403000000011719845\",\n \"isEnabled\": false,\n \"name\": \"M2M Monthly Fee\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9000-20403000000011719854\",\n \"isEnabled\": true,\n \"name\": \"M2M Monthly Fee\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9215-20403000000011719653\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9215\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9215-20403000000011719846\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9215\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9215-20403000000011719855\",\n \"isEnabled\": true,\n \"name\": \"M2M Data Transmition Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9215\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9301-20403000000011719656\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9301\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9301-20403000000011719849\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9301\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9301-20403000000011719858\",\n \"isEnabled\": true,\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9301\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9201-20403000000011719654\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9201\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9201-20403000000011719847\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9201\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9201-20403000000011719856\",\n \"isEnabled\": true,\n \"name\": \"M2M SMS Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9201\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9304-20403000000011719657\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee World\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9304\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9304-20403000000011719850\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee World\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9304\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9304-20403000000011719859\",\n \"isEnabled\": true,\n \"name\": \"M2M SMS Penalty Fee World\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9304\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9204-20403000000011719655\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9204\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9204-20403000000011719848\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9204\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9204-20403000000011719857\",\n \"isEnabled\": true,\n \"name\": \"M2M Voice Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9204\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9308-20403000000011719658\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9308\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9308-20403000000011719851\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9308\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9308-20403000000011719860\",\n \"isEnabled\": true,\n \"name\": \"M2M SMS Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9308\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9309-20403000000011719659\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9309\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9309-20403000000011719852\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9309\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9309-20403000000011719861\",\n \"isEnabled\": true,\n \"name\": \"M2M Voice Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9309\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9000-20403000000011719652\",\n \"isEnabled\": false,\n \"name\": \"M2M Monthly Fee\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9000-20403000000011719845\",\n \"isEnabled\": false,\n \"name\": \"M2M Monthly Fee\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9000-20403000000011719854\",\n \"isEnabled\": true,\n \"name\": \"M2M Monthly Fee\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9215-20403000000011719653\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9215\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9215-20403000000011719846\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9215\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9215-20403000000011719855\",\n \"isEnabled\": true,\n \"name\": \"M2M Data Transmition Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9215\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9301-20403000000011719656\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9301\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9301-20403000000011719849\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9301\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9301-20403000000011719858\",\n \"isEnabled\": true,\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9301\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9201-20403000000011719654\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9201\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9201-20403000000011719847\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9201\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9201-20403000000011719856\",\n \"isEnabled\": true,\n \"name\": \"M2M SMS Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9201\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9304-20403000000011719657\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee World\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9304\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9304-20403000000011719850\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee World\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9304\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9304-20403000000011719859\",\n \"isEnabled\": true,\n \"name\": \"M2M SMS Penalty Fee World\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9304\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9204-20403000000011719655\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9204\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9204-20403000000011719848\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9204\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9204-20403000000011719857\",\n \"isEnabled\": true,\n \"name\": \"M2M Voice Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9204\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9308-20403000000011719658\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9308\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9308-20403000000011719851\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9308\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9308-20403000000011719860\",\n \"isEnabled\": true,\n \"name\": \"M2M SMS Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9308\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9309-20403000000011719659\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9309\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9309-20403000000011719852\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9309\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9309-20403000000011719861\",\n \"isEnabled\": true,\n \"name\": \"M2M Voice Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9309\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9000-20403000000011719652\",\n \"isEnabled\": false,\n \"name\": \"M2M Monthly Fee\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9000-20403000000011719845\",\n \"isEnabled\": false,\n \"name\": \"M2M Monthly Fee\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9000-20403000000011719854\",\n \"isEnabled\": true,\n \"name\": \"M2M Monthly Fee\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9215-20403000000011719653\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9215\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9215-20403000000011719846\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9215\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9215-20403000000011719855\",\n \"isEnabled\": true,\n \"name\": \"M2M Data Transmition Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9215\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9301-20403000000011719656\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9301\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9301-20403000000011719849\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9301\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9301-20403000000011719858\",\n \"isEnabled\": true,\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9301\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9201-20403000000011719654\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9201\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9201-20403000000011719847\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9201\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9201-20403000000011719856\",\n \"isEnabled\": true,\n \"name\": \"M2M SMS Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9201\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9304-20403000000011719657\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee World\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9304\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9304-20403000000011719850\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee World\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9304\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9304-20403000000011719859\",\n \"isEnabled\": true,\n \"name\": \"M2M SMS Penalty Fee World\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9304\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9204-20403000000011719655\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9204\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9204-20403000000011719848\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9204\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9204-20403000000011719857\",\n \"isEnabled\": true,\n \"name\": \"M2M Voice Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9204\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9308-20403000000011719658\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9308\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9308-20403000000011719851\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9308\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9308-20403000000011719860\",\n \"isEnabled\": true,\n \"name\": \"M2M SMS Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9308\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9309-20403000000011719659\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9309\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9309-20403000000011719852\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9309\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9309-20403000000011719861\",\n \"isEnabled\": true,\n \"name\": \"M2M Voice Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9309\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n }\n ],\n \"hasStarted\": false,\n \"isServiceEnabled\": true,\n \"relatedParty\": [\n {\n \"id\": \"7702651\",\n \"IDType\": 0,\n \"@referredType\": \"Customers\"\n }\n ],\n \"serviceDate\": \"2024-06-07T00:00:00\",\n \"id\": \"01-7703229\",\n \"category\": \"GSM\",\n \"serviceCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"MSISDN\",\n \"name\": \"MSISDN\",\n \"value\": \"380911111125\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"MSISDN\",\n \"name\": \"MSISDN\",\n \"value\": \"380911111125\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"MSISDN\",\n \"name\": \"MSISDN\",\n \"value\": \"380911111125\",\n \"valueType\": \"string\"\n }\n ],\n \"serviceSpecification\": {\n \"@type\": \"serviceSpecification\",\n \"id\": \"Mobile\"\n },\n \"state\": \"activ\",\n \"supportingService\": [\n {\n \"@type\": \"Service\",\n \"serviceCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_IMSI\",\n \"value\": \"255030621984334\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrt_Code\",\n \"value\": \"UNI\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrg_Code\",\n \"value\": \"default\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrg_ID\",\n \"value\": \"3\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_ICC\",\n \"value\": \"893800399222226406\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_PUK1\",\n \"value\": \"51167603\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_PUK2\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_PIN1\",\n \"value\": \"1111\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_PIN2\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrs_Code\",\n \"value\": \"temp\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_ExpirationDate\",\n \"valueType\": \"date-time\"\n }\n ],\n \"serviceSpecification\": {\n \"id\": \"SIM\"\n },\n \"state\": \"temp\",\n \"id\": \"02-24\"\n },\n {\n \"@type\": \"Service\",\n \"serviceCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_IMSI\",\n \"value\": \"255030621984334\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrt_Code\",\n \"value\": \"UNI\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrg_Code\",\n \"value\": \"default\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrg_ID\",\n \"value\": \"3\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_ICC\",\n \"value\": \"893800399222226406\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_PUK1\",\n \"value\": \"51167603\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_PUK2\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_PIN1\",\n \"value\": \"1111\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_PIN2\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrs_Code\",\n \"value\": \"temp\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_ExpirationDate\",\n \"valueType\": \"date-time\"\n }\n ],\n \"serviceSpecification\": {\n \"id\": \"SIM\"\n },\n \"state\": \"temp\",\n \"id\": \"02-24\"\n },\n {\n \"@type\": \"Service\",\n \"serviceCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_IMSI\",\n \"value\": \"255030621984334\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrt_Code\",\n \"value\": \"UNI\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrg_Code\",\n \"value\": \"default\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrg_ID\",\n \"value\": \"3\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_ICC\",\n \"value\": \"893800399222226406\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_PUK1\",\n \"value\": \"51167603\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_PUK2\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_PIN1\",\n \"value\": \"1111\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_PIN2\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrs_Code\",\n \"value\": \"temp\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_ExpirationDate\",\n \"valueType\": \"date-time\"\n }\n ],\n \"serviceSpecification\": {\n \"id\": \"SIM\"\n },\n \"state\": \"temp\",\n \"id\": \"02-24\"\n }\n ]\n},\n{\n \"feature\": [\n {\n \"@type\": \"Feature\",\n \"id\": \"9000-20403000000011719652\",\n \"isEnabled\": false,\n \"name\": \"M2M Monthly Fee\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9000-20403000000011719845\",\n \"isEnabled\": false,\n \"name\": \"M2M Monthly Fee\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9000-20403000000011719854\",\n \"isEnabled\": true,\n \"name\": \"M2M Monthly Fee\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9215-20403000000011719653\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9215\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9215-20403000000011719846\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9215\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9215-20403000000011719855\",\n \"isEnabled\": true,\n \"name\": \"M2M Data Transmition Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9215\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9301-20403000000011719656\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9301\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9301-20403000000011719849\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9301\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9301-20403000000011719858\",\n \"isEnabled\": true,\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9301\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9201-20403000000011719654\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9201\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9201-20403000000011719847\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9201\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9201-20403000000011719856\",\n \"isEnabled\": true,\n \"name\": \"M2M SMS Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9201\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9304-20403000000011719657\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee World\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9304\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9304-20403000000011719850\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee World\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9304\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9304-20403000000011719859\",\n \"isEnabled\": true,\n \"name\": \"M2M SMS Penalty Fee World\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9304\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9204-20403000000011719655\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9204\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9204-20403000000011719848\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9204\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9204-20403000000011719857\",\n \"isEnabled\": true,\n \"name\": \"M2M Voice Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9204\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9308-20403000000011719658\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9308\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9308-20403000000011719851\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9308\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9308-20403000000011719860\",\n \"isEnabled\": true,\n \"name\": \"M2M SMS Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9308\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9309-20403000000011719659\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9309\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9309-20403000000011719852\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9309\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9309-20403000000011719861\",\n \"isEnabled\": true,\n \"name\": \"M2M Voice Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9309\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9000-20403000000011719652\",\n \"isEnabled\": false,\n \"name\": \"M2M Monthly Fee\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9000-20403000000011719845\",\n \"isEnabled\": false,\n \"name\": \"M2M Monthly Fee\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9000-20403000000011719854\",\n \"isEnabled\": true,\n \"name\": \"M2M Monthly Fee\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9215-20403000000011719653\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9215\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9215-20403000000011719846\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9215\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9215-20403000000011719855\",\n \"isEnabled\": true,\n \"name\": \"M2M Data Transmition Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9215\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9301-20403000000011719656\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9301\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9301-20403000000011719849\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9301\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9301-20403000000011719858\",\n \"isEnabled\": true,\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9301\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9201-20403000000011719654\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9201\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9201-20403000000011719847\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9201\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9201-20403000000011719856\",\n \"isEnabled\": true,\n \"name\": \"M2M SMS Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9201\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9304-20403000000011719657\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee World\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9304\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9304-20403000000011719850\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee World\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9304\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9304-20403000000011719859\",\n \"isEnabled\": true,\n \"name\": \"M2M SMS Penalty Fee World\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9304\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9204-20403000000011719655\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9204\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9204-20403000000011719848\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9204\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9204-20403000000011719857\",\n \"isEnabled\": true,\n \"name\": \"M2M Voice Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9204\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9308-20403000000011719658\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9308\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9308-20403000000011719851\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9308\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9308-20403000000011719860\",\n \"isEnabled\": true,\n \"name\": \"M2M SMS Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9308\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9309-20403000000011719659\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9309\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9309-20403000000011719852\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9309\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9309-20403000000011719861\",\n \"isEnabled\": true,\n \"name\": \"M2M Voice Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9309\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9000-20403000000011719652\",\n \"isEnabled\": false,\n \"name\": \"M2M Monthly Fee\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9000-20403000000011719845\",\n \"isEnabled\": false,\n \"name\": \"M2M Monthly Fee\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9000-20403000000011719854\",\n \"isEnabled\": true,\n \"name\": \"M2M Monthly Fee\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9215-20403000000011719653\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9215\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9215-20403000000011719846\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9215\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9215-20403000000011719855\",\n \"isEnabled\": true,\n \"name\": \"M2M Data Transmition Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9215\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9301-20403000000011719656\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9301\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9301-20403000000011719849\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9301\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9301-20403000000011719858\",\n \"isEnabled\": true,\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9301\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9201-20403000000011719654\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9201\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9201-20403000000011719847\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9201\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9201-20403000000011719856\",\n \"isEnabled\": true,\n \"name\": \"M2M SMS Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9201\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9304-20403000000011719657\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee World\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9304\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9304-20403000000011719850\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee World\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9304\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9304-20403000000011719859\",\n \"isEnabled\": true,\n \"name\": \"M2M SMS Penalty Fee World\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9304\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9204-20403000000011719655\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9204\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9204-20403000000011719848\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9204\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9204-20403000000011719857\",\n \"isEnabled\": true,\n \"name\": \"M2M Voice Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9204\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9308-20403000000011719658\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9308\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9308-20403000000011719851\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9308\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9308-20403000000011719860\",\n \"isEnabled\": true,\n \"name\": \"M2M SMS Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9308\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9309-20403000000011719659\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9309\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9309-20403000000011719852\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9309\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9309-20403000000011719861\",\n \"isEnabled\": true,\n \"name\": \"M2M Voice Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9309\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9000-20403000000011719652\",\n \"isEnabled\": false,\n \"name\": \"M2M Monthly Fee\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9000-20403000000011719845\",\n \"isEnabled\": false,\n \"name\": \"M2M Monthly Fee\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9000-20403000000011719854\",\n \"isEnabled\": true,\n \"name\": \"M2M Monthly Fee\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9215-20403000000011719653\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9215\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9215-20403000000011719846\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9215\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9215-20403000000011719855\",\n \"isEnabled\": true,\n \"name\": \"M2M Data Transmition Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9215\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9301-20403000000011719656\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9301\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9301-20403000000011719849\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9301\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9301-20403000000011719858\",\n \"isEnabled\": true,\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9301\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9201-20403000000011719654\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9201\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9201-20403000000011719847\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9201\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9201-20403000000011719856\",\n \"isEnabled\": true,\n \"name\": \"M2M SMS Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9201\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9304-20403000000011719657\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee World\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9304\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9304-20403000000011719850\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee World\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9304\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9304-20403000000011719859\",\n \"isEnabled\": true,\n \"name\": \"M2M SMS Penalty Fee World\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9304\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9204-20403000000011719655\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9204\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9204-20403000000011719848\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9204\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9204-20403000000011719857\",\n \"isEnabled\": true,\n \"name\": \"M2M Voice Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9204\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9308-20403000000011719658\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9308\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9308-20403000000011719851\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9308\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9308-20403000000011719860\",\n \"isEnabled\": true,\n \"name\": \"M2M SMS Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9308\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9309-20403000000011719659\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9309\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9309-20403000000011719852\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9309\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9309-20403000000011719861\",\n \"isEnabled\": true,\n \"name\": \"M2M Voice Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9309\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n }\n ],\n \"hasStarted\": false,\n \"isServiceEnabled\": true,\n \"relatedParty\": [\n {\n \"id\": \"7702651\",\n \"IDType\": 0,\n \"@referredType\": \"Customers\"\n }\n ],\n \"serviceDate\": \"2024-09-20T00:00:00\",\n \"id\": \"01-7703229\",\n \"category\": \"GSM\",\n \"serviceCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"MSISDN\",\n \"name\": \"MSISDN\",\n \"value\": \"380911111125\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"MSISDN\",\n \"name\": \"MSISDN\",\n \"value\": \"380911111125\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"MSISDN\",\n \"name\": \"MSISDN\",\n \"value\": \"380911111125\",\n \"valueType\": \"string\"\n }\n ],\n \"serviceSpecification\": {\n \"@type\": \"serviceSpecification\",\n \"id\": \"Mobile\"\n },\n \"state\": \"activ\",\n \"supportingService\": [\n {\n \"@type\": \"Service\",\n \"serviceCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_IMSI\",\n \"value\": \"255030621984334\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrt_Code\",\n \"value\": \"UNI\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrg_Code\",\n \"value\": \"default\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrg_ID\",\n \"value\": \"3\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_ICC\",\n \"value\": \"893800399222226406\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_PUK1\",\n \"value\": \"51167603\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_PUK2\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_PIN1\",\n \"value\": \"1111\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_PIN2\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrs_Code\",\n \"value\": \"temp\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_ExpirationDate\",\n \"valueType\": \"date-time\"\n }\n ],\n \"serviceSpecification\": {\n \"id\": \"SIM\"\n },\n \"state\": \"temp\",\n \"id\": \"02-24\"\n },\n {\n \"@type\": \"Service\",\n \"serviceCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_IMSI\",\n \"value\": \"255030621984334\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrt_Code\",\n \"value\": \"UNI\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrg_Code\",\n \"value\": \"default\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrg_ID\",\n \"value\": \"3\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_ICC\",\n \"value\": \"893800399222226406\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_PUK1\",\n \"value\": \"51167603\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_PUK2\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_PIN1\",\n \"value\": \"1111\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_PIN2\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrs_Code\",\n \"value\": \"temp\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_ExpirationDate\",\n \"valueType\": \"date-time\"\n }\n ],\n \"serviceSpecification\": {\n \"id\": \"SIM\"\n },\n \"state\": \"temp\",\n \"id\": \"02-24\"\n },\n {\n \"@type\": \"Service\",\n \"serviceCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_IMSI\",\n \"value\": \"255030621984334\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrt_Code\",\n \"value\": \"UNI\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrg_Code\",\n \"value\": \"default\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrg_ID\",\n \"value\": \"3\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_ICC\",\n \"value\": \"893800399222226406\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_PUK1\",\n \"value\": \"51167603\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_PUK2\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_PIN1\",\n \"value\": \"1111\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_PIN2\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrs_Code\",\n \"value\": \"temp\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_ExpirationDate\",\n \"valueType\": \"date-time\"\n }\n ],\n \"serviceSpecification\": {\n \"id\": \"SIM\"\n },\n \"state\": \"temp\",\n \"id\": \"02-24\"\n }\n ]\n},\n{\n \"feature\": [\n {\n \"@type\": \"Feature\",\n \"id\": \"9000-20403000000011719652\",\n \"isEnabled\": false,\n \"name\": \"M2M Monthly Fee\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9000-20403000000011719845\",\n \"isEnabled\": false,\n \"name\": \"M2M Monthly Fee\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9000-20403000000011719854\",\n \"isEnabled\": true,\n \"name\": \"M2M Monthly Fee\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9215-20403000000011719653\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9215\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9215-20403000000011719846\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9215\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9215-20403000000011719855\",\n \"isEnabled\": true,\n \"name\": \"M2M Data Transmition Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9215\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9301-20403000000011719656\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9301\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9301-20403000000011719849\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9301\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9301-20403000000011719858\",\n \"isEnabled\": true,\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9301\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9201-20403000000011719654\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9201\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9201-20403000000011719847\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9201\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9201-20403000000011719856\",\n \"isEnabled\": true,\n \"name\": \"M2M SMS Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9201\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9304-20403000000011719657\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee World\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9304\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9304-20403000000011719850\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee World\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9304\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9304-20403000000011719859\",\n \"isEnabled\": true,\n \"name\": \"M2M SMS Penalty Fee World\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9304\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9204-20403000000011719655\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9204\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9204-20403000000011719848\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9204\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9204-20403000000011719857\",\n \"isEnabled\": true,\n \"name\": \"M2M Voice Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9204\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9308-20403000000011719658\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9308\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9308-20403000000011719851\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9308\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9308-20403000000011719860\",\n \"isEnabled\": true,\n \"name\": \"M2M SMS Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9308\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9309-20403000000011719659\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9309\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9309-20403000000011719852\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9309\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9309-20403000000011719861\",\n \"isEnabled\": true,\n \"name\": \"M2M Voice Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9309\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9000-20403000000011719652\",\n \"isEnabled\": false,\n \"name\": \"M2M Monthly Fee\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9000-20403000000011719845\",\n \"isEnabled\": false,\n \"name\": \"M2M Monthly Fee\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9000-20403000000011719854\",\n \"isEnabled\": true,\n \"name\": \"M2M Monthly Fee\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9215-20403000000011719653\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9215\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9215-20403000000011719846\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9215\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9215-20403000000011719855\",\n \"isEnabled\": true,\n \"name\": \"M2M Data Transmition Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9215\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9301-20403000000011719656\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9301\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9301-20403000000011719849\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9301\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9301-20403000000011719858\",\n \"isEnabled\": true,\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9301\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9201-20403000000011719654\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9201\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9201-20403000000011719847\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9201\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9201-20403000000011719856\",\n \"isEnabled\": true,\n \"name\": \"M2M SMS Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9201\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9304-20403000000011719657\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee World\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9304\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9304-20403000000011719850\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee World\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9304\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9304-20403000000011719859\",\n \"isEnabled\": true,\n \"name\": \"M2M SMS Penalty Fee World\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9304\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9204-20403000000011719655\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9204\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9204-20403000000011719848\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9204\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9204-20403000000011719857\",\n \"isEnabled\": true,\n \"name\": \"M2M Voice Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9204\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9308-20403000000011719658\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9308\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9308-20403000000011719851\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9308\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9308-20403000000011719860\",\n \"isEnabled\": true,\n \"name\": \"M2M SMS Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9308\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9309-20403000000011719659\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9309\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9309-20403000000011719852\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9309\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9309-20403000000011719861\",\n \"isEnabled\": true,\n \"name\": \"M2M Voice Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9309\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9000-20403000000011719652\",\n \"isEnabled\": false,\n \"name\": \"M2M Monthly Fee\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9000-20403000000011719845\",\n \"isEnabled\": false,\n \"name\": \"M2M Monthly Fee\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9000-20403000000011719854\",\n \"isEnabled\": true,\n \"name\": \"M2M Monthly Fee\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9215-20403000000011719653\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9215\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9215-20403000000011719846\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9215\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9215-20403000000011719855\",\n \"isEnabled\": true,\n \"name\": \"M2M Data Transmition Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9215\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9301-20403000000011719656\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9301\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9301-20403000000011719849\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9301\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9301-20403000000011719858\",\n \"isEnabled\": true,\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9301\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9201-20403000000011719654\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9201\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9201-20403000000011719847\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9201\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9201-20403000000011719856\",\n \"isEnabled\": true,\n \"name\": \"M2M SMS Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9201\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9304-20403000000011719657\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee World\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9304\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9304-20403000000011719850\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee World\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9304\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9304-20403000000011719859\",\n \"isEnabled\": true,\n \"name\": \"M2M SMS Penalty Fee World\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9304\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9204-20403000000011719655\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9204\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9204-20403000000011719848\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9204\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9204-20403000000011719857\",\n \"isEnabled\": true,\n \"name\": \"M2M Voice Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9204\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9308-20403000000011719658\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9308\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9308-20403000000011719851\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9308\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9308-20403000000011719860\",\n \"isEnabled\": true,\n \"name\": \"M2M SMS Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9308\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9309-20403000000011719659\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9309\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9309-20403000000011719852\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9309\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9309-20403000000011719861\",\n \"isEnabled\": true,\n \"name\": \"M2M Voice Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9309\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9000-20403000000011719652\",\n \"isEnabled\": false,\n \"name\": \"M2M Monthly Fee\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9000-20403000000011719845\",\n \"isEnabled\": false,\n \"name\": \"M2M Monthly Fee\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9000-20403000000011719854\",\n \"isEnabled\": true,\n \"name\": \"M2M Monthly Fee\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9215-20403000000011719653\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9215\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9215-20403000000011719846\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9215\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9215-20403000000011719855\",\n \"isEnabled\": true,\n \"name\": \"M2M Data Transmition Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9215\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9301-20403000000011719656\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9301\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9301-20403000000011719849\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9301\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9301-20403000000011719858\",\n \"isEnabled\": true,\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9301\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9201-20403000000011719654\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9201\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9201-20403000000011719847\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9201\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9201-20403000000011719856\",\n \"isEnabled\": true,\n \"name\": \"M2M SMS Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9201\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9304-20403000000011719657\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee World\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9304\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9304-20403000000011719850\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee World\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9304\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9304-20403000000011719859\",\n \"isEnabled\": true,\n \"name\": \"M2M SMS Penalty Fee World\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9304\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9204-20403000000011719655\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9204\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9204-20403000000011719848\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9204\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9204-20403000000011719857\",\n \"isEnabled\": true,\n \"name\": \"M2M Voice Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9204\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Послуга-блокер\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9308-20403000000011719658\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9308\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9308-20403000000011719851\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9308\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9308-20403000000011719860\",\n \"isEnabled\": true,\n \"name\": \"M2M SMS Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9308\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9309-20403000000011719659\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9309\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-06-07T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-18T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295626\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9309-20403000000011719852\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9309\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9309-20403000000011719861\",\n \"isEnabled\": true,\n \"name\": \"M2M Voice Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9309\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-20T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"EnableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Нарахування трафіку\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295732\",\n \"valueType\": \"string\"\n }\n ]\n }\n ],\n \"hasStarted\": false,\n \"isServiceEnabled\": true,\n \"relatedParty\": [\n {\n \"id\": \"7702651\",\n \"IDType\": 0,\n \"@referredType\": \"Customers\"\n }\n ],\n \"serviceDate\": \"2024-09-19T00:00:00\",\n \"id\": \"01-7703229\",\n \"category\": \"GSM\",\n \"serviceCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"MSISDN\",\n \"name\": \"MSISDN\",\n \"value\": \"380911111125\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"MSISDN\",\n \"name\": \"MSISDN\",\n \"value\": \"380911111125\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"MSISDN\",\n \"name\": \"MSISDN\",\n \"value\": \"380911111125\",\n \"valueType\": \"string\"\n }\n ],\n \"serviceSpecification\": {\n \"@type\": \"serviceSpecification\",\n \"id\": \"Mobile\"\n },\n \"state\": \"activ\",\n \"supportingService\": [\n {\n \"@type\": \"Service\",\n \"serviceCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_IMSI\",\n \"value\": \"255030621984334\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrt_Code\",\n \"value\": \"UNI\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrg_Code\",\n \"value\": \"default\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrg_ID\",\n \"value\": \"3\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_ICC\",\n \"value\": \"893800399222226406\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_PUK1\",\n \"value\": \"51167603\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_PUK2\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_PIN1\",\n \"value\": \"1111\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_PIN2\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrs_Code\",\n \"value\": \"temp\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_ExpirationDate\",\n \"valueType\": \"date-time\"\n }\n ],\n \"serviceSpecification\": {\n \"id\": \"SIM\"\n },\n \"state\": \"temp\",\n \"id\": \"02-24\"\n },\n {\n \"@type\": \"Service\",\n \"serviceCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_IMSI\",\n \"value\": \"255030621984334\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrt_Code\",\n \"value\": \"UNI\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrg_Code\",\n \"value\": \"default\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrg_ID\",\n \"value\": \"3\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_ICC\",\n \"value\": \"893800399222226406\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_PUK1\",\n \"value\": \"51167603\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_PUK2\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_PIN1\",\n \"value\": \"1111\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_PIN2\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrs_Code\",\n \"value\": \"temp\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_ExpirationDate\",\n \"valueType\": \"date-time\"\n }\n ],\n \"serviceSpecification\": {\n \"id\": \"SIM\"\n },\n \"state\": \"temp\",\n \"id\": \"02-24\"\n },\n {\n \"@type\": \"Service\",\n \"serviceCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_IMSI\",\n \"value\": \"255030621984334\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrt_Code\",\n \"value\": \"UNI\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrg_Code\",\n \"value\": \"default\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrg_ID\",\n \"value\": \"3\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_ICC\",\n \"value\": \"893800399222226406\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_PUK1\",\n \"value\": \"51167603\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_PUK2\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_PIN1\",\n \"value\": \"1111\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_PIN2\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrs_Code\",\n \"value\": \"temp\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_ExpirationDate\",\n \"valueType\": \"date-time\"\n }\n ],\n \"serviceSpecification\": {\n \"id\": \"SIM\"\n },\n \"state\": \"temp\",\n \"id\": \"02-24\"\n }\n ]\n}\n]\n" + }, + { + "name": "Retrive Service History by Date", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "Accept", + "value": "application/json;charset=utf-8" + }, + { + "key": "Content-Type", + "value": "application/json;charset=utf-8" + }, + { + "key": "x-ms-client-request-id", + "value": "20412345678903142363799" + }, + { + "key": "Accept-Language", + "value": "en" + }, + { + "key": "Authorization", + "value": "Basic ZmNzX3VzZXI6Z2V0WWZaeSpMS1lQ" + } + ], + "body": { + "mode": "raw", + "raw": "", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{API}}/api/v2/tmf/service?serviceCharacteristic=[{\"valueType\":\"string\",\"id\":\"MSISDN\",\"value\":\"380911111125\"}]&servicedate=2024-09-19T00:00:00", + "host": [ + "{{API}}" + ], + "path": [ + "api", + "v2", + "tmf", + "service" + ], + "query": [ + { + "key": "serviceCharacteristic", + "value": "[{\"valueType\":\"string\",\"id\":\"MSISDN\",\"value\":\"380911111125\"}]" + }, + { + "key": "servicedate", + "value": "2024-09-19T00:00:00" + } + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "plain", + "header": [ + { + "key": "Date", + "value": "Wed, 19 Feb 2025 15:09:26 GMT" + }, + { + "key": "Content-Type", + "value": "text/plain; charset=utf-8" + }, + { + "key": "Transfer-Encoding", + "value": "chunked" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "Content-Range", + "value": "items 1-1/1" + }, + { + "key": "Accept-Language", + "value": "en" + }, + { + "key": "x-ms-client-request-id", + "value": "20412345678903142363799" + }, + { + "key": "X-Total-Count", + "value": "1" + }, + { + "key": "X-Page-Count", + "value": "1" + }, + { + "key": "cacheStatus", + "value": "Added" + }, + { + "key": "x-execution-status", + "value": "done" + }, + { + "key": "Access-Control-Allow-Credentials", + "value": "true" + }, + { + "key": "Access-Control-Allow-Headers", + "value": "Authorization,Pragma,Cache-control,Content-type,X-Requested-With" + }, + { + "key": "Access-Control-Allow-Methods", + "value": "GET,POST,PUT,DELETE,HEAD,OPTIONS" + }, + { + "key": "Strict-Transport-Security", + "value": "max-age=31536000" + }, + { + "key": "Content-Security-Policy", + "value": "img-src https: data:; upgrade-insecure-requests" + }, + { + "key": "Content-Encoding", + "value": "gzip" + } + ], + "cookie": [], + "body": "[\n{\n \"feature\": [\n {\n \"@type\": \"Feature\",\n \"id\": \"9000-20403000000011719845\",\n \"isEnabled\": false,\n \"name\": \"M2M Monthly Fee\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Charge\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9215-20403000000011719846\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9215\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Blocker service\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9201-20403000000011719847\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9201\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Blocker service\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9204-20403000000011719848\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9204\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Blocker service\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9301-20403000000011719849\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9301\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Traffic charge\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9304-20403000000011719850\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee World\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9304\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Traffic charge\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9308-20403000000011719851\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9308\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Traffic charge\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9309-20403000000011719852\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9309\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2024-09-19T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2024-09-19T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"DisableOnChange\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Traffic charge\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6295728\",\n \"valueType\": \"string\"\n }\n ]\n }\n ],\n \"hasStarted\": false,\n \"isServiceEnabled\": false,\n \"relatedParty\": [\n {\n \"id\": \"7702651\",\n \"IDType\": 0,\n \"@referredType\": \"Customers\"\n }\n ],\n \"serviceDate\": \"2024-09-19T00:00:00\",\n \"id\": \"01-7703229\",\n \"category\": \"GSM\",\n \"serviceCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"MSISDN\",\n \"name\": \"MSISDN\",\n \"value\": \"380911111125\",\n \"valueType\": \"string\"\n }\n ],\n \"serviceSpecification\": {\n \"@type\": \"serviceSpecification\",\n \"id\": \"Mobile\"\n },\n \"state\": \"activ\",\n \"supportingService\": [\n {\n \"@type\": \"Service\",\n \"serviceCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_IMSI\",\n \"value\": \"255030621984334\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrt_Code\",\n \"value\": \"UNI\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrg_Code\",\n \"value\": \"default\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrg_ID\",\n \"value\": \"3\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_ICC\",\n \"value\": \"893800399222226406\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_PUK1\",\n \"value\": \"51167603\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_PUK2\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_PIN1\",\n \"value\": \"1111\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_PIN2\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrs_Code\",\n \"value\": \"temp\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_ExpirationDate\",\n \"valueType\": \"date-time\"\n }\n ],\n \"serviceSpecification\": {\n \"id\": \"SIM\"\n },\n \"state\": \"temp\",\n \"id\": \"02-24\"\n }\n ]\n}\n]\n" + } + ] + }, + { + "name": "By ID", + "request": { + "auth": { + "type": "basic", + "basic": [ + { + "key": "username", + "value": "login", + "type": "string" + }, + { + "key": "password", + "value": "password", + "type": "string" + } + ] + }, + "method": "GET", + "header": [ + { + "key": "Accept", + "value": "application/json;charset=utf-8", + "type": "text" + }, + { + "key": "Content-Type", + "value": "application/json;charset=utf-8", + "type": "text" + }, + { + "key": "x-ms-client-request-id", + "value": "20412345678903142363799", + "type": "text" + }, + { + "key": "Accept-Language", + "value": "en", + "type": "text" + } + ], + "url": { + "raw": "{{API}}/api/v2/tmf/service/{{Service_id}}", + "host": [ + "{{API}}" + ], + "path": [ + "api", + "v2", + "tmf", + "service", + "{{Service_id}}" + ] + } + }, + "response": [] + }, + { + "name": "Activate a Service", + "request": { + "auth": { + "type": "basic", + "basic": [ + { + "key": "password", + "value": "password", + "type": "string" + }, + { + "key": "username", + "value": "login", + "type": "string" + } + ] + }, + "method": "PUT", + "header": [ + { + "key": "Accept", + "value": "application/json;charset=utf-8" + }, + { + "key": "Content-Type", + "value": "application/json;charset=utf-8" + }, + { + "key": "Accept-Language", + "value": "en" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"@type\":\"Service\",\n \"serviceCharacteristic\":[\n {\n \"valueType\":\"string\",\n \"id\":\"MSISDN\",\n \"value\":\"{{msisdn}}\"\n }\n ],\n \"serviceDate\":\"{{startDate}}\",\n \"state\":\"{{Active_state}}\",\n \"startDate\":\"{{startDate}}\",\n \"serviceSpecification\":{\n \"@type\":\"serviceSpecification\",\n \"id\":\"Mobile\"\n },\n \"note\":[\n {\n \"author\":\"domain+username\",\n \"hostname\":\"localhost\",\n \"text\":\"handle several services\",\n \"@type\":\"Note\"\n }\n ],\n \"supportingService\":[\n {\n\n \"@type\":\"Service\",\n \"serviceSpecification\":{\n \"@type\":\"serviceSpecification\",\n \"id\":\"SIM\"\n },\n \"state\":\"{{Active_state}}\",\n \"serviceCharacteristic\":[\n {\n \"valueType\":\"string\",\n \"id\":\"scrd_IMSI\",\n \"value\":\"{{IMSI}}\",\n \"@type\":\"Characteristic\"\n },\n {\n \"valueType\":\"string\",\n \"id\":\"scrt_Code\",\n \"value\":\"UNI\",\n \"@type\":\"Characteristic\"\n },\n {\n \"valueType\":\"string\",\n \"id\":\"scrg_Code\",\n \"value\":\"{{SIM_group}}\",\n \"@type\":\"Characteristic\"\n },\n {\n \"valueType\":\"string\",\n \"id\":\"scrd_ICC\",\n \"value\":\"{{ICC}}\",\n \"@type\":\"Characteristic\"\n },\n {\n \"valueType\":\"string\",\n \"id\":\"scrd_PUK1\",\n \"value\":\"{{PUK1}}\",\n \"@type\":\"Characteristic\"\n },\n {\n \"valueType\":\"string\",\n \"id\":\"scrd_PUK2\",\n \"value\":\"{{PUK2}}\",\n \"@type\":\"Characteristic\"\n },\n {\n \"valueType\":\"string\",\n \"id\":\"scrd_PIN1\",\n \"value\":\"{{PIN1}}\",\n \"@type\":\"Characteristic\"\n },\n {\n \"valueType\":\"string\",\n \"id\":\"scrd_PIN2\",\n \"value\":\"{{PIN2}}\",\n \"@type\":\"Characteristic\"\n },\n {\n \"valueType\":\"date-time\",\n \"id\":\"scrd_ExpirationDate\",\n \"value\":\"2999-12-31T23:59:59.997Z\",\n \"@type\":\"Characteristic\"\n }\n ]\n }\n ],\n \"feature\":[\n {\n \"@type\":\"Feature\",\n \"isEnabled\":false,\n \"featureCharacteristic\":[\n {\n \"id\":\"ServiceCode\",\n \"valueType\":\"string\",\n \"value\":\"{{Srv_Code1}}\",\n \"@type\":\"Characteristic\"\n },\n {\n \"id\":\"StatusCode\",\n \"valueType\":\"String\",\n \"value\":\"FinBlock\",\n \"@type\":\"Characteristic\"\n }\n ]\n },\n {\n \"@type\":\"Feature\",\n \"isEnabled\":false,\n \"featureCharacteristic\":[\n {\n \"id\":\"ServiceCode\",\n \"valueType\":\"string\",\n \"value\":\"{{Srv_Code2}}\",\n \"@type\":\"Characteristic\"\n },\n {\n \"id\":\"StatusCode\",\n \"valueType\":\"String\",\n \"value\":\"FinBlock\",\n \"@type\":\"Characteristic\"\n }\n ]\n }\n]\n}" + }, + "url": { + "raw": "{{API}}/api/v2/tmf/service/{{Service_id}}", + "host": [ + "{{API}}" + ], + "path": [ + "api", + "v2", + "tmf", + "service", + "{{Service_id}}" + ] + }, + "description": "This operation updates partially a Service entity." + }, + "response": [ + { + "name": "SUCCESS", + "originalRequest": { + "method": "PUT", + "header": [ + { + "key": "Accept", + "value": "application/json;charset=utf-8" + }, + { + "key": "Content-Type", + "value": "application/json;charset=utf-8" + }, + { + "key": "Accept-Language", + "value": "en" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"category\" : \"1\",\n \"description\" : \"Creating services\",\n \"hasStarted\" : true,\n \"isServiceEnabled\" : true,\n \"serviceDate\" : \"2025-02-05T12:49:05.050Z\",\n \"startDate\" : \"2025-02-05T12:49:05.050Z\",\n \"state\" : \"activ\",\n \"note\" :\n [\n {\n \"@type\" : \"Note\",\n \"author\" : \"example-author\",\n \"text\" : \"M2M Activation\"\n }\n ],\n \"relatedParty\" :\n [\n {\n \"@referredType\" : \"Customers\",\n \"id\" : \"9031408\"\n }\n ],\n \"serviceCharacteristic\" :\n [\n {\n \"id\" : \"MSISDN\",\n \"value\" : \"380671884293\",\n \"valueType\" : \"string\"\n }\n ],\n \"supportingService\" :\n [\n {\n \"@type\" : \"Service\",\n \"state\" : \"activ\",\n \"serviceCharacteristic\" :\n [\n {\n \"id\" : \"scrd_IMSI\",\n \"value\" : \"255030645328856\",\n \"valueType\" : \"string\"\n },\n {\n \"id\" : \"scrt_Code\",\n \"value\" : \"UNI\",\n \"valueType\" : \"string\"\n },\n {\n \"id\" : \"scrg_Code\",\n \"value\" : \"default\",\n \"valueType\" : \"string\"\n },\n {\n \"id\" : \"scrd_ICC\",\n \"value\" : \"893800399296739639\",\n \"valueType\" : \"string\"\n },\n {\n \"id\" : \"scrd_PUK1\",\n \"value\" : \"94728831\",\n \"valueType\" : \"string\"\n },\n {\n \"id\" : \"scrd_PUK2\",\n \"value\" : \"89313440\",\n \"valueType\" : \"string\"\n },\n {\n \"id\" : \"scrd_PIN1\",\n \"value\" : \"1111\",\n \"valueType\" : \"string\"\n },\n {\n \"id\" : \"scrd_PIN2\",\n \"value\" : \"7772\",\n \"valueType\" : \"string\"\n },\n {\n \"id\" : \"scrs_Code\",\n \"value\" : \"activ\",\n \"valueType\" : \"string\"\n },\n {\n \"id\" : \"scrd_ExpirationDate\",\n \"value\" : \"2099-12-31T23:59:59.999Z\",\n \"valueType\" : \"date-time\"\n }\n ]\n }\n ],\n \"@type\" : \"Service\",\n \"id\" : \"01-9774134\"\n}" + }, + "url": { + "raw": "{{API}}/api/v2/tmf/service/01-9774134", + "host": [ + "{{API}}" + ], + "path": [ + "api", + "v2", + "tmf", + "service", + "01-9774134" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Date", + "value": "Wed, 05 Feb 2025 11:26:55 GMT" + }, + { + "key": "Content-Type", + "value": "application/json; charset=utf-8" + }, + { + "key": "Content-Length", + "value": "1035" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "x-execution-status", + "value": "done" + }, + { + "key": "Access-Control-Allow-Credentials", + "value": "true" + }, + { + "key": "Access-Control-Allow-Headers", + "value": "Authorization,Pragma,Cache-control,Content-type,X-Requested-With" + }, + { + "key": "Access-Control-Allow-Methods", + "value": "GET,POST,PUT,DELETE,HEAD,OPTIONS" + }, + { + "key": "Strict-Transport-Security", + "value": "max-age=31536000" + }, + { + "key": "Content-Security-Policy", + "value": "img-src https: data:; upgrade-insecure-requests" + } + ], + "cookie": [], + "body": "{\n \"relatedParty\": [\n {\n \"id\": \"9031408\",\n \"@referredType\": \"Customers\"\n }\n ],\n \"category\": \"1\",\n \"feature\": [\n {}\n ],\n \"hasStarted\": true,\n \"isServiceEnabled\": true,\n \"serviceCharacteristic\": [\n {\n \"id\": \"MSISDN\",\n \"value\": \"380671884293\",\n \"valueType\": \"string\"\n }\n ],\n \"serviceDate\": \"2025-02-05T12:49:05.05Z\",\n \"startDate\": \"2025-02-05T12:49:05.05Z\",\n \"state\": \"activ\",\n \"id\": \"01-9774134\",\n \"supportingService\": [\n {\n \"@type\": \"Service\",\n \"serviceCharacteristic\": [\n {\n \"id\": \"scrd_IMSI\",\n \"value\": \"255030645328856\",\n \"valueType\": \"string\"\n },\n {\n \"id\": \"scrt_Code\",\n \"value\": \"UNI\",\n \"valueType\": \"string\"\n },\n {\n \"id\": \"scrg_Code\",\n \"value\": \"default\",\n \"valueType\": \"string\"\n },\n {\n \"id\": \"scrd_ICC\",\n \"value\": \"893800399296739639\",\n \"valueType\": \"string\"\n },\n {\n \"id\": \"scrd_PUK1\",\n \"value\": \"94728831\",\n \"valueType\": \"string\"\n },\n {\n \"id\": \"scrd_PUK2\",\n \"value\": \"89313440\",\n \"valueType\": \"string\"\n },\n {\n \"id\": \"scrd_PIN1\",\n \"value\": \"1111\",\n \"valueType\": \"string\"\n },\n {\n \"id\": \"scrd_PIN2\",\n \"value\": \"7772\",\n \"valueType\": \"string\"\n },\n {\n \"id\": \"scrs_Code\",\n \"value\": \"activ\",\n \"valueType\": \"string\"\n },\n {\n \"id\": \"scrd_ExpirationDate\",\n \"value\": \"2099-12-31T23:59:59.999Z\",\n \"valueType\": \"date-time\"\n }\n ],\n \"state\": \"activ\"\n }\n ]\n}" + } + ] + }, + { + "name": "Disable a Service Feature", + "request": { + "auth": { + "type": "basic", + "basic": [ + { + "key": "username", + "value": "login", + "type": "string" + }, + { + "key": "password", + "value": "password", + "type": "string" + } + ] + }, + "method": "PUT", + "header": [ + { + "key": "Accept", + "value": "application/json;charset=utf-8" + }, + { + "key": "Content-Type", + "value": "application/json;charset=utf-8" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"@type\":\"Service\",\n \"serviceSpecification\":{\n \"@type\":\"serviceSpecification\",\n \"id\":\"Mobile\"\n },\n \"note\":[\n {\n \"author\":\"domain+username\",\n \"hostname\":\"localhost\",\n \"text\":\"handle states of two services Srv_Code1 and Srv_Code2\",\n \"@type\":\"Note\"\n }\n ],\n \"feature\":[\n {\n \"@type\":\"Feature\",\n \"isEnabled\":false,\n \"featureCharacteristic\":[\n {\n \"id\":\"ServiceCode\",\n \"valueType\":\"string\",\n \"value\":\"{{Srv_Code1}}\",\n \"@type\":\"Characteristic\"\n }\n ]\n },\n {\n \"@type\":\"Feature\",\n \"isEnabled\":false,\n \"featureCharacteristic\":[\n {\n \"id\":\"ServiceCode\",\n \"valueType\":\"string\",\n \"value\":\"{{Srv_Code2}}\"\n }\n ]\n }\n ]\n}" + }, + "url": { + "raw": "{{API}}/api/v2/tmf/service/{{Service_id}}", + "host": [ + "{{API}}" + ], + "path": [ + "api", + "v2", + "tmf", + "service", + "{{Service_id}}" + ] + }, + "description": "This operation updates partially a Service entity." + }, + "response": [ + { + "name": "SUCCESS", + "originalRequest": { + "method": "PUT", + "header": [ + { + "key": "Accept", + "value": "application/json;charset=utf-8" + }, + { + "key": "Content-Type", + "value": "application/json;charset=utf-8" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"note\":[\n {\n \"author\":\"domain+username\",\n \"hostname\":\"localhost\",\n \"text\":\"creating GSM services\",\n \"@type\":\"Note\"\n }\n ],\n \"feature\":[\n {\n \"@type\":\"Feature\",\n \"isEnabled\":false,\n \"featureCharacteristic\":[\n {\n \"id\":\"ServiceCode\",\n \"valueType\":\"string\",\n \"value\":\"{{Srv_Code1}}\"\n },\n {\n \"id\":\"StatusCode\",\n \"valueType\":\"String\",\n \"value\":\"FinBlock\"\n }\n ]\n },\n {\n \"@type\":\"Feature\",\n \"isEnabled\":false,\n \"featureCharacteristic\":[\n {\n \"id\":\"ServiceCode\",\n \"valueType\":\"string\",\n \"value\":\"{{Srv_Code2}}\"\n },\n {\n \"id\":\"StatusCode\",\n \"valueType\":\"String\",\n \"value\":\"FinBlock\"\n }\n ]\n }\n]\n}" + }, + "url": { + "raw": "{{API}}/api/v2/tmf/service/{{Service_id}}", + "host": [ + "{{API}}" + ], + "path": [ + "api", + "v2", + "tmf", + "service", + "{{Service_id}}" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Length", + "value": "441" + }, + { + "key": "Content-Type", + "value": "application/json; charset=utf-8" + }, + { + "key": "Access-Control-Allow-Methods", + "value": "GET, PUT, POST, DELETE, OPTIONS, HEAD" + }, + { + "key": "Access-Control-Allow-Headers", + "value": "Authorization,Pragma,Cache-control,Content-type" + }, + { + "key": "Access-Control-Allow-Credentials", + "value": "true" + }, + { + "key": "Date", + "value": "Fri, 22 Mar 2024 08:32:50 GMT" + } + ], + "cookie": [], + "body": "{\n \"relatedParty\": [\n {}\n ],\n \"feature\": [\n {\n \"@type\": \"Feature\",\n \"isEnabled\": false,\n \"featureCharacteristic\": [\n {\n \"id\": \"ServiceCode\",\n \"value\": \"9215\",\n \"valueType\": \"string\"\n },\n {\n \"id\": \"StatusCode\",\n \"value\": \"FinBlock\",\n \"valueType\": \"String\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"isEnabled\": false,\n \"featureCharacteristic\": [\n {\n \"id\": \"ServiceCode\",\n \"value\": \"9201\",\n \"valueType\": \"string\"\n },\n {\n \"id\": \"StatusCode\",\n \"value\": \"FinBlock\",\n \"valueType\": \"String\"\n }\n ]\n }\n ],\n \"serviceCharacteristic\": [\n {}\n ],\n \"id\": \"01-294042\"\n}" + } + ] + }, + { + "name": "Enable a Service Feature", + "request": { + "method": "PUT", + "header": [ + { + "key": "Accept", + "value": "application/json;charset=utf-8" + }, + { + "key": "Content-Type", + "value": "application/json;charset=utf-8" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"note\":[\n {\n \"author\":\"domain+username\",\n \"hostname\":\"localhost\",\n \"text\":\"enable Features for GSM services\",\n \"@type\":\"Note\"\n }\n ],\n \"feature\":[\n {\n \"@type\":\"Feature\",\n \"isEnabled\":true,\n \"featureCharacteristic\":[\n {\n \"id\":\"ServiceCode\",\n \"valueType\":\"string\",\n \"value\":\"{{Srv_Code1}}\",\n \"@type\":\"Characteristic\"\n }\n ]\n },\n {\n \"@type\":\"Feature\",\n \"isEnabled\":true,\n \"featureCharacteristic\":[\n {\n \"id\":\"ServiceCode\",\n \"valueType\":\"string\",\n \"value\":\"{{Srv_Code2}}\",\n \"@type\":\"Characteristic\"\n }\n ]\n }\n]\n}" + }, + "url": { + "raw": "{{API}}/api/v2/tmf/service/{{Service_id}}", + "host": [ + "{{API}}" + ], + "path": [ + "api", + "v2", + "tmf", + "service", + "{{Service_id}}" + ] + }, + "description": "This operation updates partially a Service entity." + }, + "response": [ + { + "name": "SUCCESS", + "originalRequest": { + "method": "PUT", + "header": [ + { + "key": "Accept", + "value": "application/json;charset=utf-8" + }, + { + "key": "Content-Type", + "value": "application/json;charset=utf-8" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"note\":[\n {\n \"author\":\"domain+username\",\n \"hostname\":\"localhost\",\n \"text\":\"creating GSM services\",\n \"@type\":\"Note\"\n }\n ],\n \"feature\":[\n {\n \"@type\":\"Feature\",\n \"isEnabled\":true,\n \"featureCharacteristic\":[\n {\n \"id\":\"ServiceCode\",\n \"valueType\":\"string\",\n \"value\":\"{{Srv_Code1}}\"\n }\n ]\n },\n {\n \"@type\":\"Feature\",\n \"isEnabled\":true,\n \"featureCharacteristic\":[\n {\n \"id\":\"ServiceCode\",\n \"valueType\":\"string\",\n \"value\":\"{{Srv_Code2}}\"\n }\n ]\n }\n]\n}" + }, + "url": { + "raw": "{{API}}/api/v2/tmf/service/{{Service_id}}", + "host": [ + "{{API}}" + ], + "path": [ + "api", + "v2", + "tmf", + "service", + "{{Service_id}}" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Length", + "value": "319" + }, + { + "key": "Content-Type", + "value": "application/json; charset=utf-8" + }, + { + "key": "Access-Control-Allow-Methods", + "value": "GET, PUT, POST, DELETE, OPTIONS, HEAD" + }, + { + "key": "Access-Control-Allow-Headers", + "value": "Authorization,Pragma,Cache-control,Content-type" + }, + { + "key": "Access-Control-Allow-Credentials", + "value": "true" + }, + { + "key": "Date", + "value": "Fri, 22 Mar 2024 08:34:22 GMT" + } + ], + "cookie": [], + "body": "{\n \"relatedParty\": [\n {}\n ],\n \"feature\": [\n {\n \"@type\": \"Feature\",\n \"isEnabled\": true,\n \"featureCharacteristic\": [\n {\n \"id\": \"ServiceCode\",\n \"value\": \"9215\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"isEnabled\": true,\n \"featureCharacteristic\": [\n {\n \"id\": \"ServiceCode\",\n \"value\": \"9201\",\n \"valueType\": \"string\"\n }\n ]\n }\n ],\n \"serviceCharacteristic\": [\n {}\n ],\n \"id\": \"01-294042\"\n}" + } + ] + }, + { + "name": "Change both statuses", + "request": { + "auth": { + "type": "basic", + "basic": [ + { + "key": "username", + "value": "login", + "type": "string" + }, + { + "key": "password", + "value": "password", + "type": "string" + } + ] + }, + "method": "PUT", + "header": [ + { + "key": "Accept", + "value": "application/json;charset=utf-8" + }, + { + "key": "Content-Type", + "value": "application/json;charset=utf-8" + }, + { + "key": "Accept-Language", + "value": "en", + "type": "text" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"@type\":\"Service\",\n \"serviceSpecification\":{\n \"@type\":\"serviceSpecification\",\n \"id\":\"Mobile\"\n },\n \"note\":[\n {\n \"author\":\"domain+username\",\n \"hostname\":\"localhost\",\n \"text\":\"disabling GSM sim card\",\n \"@type\":\"Note\"\n }\n ],\n \"supportingService\":[\n {\n \"id\": \"02-42\",\n \"@type\":\"Service\",\n \"serviceSpecification\":{\n \"@type\":\"serviceSpecification\",\n \"id\":\"SIM\"\n },\n \"serviceCharacteristic\":[\n {\n \"@type\":\"Characteristic\",\n \"id\":\"scrd_ICC\",\n \"value\":\"228012176510739\",\n \"valueType\":\"string\"\n }\n ],\n \"state\":\"temp\"\n }\n ],\n \"state\":\"temp\"\n}" + }, + "url": { + "raw": "{{API}}/api/v2/tmf/service/01-7702257", + "host": [ + "{{API}}" + ], + "path": [ + "api", + "v2", + "tmf", + "service", + "01-7702257" + ] + } + }, + "response": [ + { + "name": "Incorrect MSISDN-SIM precheck", + "originalRequest": { + "method": "PUT", + "header": [ + { + "key": "Accept", + "value": "application/json;charset=utf-8" + }, + { + "key": "Content-Type", + "value": "application/json;charset=utf-8" + }, + { + "key": "Accept-Language", + "value": "en", + "type": "text" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"@type\":\"Service\",\n \"serviceSpecification\":{\n \"@type\":\"serviceSpecification\",\n \"id\":\"Mobile\"\n },\n \"note\":[\n {\n \"author\":\"domain+username\",\n \"hostname\":\"localhost\",\n \"text\":\"disabling GSM sim card\",\n \"@type\":\"Note\"\n }\n ],\n \"supportingService\":[\n {\n \"@type\":\"Service\",\n \"serviceSpecification\":{\n \"id\":\"SIM\"\n },\n \"serviceCharacteristic\":[\n {\n \"@type\":\"Characteristic\",\n \"id\":\"scrd_ICC\",\n \"value\":\"228012176510739\",\n \"valueType\":\"string\"\n }\n ],\n \"state\":\"temp\"\n }\n ]\n}" + }, + "url": { + "raw": "{{API}}/api/v2/tmf/service/01-7702257", + "host": [ + "{{API}}" + ], + "path": [ + "api", + "v2", + "tmf", + "service", + "01-7702257" + ] + } + }, + "status": "Internal Server Error", + "code": 500, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Length", + "value": "298" + }, + { + "key": "Content-Type", + "value": "application/json; charset=utf-8" + }, + { + "key": "Access-Control-Allow-Methods", + "value": "GET, PUT, POST, DELETE, OPTIONS, HEAD" + }, + { + "key": "Access-Control-Allow-Headers", + "value": "Authorization,Pragma,Cache-control,Content-type" + }, + { + "key": "Access-Control-Allow-Credentials", + "value": "true" + }, + { + "key": "Date", + "value": "Mon, 08 Apr 2024 14:48:02 GMT" + } + ], + "cookie": [], + "body": "{\n \"code\": \"51691\",\n \"reason\": \"51695\",\n \"message\": \"SIM (Subscriber Identity Module) card is binded to another MSISDN (Mobile Subscriber Integrated Services Digital Network number) but has not activated - try again: (The incorrect MSISDN value for activation procedure)\",\n \"status\": \"500\",\n \"referenceError\": \"\"\n}" + }, + { + "name": "SUCCESS", + "originalRequest": { + "method": "PUT", + "header": [ + { + "key": "Accept", + "value": "application/json;charset=utf-8" + }, + { + "key": "Content-Type", + "value": "application/json;charset=utf-8" + }, + { + "key": "Accept-Language", + "value": "en", + "type": "text" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"@type\":\"Service\",\n \"serviceSpecification\":{\n \"@type\":\"serviceSpecification\",\n \"id\":\"Mobile\"\n },\n \"note\":[\n {\n \"author\":\"domain+username\",\n \"hostname\":\"localhost\",\n \"text\":\"disabling GSM sim card\",\n \"@type\":\"Note\"\n }\n ],\n \"supportingService\":[\n {\n \"@type\":\"Service\",\n \"serviceSpecification\":{\n \"id\":\"SIM\"\n },\n \"serviceCharacteristic\":[\n {\n \"@type\":\"Characteristic\",\n \"id\":\"scrd_ICC\",\n \"value\":\"228012176510739\",\n \"valueType\":\"string\"\n }\n ],\n \"state\":\"temp\"\n }\n ]\n}" + }, + "url": { + "raw": "{{API}}/api/v2/tmf/service/01-7702257", + "host": [ + "{{API}}" + ], + "path": [ + "api", + "v2", + "tmf", + "service", + "01-7702257" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Length", + "value": "83" + }, + { + "key": "Content-Type", + "value": "application/json; charset=utf-8" + }, + { + "key": "Accept-Language", + "value": "en" + }, + { + "key": "Access-Control-Allow-Methods", + "value": "GET, PUT, POST, DELETE, OPTIONS, HEAD" + }, + { + "key": "Access-Control-Allow-Headers", + "value": "Authorization,Pragma,Cache-control,Content-type" + }, + { + "key": "Access-Control-Allow-Credentials", + "value": "true" + }, + { + "key": "Date", + "value": "Tue, 09 Apr 2024 09:46:47 GMT" + } + ], + "cookie": [], + "body": "{\n \"relatedParty\": [\n {}\n ],\n \"feature\": [\n {}\n ],\n \"serviceCharacteristic\": [\n {}\n ],\n \"id\": \"01-7702257\"\n}" + } + ] + }, + { + "name": "Change SIM-card status only", + "request": { + "auth": { + "type": "basic", + "basic": [ + { + "key": "username", + "value": "login", + "type": "string" + }, + { + "key": "password", + "value": "password", + "type": "string" + } + ] + }, + "method": "PUT", + "header": [ + { + "key": "Accept", + "value": "application/json;charset=utf-8" + }, + { + "key": "Content-Type", + "value": "application/json;charset=utf-8" + }, + { + "key": "Accept-Language", + "value": "en", + "type": "text" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"@type\":\"Service\",\n \"serviceSpecification\":{\n \"@type\":\"serviceSpecification\",\n \"id\":\"SIM\"\n },\n \"note\":[\n {\n \"author\":\"domain+username\",\n \"hostname\":\"localhost\",\n \"text\":\"disabling GSM sim card\",\n \"@type\":\"Note\"\n }\n ],\n \"serviceCharacteristic\":[\n {\n \"@type\":\"Characteristic\",\n \"id\":\"scrd_ICC\",\n \"value\":\"228012176510739\",\n \"valueType\":\"string\"\n }\n ],\n \"state\":\"temp\"\n}" + }, + "url": { + "raw": "{{API}}/api/v2/tmf/service/{{rfs_service_id}}", + "host": [ + "{{API}}" + ], + "path": [ + "api", + "v2", + "tmf", + "service", + "{{rfs_service_id}}" + ] + } + }, + "response": [ + { + "name": "Incorrect MSISDN-SIM precheck", + "originalRequest": { + "method": "PUT", + "header": [ + { + "key": "Accept", + "value": "application/json;charset=utf-8" + }, + { + "key": "Content-Type", + "value": "application/json;charset=utf-8" + }, + { + "key": "Accept-Language", + "value": "en", + "type": "text" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"@type\":\"Service\",\n \"serviceSpecification\":{\n \"@type\":\"serviceSpecification\",\n \"id\":\"Mobile\"\n },\n \"note\":[\n {\n \"author\":\"domain+username\",\n \"hostname\":\"localhost\",\n \"text\":\"disabling GSM sim card\",\n \"@type\":\"Note\"\n }\n ],\n \"supportingService\":[\n {\n \"@type\":\"Service\",\n \"serviceSpecification\":{\n \"id\":\"SIM\"\n },\n \"serviceCharacteristic\":[\n {\n \"@type\":\"Characteristic\",\n \"id\":\"scrd_ICC\",\n \"value\":\"228012176510739\",\n \"valueType\":\"string\"\n }\n ],\n \"state\":\"temp\"\n }\n ]\n}" + }, + "url": { + "raw": "{{API}}/api/v2/tmf/service/01-7702257", + "host": [ + "{{API}}" + ], + "path": [ + "api", + "v2", + "tmf", + "service", + "01-7702257" + ] + } + }, + "status": "Internal Server Error", + "code": 500, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Length", + "value": "298" + }, + { + "key": "Content-Type", + "value": "application/json; charset=utf-8" + }, + { + "key": "Access-Control-Allow-Methods", + "value": "GET, PUT, POST, DELETE, OPTIONS, HEAD" + }, + { + "key": "Access-Control-Allow-Headers", + "value": "Authorization,Pragma,Cache-control,Content-type" + }, + { + "key": "Access-Control-Allow-Credentials", + "value": "true" + }, + { + "key": "Date", + "value": "Mon, 08 Apr 2024 14:48:02 GMT" + } + ], + "cookie": [], + "body": "{\n \"code\": \"51691\",\n \"reason\": \"51695\",\n \"message\": \"SIM (Subscriber Identity Module) card is binded to another MSISDN (Mobile Subscriber Integrated Services Digital Network number) but has not activated - try again: (The incorrect MSISDN value for activation procedure)\",\n \"status\": \"500\",\n \"referenceError\": \"\"\n}" + }, + { + "name": "SUCCESS", + "originalRequest": { + "method": "PUT", + "header": [ + { + "key": "Accept", + "value": "application/json;charset=utf-8" + }, + { + "key": "Content-Type", + "value": "application/json;charset=utf-8" + }, + { + "key": "Accept-Language", + "value": "en", + "type": "text" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"@type\":\"Service\",\n \"serviceSpecification\":{\n \"@type\":\"serviceSpecification\",\n \"id\":\"Mobile\"\n },\n \"note\":[\n {\n \"author\":\"domain+username\",\n \"hostname\":\"localhost\",\n \"text\":\"disabling GSM sim card\",\n \"@type\":\"Note\"\n }\n ],\n \"supportingService\":[\n {\n \"@type\":\"Service\",\n \"serviceSpecification\":{\n \"id\":\"SIM\"\n },\n \"serviceCharacteristic\":[\n {\n \"@type\":\"Characteristic\",\n \"id\":\"scrd_ICC\",\n \"value\":\"228012176510739\",\n \"valueType\":\"string\"\n }\n ],\n \"state\":\"temp\"\n }\n ]\n}" + }, + "url": { + "raw": "{{API}}/api/v2/tmf/service/01-7702257", + "host": [ + "{{API}}" + ], + "path": [ + "api", + "v2", + "tmf", + "service", + "01-7702257" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Length", + "value": "83" + }, + { + "key": "Content-Type", + "value": "application/json; charset=utf-8" + }, + { + "key": "Accept-Language", + "value": "en" + }, + { + "key": "Access-Control-Allow-Methods", + "value": "GET, PUT, POST, DELETE, OPTIONS, HEAD" + }, + { + "key": "Access-Control-Allow-Headers", + "value": "Authorization,Pragma,Cache-control,Content-type" + }, + { + "key": "Access-Control-Allow-Credentials", + "value": "true" + }, + { + "key": "Date", + "value": "Tue, 09 Apr 2024 09:46:47 GMT" + } + ], + "cookie": [], + "body": "{\n \"relatedParty\": [\n {}\n ],\n \"feature\": [\n {}\n ],\n \"serviceCharacteristic\": [\n {}\n ],\n \"id\": \"01-7702257\"\n}" + } + ] + }, + { + "name": "Change SIM group by ICC", + "request": { + "auth": { + "type": "basic", + "basic": [ + { + "key": "username", + "value": "login", + "type": "string" + }, + { + "key": "password", + "value": "password", + "type": "string" + } + ] + }, + "method": "PUT", + "header": [ + { + "key": "Accept", + "value": "application/json;charset=utf-8" + }, + { + "key": "Content-Type", + "value": "application/json;charset=utf-8" + }, + { + "key": "Accept-Language", + "value": "en", + "type": "text" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"id\":\"{{Service_id}}\",\n \"@type\":\"Service\",\n \"serviceSpecification\":{\n \"@type\":\"serviceSpecification\",\n \"id\":\"Mobile\"\n },\n \"note\":[\n {\n \"author\":\"domain+username\",\n \"hostname\":\"localhost\",\n \"text\":\"changeing the group of GSM sim card\",\n \"@type\":\"Note\"\n }\n ],\n \"supportingService\":[\n {\n \"@type\":\"Service\",\n \"serviceSpecification\":{\n \"@type\":\"serviceSpecification\",\n \"id\":\"SIM\"\n },\n \"serviceCharacteristic\":[\n {\n \"@type\":\"Characteristic\",\n \"valueType\":\"Integer\",\n \"id\":\"scrd_ICC\",\n \"value\":\"{{ICC}}\"\n },\n {\n \"@type\":\"Characteristic\",\n \"valueType\":\"string\",\n \"id\":\"scrg_Code\",\n \"value\":\"{{SIM_group}}\"\n }\n ]\n }\n ]\n}" + }, + "url": { + "raw": "{{API}}/api/v2/tmf/service/{{Service_id}}", + "host": [ + "{{API}}" + ], + "path": [ + "api", + "v2", + "tmf", + "service", + "{{Service_id}}" + ] + } + }, + "response": [ + { + "name": "SUCCESS", + "originalRequest": { + "method": "PUT", + "header": [ + { + "key": "Accept", + "value": "application/json;charset=utf-8" + }, + { + "key": "Content-Type", + "value": "application/json;charset=utf-8" + }, + { + "key": "Accept-Language", + "value": "en", + "type": "text" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"id\":\"{{Service_id}}\",\n \"@type\":\"Service\",\n \"serviceSpecification\":{\n \"@type\":\"serviceSpecification\",\n \"id\":\"Mobile\"\n },\n \"note\":[\n {\n \"author\":\"domain+username\",\n \"hostname\":\"localhost\",\n \"text\":\"changeing the group of GSM sim card\",\n \"@type\":\"Note\"\n }\n ],\n \"supportingService\":[\n {\n \"@type\":\"Service\",\n \"serviceSpecification\":{\n \"id\":\"SIM\"\n },\n \"serviceCharacteristic\":[\n {\n \"@type\":\"Characteristic\",\n \"valueType\":\"Integer\",\n \"id\":\"scrd_ICC\",\n \"value\":\"{{ICC}}\"\n },\n {\n \"@type\":\"Characteristic\",\n \"valueType\":\"string\",\n \"id\":\"scrg_Code\",\n \"value\":\"{{SIM_group}}\"\n }\n ]\n }\n ]\n}" + }, + "url": { + "raw": "{{API}}/api/v2/tmf/service/{{Service_id}}", + "host": [ + "{{API}}" + ], + "path": [ + "api", + "v2", + "tmf", + "service", + "{{Service_id}}" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Date", + "value": "Mon, 28 Oct 2024 13:55:52 GMT" + }, + { + "key": "Content-Type", + "value": "application/json; charset=utf-8" + }, + { + "key": "Transfer-Encoding", + "value": "chunked" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "Access-Control-Allow-Credentials", + "value": "true" + }, + { + "key": "Access-Control-Allow-Headers", + "value": "Authorization,Pragma,Cache-control,Content-type,X-Requested-With" + }, + { + "key": "Access-Control-Allow-Methods", + "value": "GET,POST,PUT,DELETE,HEAD,OPTIONS" + }, + { + "key": "Strict-Transport-Security", + "value": "max-age=31536000" + }, + { + "key": "Content-Security-Policy", + "value": "img-src https: data:; upgrade-insecure-requests" + }, + { + "key": "Content-Encoding", + "value": "gzip" + } + ], + "cookie": [], + "body": "{\n \"relatedParty\": [\n {}\n ],\n \"feature\": [\n {}\n ],\n \"serviceCharacteristic\": [\n {}\n ],\n \"id\": \"01-7703228\",\n \"supportingService\": [\n {\n \"@type\": \"Service\",\n \"serviceCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_ICC\",\n \"value\": \"893800399222226405\",\n \"valueType\": \"Integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrg_Code\",\n \"value\": \"myGroup\",\n \"valueType\": \"string\"\n }\n ],\n \"serviceSpecification\": {\n \"id\": \"SIM\"\n }\n }\n ]\n}" + } + ] + }, + { + "name": "Change SIM group by ID", + "request": { + "auth": { + "type": "basic", + "basic": [ + { + "key": "username", + "value": "login", + "type": "string" + }, + { + "key": "password", + "value": "password", + "type": "string" + } + ] + }, + "method": "PUT", + "header": [ + { + "key": "Accept", + "value": "application/json;charset=utf-8" + }, + { + "key": "Content-Type", + "value": "application/json;charset=utf-8" + }, + { + "key": "Accept-Language", + "value": "en", + "type": "text" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"@type\":\"Service\",\n \"serviceSpecification\":{\n \"@type\":\"serviceSpecification\",\n \"id\":\"SIM\"\n },\n \"serviceCharacteristic\":[\n {\n \"@type\":\"Characteristic\",\n \"valueType\":\"string\",\n \"id\":\"scrd_ICC\",\n \"value\":\"{{ICC}}\"\n },\n {\n \"@type\":\"Characteristic\",\n \"valueType\":\"string\",\n \"id\":\"scrg_Code\",\n \"value\":\"{{SIM_group}}\"\n }\n ],\n \"note\":[\n {\n \"author\":\"domain+username\",\n \"hostname\":\"localhost\",\n \"text\":\"changing the group of GSM sim card\",\n \"@type\":\"Note\"\n }\n ]\n}" + }, + "url": { + "raw": "{{API}}/api/v2/tmf/service/{{rfs_service_id}}", + "host": [ + "{{API}}" + ], + "path": [ + "api", + "v2", + "tmf", + "service", + "{{rfs_service_id}}" + ] + } + }, + "response": [ + { + "name": "Incorrect Service ID", + "originalRequest": { + "method": "PUT", + "header": [ + { + "key": "Accept", + "value": "application/json;charset=utf-8" + }, + { + "key": "Content-Type", + "value": "application/json;charset=utf-8" + }, + { + "key": "Accept-Language", + "value": "en", + "type": "text" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"@type\":\"Service\",\n \"serviceSpecification\":{\n \"@type\":\"serviceSpecification\",\n \"id\":\"Mobile\"\n },\n \"serviceSpecification\":{\n \"id\":\"SIM\"\n },\n \"serviceCharacteristic\":[\n {\n \"@type\":\"Characteristic\",\n \"valueType\":\"Integer\",\n \"id\":\"scrd_ICC\",\n \"value\":\"{{ICC}}\"\n },\n {\n \"@type\":\"Characteristic\",\n \"valueType\":\"string\",\n \"id\":\"scrg_Code\",\n \"value\":\"{{SIM_group}}\"\n }\n ],\n \"note\":[\n {\n \"author\":\"domain+username\",\n \"hostname\":\"localhost\",\n \"text\":\"changing the group of GSM sim card\",\n \"@type\":\"Note\"\n }\n ]\n}" + }, + "url": { + "raw": "{{API}}/api/v2/tmf/service/{{rfs_service_id}}", + "host": [ + "{{API}}" + ], + "path": [ + "api", + "v2", + "tmf", + "service", + "{{rfs_service_id}}" + ] + } + }, + "status": "Internal Server Error", + "code": 500, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Length", + "value": "160" + }, + { + "key": "Content-Type", + "value": "application/json; charset=utf-8" + }, + { + "key": "Access-Control-Allow-Methods", + "value": "GET, PUT, POST, DELETE, OPTIONS, HEAD" + }, + { + "key": "Access-Control-Allow-Headers", + "value": "Authorization,Pragma,Cache-control,Content-type" + }, + { + "key": "Access-Control-Allow-Credentials", + "value": "true" + }, + { + "key": "Date", + "value": "Mon, 28 Oct 2024 13:23:30 GMT" + } + ], + "cookie": [], + "body": "{\n \"code\": \"50000\",\n \"reason\": \"Internal Server Error\",\n \"message\": \"Некорректное значение входящего параметра: id\",\n \"status\": \"500\"\n}" + } + ] + }, + { + "name": "Purge SIM-card", + "request": { + "auth": { + "type": "basic", + "basic": [ + { + "key": "username", + "value": "login", + "type": "string" + }, + { + "key": "password", + "value": "password", + "type": "string" + } + ] + }, + "method": "PUT", + "header": [ + { + "key": "Accept", + "value": "application/json;charset=utf-8" + }, + { + "key": "Content-Type", + "value": "application/json;charset=utf-8" + }, + { + "key": "Accept-Language", + "value": "en" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"@type\":\"Service\",\n \"serviceSpecification\":{\n \"@type\":\"serviceSpecification\",\n \"id\":\"SIM\"\n },\n \"note\":[\n {\n \"author\":\"domain+username\",\n \"hostname\":\"localhost\",\n \"text\":\"purging GSM sim card\",\n \"@type\":\"Note\"\n }\n ],\n \"serviceCharacteristic\":[\n {\n \"@type\":\"Characteristic\",\n \"valueType\":\"string\",\n \"id\":\"scrd_IMSI\",\n \"value\":\"{{new_IMSI}}\"\n }\n ],\n \"state\":\"close\",\n \"endDate\":\"{{close_date}}\"\n}" + }, + "url": { + "raw": "{{API}}/api/v2/tmf/service/{{rfs_service_id}}", + "host": [ + "{{API}}" + ], + "path": [ + "api", + "v2", + "tmf", + "service", + "{{rfs_service_id}}" + ] + } + }, + "response": [ + { + "name": "Purging successful", + "originalRequest": { + "method": "PUT", + "header": [ + { + "key": "Accept", + "value": "application/json;charset=utf-8" + }, + { + "key": "Content-Type", + "value": "application/json;charset=utf-8" + }, + { + "key": "Accept-Language", + "value": "en" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"@type\":\"Service\",\n \"serviceSpecification\":{\n \"@type\":\"serviceSpecification\",\n \"id\":\"SIM\"\n },\n \"note\":[\n {\n \"author\":\"domain+username\",\n \"hostname\":\"localhost\",\n \"text\":\"purging GSM sim card\",\n \"@type\":\"Note\"\n }\n ],\n \"serviceCharacteristic\":[\n {\n \"valueType\":\"string\",\n \"id\":\"scrd_IMSI\",\n \"value\":\"{{new_IMSI}}\"\n }\n ],\n \"state\":\"close\",\n \"endDate\":\"{{close_date}}\"\n}" + }, + "url": { + "raw": "{{API}}/api/v2/tmf/service/02-42", + "host": [ + "{{API}}" + ], + "path": [ + "api", + "v2", + "tmf", + "service", + "02-42" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Length", + "value": "157" + }, + { + "key": "Content-Type", + "value": "application/json; charset=utf-8" + }, + { + "key": "Accept-Language", + "value": "en" + }, + { + "key": "Access-Control-Allow-Methods", + "value": "GET, PUT, POST, DELETE, OPTIONS, HEAD" + }, + { + "key": "Access-Control-Allow-Headers", + "value": "Authorization,Pragma,Cache-control,Content-type" + }, + { + "key": "Access-Control-Allow-Credentials", + "value": "true" + }, + { + "key": "Date", + "value": "Tue, 28 May 2024 08:08:34 GMT" + } + ], + "cookie": [], + "body": "{\n \"relatedParty\": [\n {}\n ],\n \"feature\": [\n {}\n ],\n \"serviceCharacteristic\": [\n {\n \"id\": \"scrd_IMSI\",\n \"value\": \"255030621983769\",\n \"valueType\": \"string\"\n }\n ],\n \"state\": \"close\",\n \"id\": \"02-42\"\n}" + } + ] + }, + { + "name": "Replace SIM-card", + "request": { + "auth": { + "type": "basic", + "basic": [ + { + "key": "username", + "value": "login", + "type": "string" + }, + { + "key": "password", + "value": "password", + "type": "string" + } + ] + }, + "method": "PUT", + "header": [ + { + "key": "Accept", + "value": "application/json;charset=utf-8" + }, + { + "key": "Content-Type", + "value": "application/json;charset=utf-8" + }, + { + "key": "Accept-Language", + "value": "en" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"@type\":\"Service\",\n \"serviceSpecification\":{\n \"@type\":\"serviceSpecification\",\n \"id\":\"SIM\"\n },\n \"note\":[\n {\n \"author\":\"domain+username\",\n \"hostname\":\"localhost\",\n \"text\":\"replacing GSM sim card\",\n \"@type\":\"Note\"\n }\n ],\n \"serviceCharacteristic\":[\n {\n \"@type\":\"Characteristic\",\n \"valueType\":\"string\",\n \"id\":\"scrd_IMSI\",\n \"value\":\"{{new_IMSI}}\"\n },\n {\n \"@type\":\"Characteristic\",\n \"valueType\":\"string\",\n \"id\":\"scrt_Code\",\n \"value\":\"UNI\"\n },\n {\n \"@type\":\"Characteristic\",\n \"valueType\":\"string\",\n \"id\":\"scrg_Code\",\n \"value\":\"{{SIM_group}}\"\n },\n {\n \"@type\":\"Characteristic\",\n \"valueType\":\"Integer\",\n \"id\":\"scrd_ICC\",\n \"value\":\"{{new_ICC}}\"\n },\n {\n \"@type\":\"Characteristic\",\n \"valueType\":\"string\",\n \"id\":\"scrd_PUK1\",\n \"value\":\"01231234\"\n },\n {\n \"@type\":\"Characteristic\",\n \"valueType\":\"string\",\n \"id\":\"scrd_PUK2\",\n \"value\":\"01231234\"\n },\n {\n \"@type\":\"Characteristic\",\n \"valueType\":\"string\",\n \"id\":\"scrd_PIN1\",\n \"value\":\"0123\"\n },\n {\n \"@type\":\"Characteristic\",\n \"valueType\":\"string\",\n \"id\":\"scrd_PIN2\",\n \"value\":\"0123\"\n },\n {\n \"@type\":\"Characteristic\",\n \"valueType\":\"date-time\",\n \"id\":\"scrd_ExpirationDate\",\n \"value\":\"2999-12-31T23:59:59.997Z\"\n }\n ],\n \"state\":\"{{Active_state}}\",\n \"startDate\":\"{{replace_startDate}}\"\n}" + }, + "url": { + "raw": "{{API}}/api/v2/tmf/service/{{rfs_service_id}}", + "host": [ + "{{API}}" + ], + "path": [ + "api", + "v2", + "tmf", + "service", + "{{rfs_service_id}}" + ] + } + }, + "response": [ + { + "name": "Replaced successful", + "originalRequest": { + "method": "PUT", + "header": [ + { + "key": "Accept", + "value": "application/json;charset=utf-8" + }, + { + "key": "Content-Type", + "value": "application/json;charset=utf-8" + }, + { + "key": "Accept-Language", + "value": "en" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"@type\":\"Service\",\n \"serviceSpecification\":{\n \"@type\":\"serviceSpecification\",\n \"id\":\"SIM\"\n },\n \"note\":[\n {\n \"author\":\"domain+username\",\n \"hostname\":\"localhost\",\n \"text\":\"replacing GSM sim card\",\n \"@type\":\"Note\"\n }\n ],\n \"serviceCharacteristic\":[\n {\n \"valueType\":\"string\",\n \"id\":\"scrd_IMSI\",\n \"value\":\"{{new_IMSI}}\"\n },\n {\n \"valueType\":\"string\",\n \"id\":\"scrt_Code\",\n \"value\":\"UNI\"\n },\n {\n \"valueType\":\"string\",\n \"id\":\"scrg_Code\",\n \"value\":\"{{SIM_group}}\"\n },\n {\n \"valueType\":\"Integer\",\n \"id\":\"scrd_ICC\",\n \"value\":\"{{new_ICC}}\"\n },\n {\n \"valueType\":\"string\",\n \"id\":\"scrd_PUK1\",\n \"value\":\"01231234\"\n },\n {\n \"valueType\":\"string\",\n \"id\":\"scrd_PUK2\",\n \"value\":\"01231234\"\n },\n {\n \"valueType\":\"string\",\n \"id\":\"scrd_PIN1\",\n \"value\":\"0123\"\n },\n {\n \"valueType\":\"string\",\n \"id\":\"scrd_PIN2\",\n \"value\":\"0123\"\n },\n {\n \"valueType\":\"date-time\",\n \"id\":\"scrd_ExpirationDate\",\n \"value\":\"2999-12-31T23:59:59.997Z\"\n }\n ],\n \"state\":\"{{Active_state}}\",\n \"startDate\":\"{{replace_startDate}}\"\n}" + }, + "url": { + "raw": "{{API}}/api/v2/tmf/service/02-42", + "host": [ + "{{API}}" + ], + "path": [ + "api", + "v2", + "tmf", + "service", + "02-42" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Length", + "value": "689" + }, + { + "key": "Content-Type", + "value": "application/json; charset=utf-8" + }, + { + "key": "Accept-Language", + "value": "en" + }, + { + "key": "Access-Control-Allow-Methods", + "value": "GET, PUT, POST, DELETE, OPTIONS, HEAD" + }, + { + "key": "Access-Control-Allow-Headers", + "value": "Authorization,Pragma,Cache-control,Content-type" + }, + { + "key": "Access-Control-Allow-Credentials", + "value": "true" + }, + { + "key": "Date", + "value": "Mon, 27 May 2024 09:57:19 GMT" + } + ], + "cookie": [], + "body": "{\n \"relatedParty\": [\n {}\n ],\n \"feature\": [\n {}\n ],\n \"serviceCharacteristic\": [\n {\n \"id\": \"scrd_IMSI\",\n \"value\": \"255030621983769\",\n \"valueType\": \"string\"\n },\n {\n \"id\": \"scrt_Code\",\n \"value\": \"UNI\",\n \"valueType\": \"string\"\n },\n {\n \"id\": \"scrg_Code\",\n \"value\": \"myGroup\",\n \"valueType\": \"string\"\n },\n {\n \"id\": \"scrd_ICC\",\n \"value\": \"893800399222225841\",\n \"valueType\": \"Integer\"\n },\n {\n \"id\": \"scrd_PUK1\",\n \"value\": \"01231234\",\n \"valueType\": \"string\"\n },\n {\n \"id\": \"scrd_PUK2\",\n \"value\": \"01231234\",\n \"valueType\": \"string\"\n },\n {\n \"id\": \"scrd_PIN1\",\n \"value\": \"0123\",\n \"valueType\": \"string\"\n },\n {\n \"id\": \"scrd_PIN2\",\n \"value\": \"0123\",\n \"valueType\": \"string\"\n },\n {\n \"id\": \"scrd_ExpirationDate\",\n \"value\": \"2999-12-31T23:59:59.997Z\",\n \"valueType\": \"date-time\"\n }\n ],\n \"startDate\": \"2024-05-14T00:00:00Z\",\n \"state\": \"activ\",\n \"id\": \"02-42\"\n}" + } + ] + } + ], + "description": "Folder for service" + }, + { + "name": "flow", + "item": [ + { + "name": "Invoke Activation Flow", + "request": { + "auth": { + "type": "basic", + "basic": [ + { + "key": "username", + "value": "bpmn_user", + "type": "string" + }, + { + "key": "password", + "value": "password", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n\t\"@type\": \"Service\",\r\n\t\"serviceSpecification\": {\r\n\t\t\"@type\": \"serviceSpecification\",\r\n\t\t\"id\": \"Mobile\"\r\n\t},\r\n\t\"note\": [\r\n\t\t{\r\n\t\t\t\"author\": \"domain+username\",\r\n\t\t\t\"hostname\": \"localhost\",\r\n\t\t\t\"text\": \"GSM services activation\",\r\n\t\t\t\"@type\": \"Note\"\r\n\t\t}\r\n\t],\r\n\t\"serviceDate\": \"{{startDate}}\",\r\n\t\"supportingService\": [\r\n\t\t{\r\n\t\t\t\"@type\": \"Service\",\r\n\t\t\t\"serviceSpecification\": {\r\n\t\t\t\t\"@type\": \"serviceSpecification\",\r\n\t\t\t\t\"id\": \"SIM\"\r\n\t\t\t},\r\n\t\t\t\"state\": \"{{Active_state}}\",\r\n\t\t\t\"serviceCharacteristic\": [\r\n\t\t\t\t{\r\n\t\t\t\t\t\"valueType\": \"string\",\r\n\t\t\t\t\t\"id\": \"scrd_IMSI\",\r\n\t\t\t\t\t\"value\": \"{{IMSI}}\"\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\t\"valueType\": \"string\",\r\n\t\t\t\t\t\"id\": \"scrt_Code\",\r\n\t\t\t\t\t\"value\": \"UNI\"\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\t\"valueType\": \"string\",\r\n\t\t\t\t\t\"id\": \"scrg_Code\",\r\n\t\t\t\t\t\"value\": \"{{SIM_group}}\"\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\t\"valueType\": \"string\",\r\n\t\t\t\t\t\"id\": \"scrd_ICC\",\r\n\t\t\t\t\t\"value\": \"{{ICC}}\"\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\t\"valueType\": \"string\",\r\n\t\t\t\t\t\"id\": \"scrd_PUK1\",\r\n\t\t\t\t\t\"value\": \"{{PUK1}}\"\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\t\"valueType\": \"string\",\r\n\t\t\t\t\t\"id\": \"scrd_PUK2\",\r\n\t\t\t\t\t\"value\": \"{{PUK2}}\"\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\t\"valueType\": \"string\",\r\n\t\t\t\t\t\"id\": \"scrd_PIN1\",\r\n\t\t\t\t\t\"value\": \"{{PIN1}}\"\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\t\"valueType\": \"string\",\r\n\t\t\t\t\t\"id\": \"scrd_PIN2\",\r\n\t\t\t\t\t\"value\": \"{{PIN2}}\"\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\t\"valueType\": \"date-time\",\r\n\t\t\t\t\t\"id\": \"scrd_ExpirationDate\",\r\n\t\t\t\t\t\"value\": \"2999-12-31T23:59:59.997Z\"\r\n\t\t\t\t}\r\n\t\t\t]\r\n\t\t}\r\n\t],\r\n\t\"relatedParty\": [\r\n\t\t{\r\n\t\t\t\"@referredType\": \"Customers\",\r\n\t\t\t\"id\": \"{{customer_id}}\",\r\n\t\t\t\"IDType\": 0\r\n\t\t}\r\n\t],\r\n\t\"feature\": [\r\n\t\t{\r\n\t\t\t\"@type\": \"Feature\",\r\n\t\t\t\"isEnabled\": false,\r\n\t\t\t\"name\": \"M2M Data Transmition Access\",\r\n\t\t\t\"featureCharacteristic\": [\r\n\t\t\t\t{\r\n\t\t\t\t\t\"id\": \"ServiceCode\",\r\n\t\t\t\t\t\"valueType\": \"string\",\r\n\t\t\t\t\t\"value\": \"{{Srv_Code1}}\"\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\t\"id\": \"StatusCode\",\r\n\t\t\t\t\t\"valueType\": \"String\",\r\n\t\t\t\t\t\"value\": \"FinBlock\"\r\n\t\t\t\t}\r\n\t\t\t]\r\n\t\t},\r\n\t\t{\r\n\t\t\t\"@type\": \"Feature\",\r\n\t\t\t\"isEnabled\": false,\r\n\t\t\t\"name\": \"M2M SMS\",\r\n\t\t\t\"featureCharacteristic\": [\r\n\t\t\t\t{\r\n\t\t\t\t\t\"id\": \"ServiceCode\",\r\n\t\t\t\t\t\"valueType\": \"string\",\r\n\t\t\t\t\t\"value\": \"{{Srv_Code2}}\"\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\t\"id\": \"StatusCode\",\r\n\t\t\t\t\t\"valueType\": \"String\",\r\n\t\t\t\t\t\"value\": \"FinBlock\"\r\n\t\t\t\t}\r\n\t\t\t]\r\n\t\t}\r\n\t],\r\n\t\"id\": \"{{Service_id}}\",\r\n\t\"state\": \"{{Active_state}}\",\r\n\t\"category\": \"GSM\",\r\n\t\"startDate\": \"{{startDate}}\",\r\n\t\"serviceCharacteristic\": [\r\n\t\t{\r\n\t\t\t\"valueType\": \"string\",\r\n\t\t\t\"id\": \"MSISDN\",\r\n\t\t\t\"value\": \"{{msisdn}}\"\r\n\t\t}\r\n\t]\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{API}}/api/v0/bpmn/flowdefinitions/personal/MyDrafts/put-service/Start.json?debug=false&async=false&run=auto", + "host": [ + "{{API}}" + ], + "path": [ + "api", + "v0", + "bpmn", + "flowdefinitions", + "personal", + "MyDrafts", + "put-service", + "Start.json" + ], + "query": [ + { + "key": "debug", + "value": "false" + }, + { + "key": "async", + "value": "false" + }, + { + "key": "run", + "value": "auto" + } + ] + } + }, + "response": [ + { + "name": "Activation Success", + "originalRequest": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n\t\"@type\": \"Service\",\r\n\t\"serviceSpecification\": {\r\n\t\t\"@type\": \"serviceSpecification\",\r\n\t\t\"id\": \"Mobile\"\r\n\t},\r\n\t\"note\": [\r\n\t\t{\r\n\t\t\t\"author\": \"domain+username\",\r\n\t\t\t\"hostname\": \"localhost\",\r\n\t\t\t\"text\": \"GSM services activation\",\r\n\t\t\t\"@type\": \"Note\"\r\n\t\t}\r\n\t],\r\n\t\"serviceDate\": \"{{startDate}}\",\r\n\t\"supportingService\": [\r\n\t\t{\r\n\t\t\t\"@type\": \"Service\",\r\n\t\t\t\"serviceSpecification\": {\r\n\t\t\t\t\"@type\": \"serviceSpecification\",\r\n\t\t\t\t\"id\": \"SIM\"\r\n\t\t\t},\r\n\t\t\t\"state\": \"{{Active_state}}\",\r\n\t\t\t\"serviceCharacteristic\": [\r\n\t\t\t\t{\r\n\t\t\t\t\t\"valueType\": \"string\",\r\n\t\t\t\t\t\"id\": \"scrd_IMSI\",\r\n\t\t\t\t\t\"value\": \"{{IMSI}}\"\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\t\"valueType\": \"string\",\r\n\t\t\t\t\t\"id\": \"scrt_Code\",\r\n\t\t\t\t\t\"value\": \"UNI\"\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\t\"valueType\": \"string\",\r\n\t\t\t\t\t\"id\": \"scrg_Code\",\r\n\t\t\t\t\t\"value\": \"{{SIM_group}}\"\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\t\"valueType\": \"string\",\r\n\t\t\t\t\t\"id\": \"scrd_ICC\",\r\n\t\t\t\t\t\"value\": \"{{ICC}}\"\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\t\"valueType\": \"string\",\r\n\t\t\t\t\t\"id\": \"scrd_PUK1\",\r\n\t\t\t\t\t\"value\": \"{{PUK1}}\"\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\t\"valueType\": \"string\",\r\n\t\t\t\t\t\"id\": \"scrd_PUK2\",\r\n\t\t\t\t\t\"value\": \"{{PUK2}}\"\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\t\"valueType\": \"string\",\r\n\t\t\t\t\t\"id\": \"scrd_PIN1\",\r\n\t\t\t\t\t\"value\": \"{{PIN1}}\"\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\t\"valueType\": \"string\",\r\n\t\t\t\t\t\"id\": \"scrd_PIN2\",\r\n\t\t\t\t\t\"value\": \"{{PIN2}}\"\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\t\"valueType\": \"date-time\",\r\n\t\t\t\t\t\"id\": \"scrd_ExpirationDate\",\r\n\t\t\t\t\t\"value\": \"2999-12-31T23:59:59.997Z\"\r\n\t\t\t\t}\r\n\t\t\t]\r\n\t\t}\r\n\t],\r\n\t\"relatedParty\": [\r\n\t\t{\r\n\t\t\t\"@referredType\": \"Customers\",\r\n\t\t\t\"id\": \"{{customer_id}}\",\r\n\t\t\t\"IDType\": 0\r\n\t\t}\r\n\t],\r\n\t\"feature\": [\r\n\t\t{\r\n\t\t\t\"@type\": \"Feature\",\r\n\t\t\t\"isEnabled\": false,\r\n\t\t\t\"name\": \"M2M Data Transmition Access\",\r\n\t\t\t\"featureCharacteristic\": [\r\n\t\t\t\t{\r\n\t\t\t\t\t\"id\": \"ServiceCode\",\r\n\t\t\t\t\t\"valueType\": \"string\",\r\n\t\t\t\t\t\"value\": \"{{Srv_Code1}}\"\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\t\"id\": \"StatusCode\",\r\n\t\t\t\t\t\"valueType\": \"String\",\r\n\t\t\t\t\t\"value\": \"FinBlock\"\r\n\t\t\t\t}\r\n\t\t\t]\r\n\t\t},\r\n\t\t{\r\n\t\t\t\"@type\": \"Feature\",\r\n\t\t\t\"isEnabled\": false,\r\n\t\t\t\"name\": \"M2M SMS\",\r\n\t\t\t\"featureCharacteristic\": [\r\n\t\t\t\t{\r\n\t\t\t\t\t\"id\": \"ServiceCode\",\r\n\t\t\t\t\t\"valueType\": \"string\",\r\n\t\t\t\t\t\"value\": \"{{Srv_Code2}}\"\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\t\"id\": \"StatusCode\",\r\n\t\t\t\t\t\"valueType\": \"String\",\r\n\t\t\t\t\t\"value\": \"FinBlock\"\r\n\t\t\t\t}\r\n\t\t\t]\r\n\t\t}\r\n\t],\r\n\t\"id\": \"{{Service_id}}\",\r\n\t\"state\": \"{{Active_state}}\",\r\n\t\"category\": \"GSM\",\r\n\t\"startDate\": \"{{startDate}}\",\r\n\t\"serviceCharacteristic\": [\r\n\t\t{\r\n\t\t\t\"valueType\": \"string\",\r\n\t\t\t\"id\": \"MSISDN\",\r\n\t\t\t\"value\": \"{{msisdn}}\"\r\n\t\t}\r\n\t]\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{API}}/api/v0/bpmn/flowdefinitions/personal/MyDrafts/put-service/Start.json?debug=false&async=false&run=auto", + "host": [ + "{{API}}" + ], + "path": [ + "api", + "v0", + "bpmn", + "flowdefinitions", + "personal", + "MyDrafts", + "put-service", + "Start.json" + ], + "query": [ + { + "key": "debug", + "value": "false" + }, + { + "key": "async", + "value": "false" + }, + { + "key": "run", + "value": "auto" + } + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Date", + "value": "Tue, 22 Apr 2025 04:35:35 GMT" + }, + { + "key": "Content-Type", + "value": "application/json; charset=utf-8" + }, + { + "key": "Transfer-Encoding", + "value": "chunked" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "Access-Control-Allow-Credentials", + "value": "true" + }, + { + "key": "Access-Control-Allow-Headers", + "value": "Authorization,Pragma,Cache-control,Content-type,X-Requested-With" + }, + { + "key": "Access-Control-Allow-Methods", + "value": "GET,POST,PUT,DELETE,HEAD,OPTIONS" + }, + { + "key": "Strict-Transport-Security", + "value": "max-age=31536000" + }, + { + "key": "Content-Security-Policy", + "value": "img-src https: data:; upgrade-insecure-requests" + }, + { + "key": "Content-Encoding", + "value": "gzip" + } + ], + "cookie": [], + "body": "{\n \"relatedParty\": [\n {\n \"id\": \"7722572\",\n \"idType\": 0,\n \"@referredType\": \"Customers\"\n }\n ],\n \"category\": \"GSM\",\n \"feature\": [\n {\n \"@type\": \"Feature\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Access\",\n \"featureCharacteristic\": [\n {\n \"id\": \"ServiceCode\",\n \"value\": \"9215\",\n \"valueType\": \"string\"\n },\n {\n \"id\": \"StatusCode\",\n \"value\": \"FinBlock\",\n \"valueType\": \"String\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS\",\n \"featureCharacteristic\": [\n {\n \"id\": \"ServiceCode\",\n \"value\": \"9201\",\n \"valueType\": \"string\"\n },\n {\n \"id\": \"StatusCode\",\n \"value\": \"FinBlock\",\n \"valueType\": \"String\"\n }\n ]\n }\n ],\n \"serviceCharacteristic\": [\n {\n \"id\": \"MSISDN\",\n \"value\": \"380676666366\",\n \"valueType\": \"string\"\n }\n ],\n \"serviceDate\": \"2025-04-22T00:00:00Z\",\n \"startDate\": \"2025-04-22T00:00:00Z\",\n \"state\": \"activ\",\n \"id\": \"01-7722879\",\n \"supportingService\": [\n {\n \"@type\": \"Service\",\n \"serviceCharacteristic\": [\n {\n \"id\": \"scrd_IMSI\",\n \"value\": \"893800399222227\",\n \"valueType\": \"string\"\n },\n {\n \"id\": \"scrt_Code\",\n \"value\": \"UNI\",\n \"valueType\": \"string\"\n },\n {\n \"id\": \"scrg_Code\",\n \"value\": \"myGroup\",\n \"valueType\": \"string\"\n },\n {\n \"id\": \"scrd_ICC\",\n \"value\": \"893800399222226001\",\n \"valueType\": \"string\"\n },\n {\n \"id\": \"scrd_PUK1\",\n \"value\": \"12345678\",\n \"valueType\": \"string\"\n },\n {\n \"id\": \"scrd_PUK2\",\n \"value\": \"87654321\",\n \"valueType\": \"string\"\n },\n {\n \"id\": \"scrd_PIN1\",\n \"value\": \"1234\",\n \"valueType\": \"string\"\n },\n {\n \"id\": \"scrd_PIN2\",\n \"value\": \"4321\",\n \"valueType\": \"string\"\n },\n {\n \"id\": \"scrd_ExpirationDate\",\n \"value\": \"2999-12-31T23:59:59.997Z\",\n \"valueType\": \"date-time\"\n }\n ],\n \"serviceSpecification\": {\n \"@type\": \"serviceSpecification\",\n \"id\": \"SIM\"\n },\n \"state\": \"activ\"\n }\n ]\n}" + } + ] + }, + { + "name": "Fetching Service Info", + "request": { + "auth": { + "type": "basic", + "basic": [ + { + "key": "username", + "value": "login", + "type": "string" + }, + { + "key": "password", + "value": "password", + "type": "string" + } + ] + }, + "method": "GET", + "header": [ + { + "key": "Accept", + "value": "application/json;charset=utf-8", + "type": "text" + }, + { + "key": "Content-Type", + "value": "application/json;charset=utf-8", + "type": "text" + }, + { + "key": "x-ms-client-request-id", + "value": "20412345678903142363799", + "type": "text" + }, + { + "key": "Accept-Language", + "value": "en", + "type": "text" + } + ], + "url": { + "raw": "{{API}}/api/v2/tmf/service/{{Service_id}}", + "host": [ + "{{API}}" + ], + "path": [ + "api", + "v2", + "tmf", + "service", + "{{Service_id}}" + ] + } + }, + "response": [ + { + "name": "Service w/o Sim card", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "Accept", + "value": "application/json;charset=utf-8", + "type": "text" + }, + { + "key": "Content-Type", + "value": "application/json;charset=utf-8", + "type": "text" + }, + { + "key": "x-ms-client-request-id", + "value": "20412345678903142363799", + "type": "text" + }, + { + "key": "Accept-Language", + "value": "en", + "type": "text" + } + ], + "url": { + "raw": "{{API}}/api/v2/tmf/service/{{Service_id}}", + "host": [ + "{{API}}" + ], + "path": [ + "api", + "v2", + "tmf", + "service", + "{{Service_id}}" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "plain", + "header": [ + { + "key": "Date", + "value": "Tue, 22 Apr 2025 05:05:17 GMT" + }, + { + "key": "Content-Type", + "value": "text/plain; charset=utf-8" + }, + { + "key": "Transfer-Encoding", + "value": "chunked" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "Content-Range", + "value": "items 1-1/1" + }, + { + "key": "Accept-Language", + "value": "en" + }, + { + "key": "x-ms-client-request-id", + "value": "20412345678903142363799" + }, + { + "key": "X-Total-Count", + "value": "1" + }, + { + "key": "X-Page-Count", + "value": "1" + }, + { + "key": "cacheStatus", + "value": "Added" + }, + { + "key": "x-execution-status", + "value": "done" + }, + { + "key": "Access-Control-Allow-Credentials", + "value": "true" + }, + { + "key": "Access-Control-Allow-Headers", + "value": "Authorization,Pragma,Cache-control,Content-type,X-Requested-With" + }, + { + "key": "Access-Control-Allow-Methods", + "value": "GET,POST,PUT,DELETE,HEAD,OPTIONS" + }, + { + "key": "Strict-Transport-Security", + "value": "max-age=31536000" + }, + { + "key": "Content-Security-Policy", + "value": "img-src https: data:; upgrade-insecure-requests" + }, + { + "key": "Content-Encoding", + "value": "gzip" + } + ], + "cookie": [], + "body": "{\n \"feature\": [\n {\n \"@type\": \"Feature\",\n \"id\": \"9000-20403000000011863808\",\n \"isEnabled\": false,\n \"name\": \"M2M Monthly Fee\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2025-04-01T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"NotOrd\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Charge\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6335850\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9215-20403000000011863809\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9215\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2025-04-01T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"NotOrd\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Blocker service\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6335850\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9201-20403000000011863810\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9201\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2025-04-01T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"NotOrd\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Blocker service\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6335850\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9204-20403000000011863811\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9204\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2025-04-01T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"NotOrd\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Blocker service\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6335850\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9301-20403000000011863812\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9301\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2025-04-01T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"NotOrd\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Traffic charge\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6335850\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9304-20403000000011863813\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee World\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9304\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2025-04-01T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"NotOrd\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Traffic charge\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6335850\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9308-20403000000011863814\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9308\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2025-04-01T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"NotOrd\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Traffic charge\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6335850\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9309-20403000000011863815\",\n \"isEnabled\": false,\n \"name\": \"M2M Voice Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9309\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2025-04-01T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"NotOrd\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Traffic charge\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6335850\",\n \"valueType\": \"string\"\n }\n ]\n }\n ],\n \"hasStarted\": false,\n \"isServiceEnabled\": false,\n \"relatedParty\": [\n {\n \"id\": \"7722572\",\n \"IDType\": 0,\n \"@referredType\": \"Customers\"\n }\n ],\n \"serviceDate\": \"2025-04-01T00:00:00\",\n \"id\": \"01-7722881\",\n \"category\": \"GSM\",\n \"serviceCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"MSISDN\",\n \"name\": \"MSISDN\",\n \"value\": \"380676666368\",\n \"valueType\": \"string\"\n }\n ],\n \"serviceSpecification\": {\n \"@type\": \"serviceSpecification\",\n \"id\": \"Mobile\"\n },\n \"state\": \"created\"\n}" + }, + { + "name": "Service with Sim card", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "Accept", + "value": "application/json;charset=utf-8", + "type": "text" + }, + { + "key": "Content-Type", + "value": "application/json;charset=utf-8", + "type": "text" + }, + { + "key": "x-ms-client-request-id", + "value": "20412345678903142363799", + "type": "text" + }, + { + "key": "Accept-Language", + "value": "en", + "type": "text" + } + ], + "url": { + "raw": "{{API}}/api/v2/tmf/service/{{Service_id}}", + "host": [ + "{{API}}" + ], + "path": [ + "api", + "v2", + "tmf", + "service", + "{{Service_id}}" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "plain", + "header": [ + { + "key": "Date", + "value": "Tue, 22 Apr 2025 05:07:10 GMT" + }, + { + "key": "Content-Type", + "value": "text/plain; charset=utf-8" + }, + { + "key": "Transfer-Encoding", + "value": "chunked" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "Content-Range", + "value": "items 1-1/1" + }, + { + "key": "Accept-Language", + "value": "en" + }, + { + "key": "x-ms-client-request-id", + "value": "20412345678903142363799" + }, + { + "key": "X-Total-Count", + "value": "1" + }, + { + "key": "X-Page-Count", + "value": "1" + }, + { + "key": "cacheStatus", + "value": "Added" + }, + { + "key": "x-execution-status", + "value": "done" + }, + { + "key": "Access-Control-Allow-Credentials", + "value": "true" + }, + { + "key": "Access-Control-Allow-Headers", + "value": "Authorization,Pragma,Cache-control,Content-type,X-Requested-With" + }, + { + "key": "Access-Control-Allow-Methods", + "value": "GET,POST,PUT,DELETE,HEAD,OPTIONS" + }, + { + "key": "Strict-Transport-Security", + "value": "max-age=31536000" + }, + { + "key": "Content-Security-Policy", + "value": "img-src https: data:; upgrade-insecure-requests" + }, + { + "key": "Content-Encoding", + "value": "gzip" + } + ], + "cookie": [], + "body": "{\n \"feature\": [\n {\n \"@type\": \"Feature\",\n \"id\": \"9000-20403000000011863696\",\n \"isEnabled\": true,\n \"name\": \"M2M Monthly Fee\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2025-04-01T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"Enable\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Charge\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6335832\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9215-20403000000011863697\",\n \"isEnabled\": false,\n \"name\": \"M2M Data Transmition Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9215\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2025-04-01T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"FinBlock\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Blocker service\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6335832\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9201-20403000000011863698\",\n \"isEnabled\": false,\n \"name\": \"M2M SMS Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9201\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2025-04-01T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"FinBlock\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Blocker service\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6335832\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9204-20403000000011863699\",\n \"isEnabled\": true,\n \"name\": \"M2M Voice Access\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9204\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2025-04-01T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"Enable\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Blocker service\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6335832\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9301-20403000000011863700\",\n \"isEnabled\": true,\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9301\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2025-04-01T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"Enable\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Traffic charge\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6335832\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9304-20403000000011863701\",\n \"isEnabled\": true,\n \"name\": \"M2M SMS Penalty Fee World\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9304\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2025-04-01T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"Enable\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Traffic charge\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6335832\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9308-20403000000011863702\",\n \"isEnabled\": true,\n \"name\": \"M2M SMS Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9308\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2025-04-01T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"Enable\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Traffic charge\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6335832\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"id\": \"9309-20403000000011863703\",\n \"isEnabled\": true,\n \"name\": \"M2M Voice Penalty Fee Ukraine\",\n \"featureCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceCode\",\n \"name\": \"ServiceCode\",\n \"value\": \"9309\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateSet\",\n \"name\": \"DateSet\",\n \"value\": \"2025-04-01T00:00:00\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"DateDrop\",\n \"name\": \"DateDrop\",\n \"value\": \"2999-12-31T23:59:59\",\n \"valueType\": \"datetime\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"Count\",\n \"name\": \"Count\",\n \"value\": \"1\",\n \"valueType\": \"Number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"StatusCode\",\n \"name\": \"StatusCode\",\n \"value\": \"Enable\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"ServiceType\",\n \"name\": \"ServiceType\",\n \"value\": \"Traffic charge\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"TemplateSubscriptionID\",\n \"name\": \"TemplateSubscriptionID\",\n \"value\": \"6335832\",\n \"valueType\": \"string\"\n }\n ]\n }\n ],\n \"hasStarted\": true,\n \"isServiceEnabled\": true,\n \"relatedParty\": [\n {\n \"id\": \"7722572\",\n \"IDType\": 0,\n \"@referredType\": \"Customers\"\n }\n ],\n \"serviceDate\": \"2025-04-01T00:00:00\",\n \"id\": \"01-7722875\",\n \"category\": \"GSM\",\n \"serviceCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"MSISDN\",\n \"name\": \"MSISDN\",\n \"value\": \"380676666362\",\n \"valueType\": \"string\"\n }\n ],\n \"serviceSpecification\": {\n \"@type\": \"serviceSpecification\",\n \"id\": \"Mobile\"\n },\n \"startDate\": \"2025-04-01T00:00:00\",\n \"state\": \"activ\",\n \"supportingService\": [\n {\n \"@type\": \"Service\",\n \"serviceCharacteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_IMSI\",\n \"value\": \"255030621983791\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrt_Code\",\n \"value\": \"UNI\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrg_Code\",\n \"value\": \"myGroup\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrg_ID\",\n \"value\": \"120\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_ICC\",\n \"value\": \"893800399222225893\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_PUK1\",\n \"value\": \"01231234\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_PUK2\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_PIN1\",\n \"value\": \"0123\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_PIN2\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrs_Code\",\n \"value\": \"activ\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"scrd_ExpirationDate\",\n \"valueType\": \"date-time\"\n }\n ],\n \"serviceSpecification\": {\n \"id\": \"SIM\"\n },\n \"state\": \"activ\",\n \"id\": \"02-17329\"\n }\n ]\n}" + } + ] + }, + { + "name": "Invoke Configuration Flow", + "request": { + "auth": { + "type": "basic", + "basic": [ + { + "key": "username", + "value": "bpmn_user", + "type": "string" + }, + { + "key": "password", + "value": "password", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n\t\"@type\": \"Service\",\r\n\t\"serviceSpecification\": {\r\n\t\t\"@type\": \"serviceSpecification\",\r\n\t\t\"id\": \"Mobile\"\r\n\t},\r\n\t\"note\": [\r\n\t\t{\r\n\t\t\t\"author\": \"domain+username\",\r\n\t\t\t\"hostname\": \"localhost\",\r\n\t\t\t\"text\": \"GSM services configuration\",\r\n\t\t\t\"@type\": \"Note\"\r\n\t\t}\r\n\t],\r\n\t\"feature\": [\r\n\t\t{\r\n\t\t\t\"@type\": \"Feature\",\r\n\t\t\t\"isEnabled\": false,\r\n\t\t\t\"featureCharacteristic\": [\r\n\t\t\t\t{\r\n\t\t\t\t\t\"id\": \"ServiceCode\",\r\n\t\t\t\t\t\"valueType\": \"string\",\r\n\t\t\t\t\t\"value\": \"{{Srv_Code1}}\"\r\n\t\t\t\t}\r\n\t\t\t]\r\n\t\t},\r\n\t\t{\r\n\t\t\t\"@type\": \"Feature\",\r\n\t\t\t\"isEnabled\": false,\r\n\t\t\t\"featureCharacteristic\": [\r\n\t\t\t\t{\r\n\t\t\t\t\t\"id\": \"ServiceCode\",\r\n\t\t\t\t\t\"valueType\": \"string\",\r\n\t\t\t\t\t\"value\": \"{{Srv_Code2}}\"\r\n\t\t\t\t}\r\n\t\t\t]\r\n\t\t}\r\n\t],\r\n\t\"id\": \"{{Service_id}}\"\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{API}}/api/v0/bpmn/flowdefinitions/personal/MyDrafts/put-service/Start.json?debug=false&async=false&run=auto", + "host": [ + "{{API}}" + ], + "path": [ + "api", + "v0", + "bpmn", + "flowdefinitions", + "personal", + "MyDrafts", + "put-service", + "Start.json" + ], + "query": [ + { + "key": "debug", + "value": "false" + }, + { + "key": "async", + "value": "false" + }, + { + "key": "run", + "value": "auto" + } + ] + } + }, + "response": [ + { + "name": "Success Configuration", + "originalRequest": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n\t\"@type\": \"Service\",\r\n\t\"serviceSpecification\": {\r\n\t\t\"@type\": \"serviceSpecification\",\r\n\t\t\"id\": \"Mobile\"\r\n\t},\r\n\t\"note\": [\r\n\t\t{\r\n\t\t\t\"author\": \"domain+username\",\r\n\t\t\t\"hostname\": \"localhost\",\r\n\t\t\t\"text\": \"GSM services configuration\",\r\n\t\t\t\"@type\": \"Note\"\r\n\t\t}\r\n\t],\r\n\t\"feature\": [\r\n\t\t{\r\n\t\t\t\"@type\": \"Feature\",\r\n\t\t\t\"isEnabled\": false,\r\n\t\t\t\"featureCharacteristic\": [\r\n\t\t\t\t{\r\n\t\t\t\t\t\"id\": \"ServiceCode\",\r\n\t\t\t\t\t\"valueType\": \"string\",\r\n\t\t\t\t\t\"value\": \"{{Srv_Code1}}\"\r\n\t\t\t\t}\r\n\t\t\t]\r\n\t\t},\r\n\t\t{\r\n\t\t\t\"@type\": \"Feature\",\r\n\t\t\t\"isEnabled\": false,\r\n\t\t\t\"featureCharacteristic\": [\r\n\t\t\t\t{\r\n\t\t\t\t\t\"id\": \"ServiceCode\",\r\n\t\t\t\t\t\"valueType\": \"string\",\r\n\t\t\t\t\t\"value\": \"{{Srv_Code2}}\"\r\n\t\t\t\t}\r\n\t\t\t]\r\n\t\t}\r\n\t],\r\n\t\"id\": \"{{Service_id}}\"\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{API}}/api/v0/bpmn/flowdefinitions/personal/MyDrafts/put-service/Start.json?debug=false&async=false&run=auto", + "host": [ + "{{API}}" + ], + "path": [ + "api", + "v0", + "bpmn", + "flowdefinitions", + "personal", + "MyDrafts", + "put-service", + "Start.json" + ], + "query": [ + { + "key": "debug", + "value": "false" + }, + { + "key": "async", + "value": "false" + }, + { + "key": "run", + "value": "auto" + } + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Date", + "value": "Tue, 22 Apr 2025 04:47:52 GMT" + }, + { + "key": "Content-Type", + "value": "application/json; charset=utf-8" + }, + { + "key": "Transfer-Encoding", + "value": "chunked" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "Access-Control-Allow-Credentials", + "value": "true" + }, + { + "key": "Access-Control-Allow-Headers", + "value": "Authorization,Pragma,Cache-control,Content-type,X-Requested-With" + }, + { + "key": "Access-Control-Allow-Methods", + "value": "GET,POST,PUT,DELETE,HEAD,OPTIONS" + }, + { + "key": "Strict-Transport-Security", + "value": "max-age=31536000" + }, + { + "key": "Content-Security-Policy", + "value": "img-src https: data:; upgrade-insecure-requests" + }, + { + "key": "Content-Encoding", + "value": "gzip" + } + ], + "cookie": [], + "body": "{\n \"relatedParty\": [\n {}\n ],\n \"feature\": [\n {\n \"@type\": \"Feature\",\n \"isEnabled\": false,\n \"featureCharacteristic\": [\n {\n \"id\": \"ServiceCode\",\n \"value\": \"9215\",\n \"valueType\": \"string\"\n }\n ]\n },\n {\n \"@type\": \"Feature\",\n \"isEnabled\": false,\n \"featureCharacteristic\": [\n {\n \"id\": \"ServiceCode\",\n \"value\": \"9201\",\n \"valueType\": \"string\"\n }\n ]\n }\n ],\n \"serviceCharacteristic\": [\n {}\n ],\n \"id\": \"01-7722879\",\n \"supportingService\": [\n {}\n ]\n}" + } + ] + } + ] + } + ], + "event": [ + { + "listen": "prerequest", + "script": { + "type": "text/javascript", + "packages": {}, + "exec": [ + "" + ] + } + }, + { + "listen": "test", + "script": { + "type": "text/javascript", + "packages": {}, + "exec": [ + "" + ] + } + } + ], + "variable": [ + { + "key": "Srv_Code1", + "value": "9215", + "type": "string" + }, + { + "key": "Srv_Code2", + "value": "9201", + "type": "string" + }, + { + "key": "Service_id", + "value": "01-7702876", + "type": "string" + }, + { + "key": "startDate", + "value": "2024-05-13T00:00:00.000Z", + "type": "string" + }, + { + "key": "configDate", + "value": "", + "type": "string" + }, + { + "key": "Active_state", + "value": "activ", + "type": "string" + }, + { + "key": "msisdn", + "value": "671234567", + "type": "string" + }, + { + "key": "IMSI", + "value": "255030621983768", + "type": "string" + }, + { + "key": "SIM_group", + "value": "myGroup", + "type": "string" + }, + { + "key": "ICC", + "value": "893800399222225840", + "type": "string" + }, + { + "key": "new_ICC", + "value": "893800399222225841", + "type": "string" + }, + { + "key": "new_IMSI", + "value": "255030621983769", + "type": "string" + }, + { + "key": "replace_startDate", + "value": "2024-05-14T00:00:00.000Z", + "type": "string" + }, + { + "key": "close_date", + "value": "2024-05-14T23:59:59.997Z", + "type": "string" + }, + { + "key": "rfs_service_id", + "value": "02-42", + "type": "string" + }, + { + "key": "customer_id", + "value": "7722572", + "type": "string" + }, + { + "key": "PUK1", + "value": "12345678", + "type": "default" + }, + { + "key": "PUK2", + "value": "87654321", + "type": "default" + }, + { + "key": "PIN1", + "value": "1234", + "type": "default" + }, + { + "key": "PIN2", + "value": "4321", + "type": "default" + } + ] +} diff --git a/tmforum-apis/TMF653_Service_Test_Management/TMF653_POST_ServiceTest.bpmn b/tmforum-apis/TMF653_Service_Test_Management/TMF653_POST_ServiceTest.bpmn index 1a89c51..cb5e0df 100644 --- a/tmforum-apis/TMF653_Service_Test_Management/TMF653_POST_ServiceTest.bpmn +++ b/tmforum-apis/TMF653_Service_Test_Management/TMF653_POST_ServiceTest.bpmn @@ -7,7 +7,7 @@ [] [ { "name": "RestApi", "initCode": "functions://default/RestApi", "initParameters": [ { "name": "Uri", "type": "Uri", "required": true, "oldName": "Uri", "oldType": "Uri", "defaultValue": "http://servername:port/resource" }, { "name": "Method", "type": "string", "required": true, "oldName": "Method", "oldType": "string", "defaultValue": "GET" }, { "name": "Login", "type": "string", "required": false, "oldName": "Login", "oldType": "string", "defaultValue": null }, { "name": "Password", "type": "string", "required": false, "oldName": "Password", "oldType": "string", "defaultValue": null }, { "name": "Headers", "type": "StringDictionary", "required": false, "oldName": "Headers", "oldType": "StringDictionary", "defaultValue": "{\r\n \"Content-Type\":\"application/json;charset=utf-16\",\r\n \"system\":\"204\",\r\n \"global_unique_id\":\"6a297fcb-956e-4228-8c11-017e9bacd629\"\r\n }" }, { "name": "Body", "type": "string", "required": false, "oldName": "Body", "oldType": "string", "defaultValue": "{}" }, { "name": "Encoding", "type": "string", "required": false, "oldName": "Encoding", "oldType": "string", "defaultValue": "utf-8" }, { "name": "Result", "type": "HttpResponse", "required": false, "oldName": "Result", "oldType": "HttpResponse", "defaultValue": null } ], "oldName": "RestApi" }, { "name": "RestApi_Get", "initCode": "functions://default/RestApi/Get", "initParameters": [ { "name": "Uri", "type": "Uri", "required": true, "oldName": "Uri", "oldType": "Uri", "defaultValue": "http://servername:port/resource" }, { "name": "Login", "type": "string", "required": false, "oldName": "Login", "oldType": "string", "defaultValue": null }, { "name": "Password", "type": "string", "required": false, "oldName": "Password", "oldType": "string", "defaultValue": null }, { "name": "Headers", "type": "StringDictionary", "required": false, "oldName": "Headers", "oldType": "StringDictionary", "defaultValue": "{\r\n \"Content-Type\":\"application/json;charset=utf-16\",\r\n \"system\":\"204\",\r\n \"global_unique_id\":\"6a297fcb-956e-4228-8c11-017e9bacd629\"\r\n }" }, { "name": "Encoding", "type": "string", "required": false, "oldName": "Encoding", "oldType": "string", "defaultValue": "utf-8" }, { "name": "Result", "type": "HttpResponse", "required": false, "oldName": "Result", "oldType": "HttpResponse", "defaultValue": null } ], "oldName": "RestApi_Get" }, { "name": "JsonPath", "initCode": "functions://default//JsonPath", "initParameters": [ { "name": "Response", "type": "HttpResponse", "required": true, "oldName": "Response", "oldType": "HttpResponse", "defaultValue": null }, { "name": "Path", "type": "string", "required": false, "oldName": "Path", "oldType": "string", "defaultValue": "$" }, { "name": "Result", "type": "Json", "required": false, "oldName": "Result", "oldType": "Json", "defaultValue": null } ], "oldName": "JsonPath" }, { "name": "SaveVariable", "initCode": "functions://default//SaveVariable", "initParameters": [ { "name": "VariableName", "type": "string", "required": true, "oldName": "VariableName", "oldType": "string", "defaultValue": "varName" }, { "name": "Data", "type": "object", "required": true, "oldName": "Data", "oldType": "object", "defaultValue": "#previous" } ], "oldName": "SaveVariable" }, { "name": "Wait", "initCode": "functions://default//Wait", "initParameters": [ { "name": "millisecondsTimeout", "type": "int", "required": true, "oldName": "millisecondsTimeout", "oldType": "int", "defaultValue": "1000" } ], "oldName": "Wait" }, { "name": "SQL_Oracle_Query", "initCode": "functions://default//SQL/Oracle/Query", "initParameters": [ { "name": "userID", "type": "string", "required": true, "oldName": "userID", "oldType": "string", "defaultValue": null }, { "name": "password", "type": "string", "required": false, "oldName": "password", "oldType": "string", "defaultValue": null }, { "name": "dataSource", "type": "string", "required": false, "oldName": "dataSource", "oldType": "string", "defaultValue": null }, { "name": "query", "type": "string", "required": false, "oldName": "query", "oldType": "string", "defaultValue": null }, { "name": "Result", "type": "Collection", "required": false, "oldName": "Result", "oldType": "Collection", "defaultValue": null } ], "oldName": "SQL_Oracle_Query" }, { "name": "SQL_Oracle_Command", "initCode": "functions://default//SQL/Oracle/Command", "initParameters": [ { "name": "userID", "type": "string", "required": true, "oldName": "userID", "oldType": "string", "defaultValue": null }, { "name": "password", "type": "string", "required": false, "oldName": "password", "oldType": "string", "defaultValue": null }, { "name": "dataSource", "type": "string", "required": false, "oldName": "dataSource", "oldType": "string", "defaultValue": null }, { "name": "command", "type": "string", "required": false, "oldName": "command", "oldType": "string", "defaultValue": null }, { "name": "Result", "type": "int", "required": false, "oldName": "Result", "oldType": "int", "defaultValue": null } ], "oldName": "SQL_Oracle_Command" }] [] - [ { "name": "cachePrefixId", "type": "string", "initialValue": "" }, { "name": "cacheStatus", "type": "string", "initialValue": "" }, { "name": "httpConfig", "type": "HttpConfig", "initialValue": "{\r\n \"host\":\"https://10.29.101.122\",\r\n \"port\":\"6992\",\r\n \"login\":\"login\",\r\n \"password\":\"password\",\r\n \"encoding\":\"utf-8\",\r\n \"headers\":{\r\n \"Content-Type\":\"application/vnd.api+json\",\r\n \"Accept\":\"application/vnd.api+json\"\r\n }\r\n}\r\n" }, { "name": "idIsCorrect", "type": "bool", "initialValue": "false" }, { "name": "sqlConnectionString", "type": "string", "initialValue": "Data Source=sqlserv;Initial Catalog=unibill;User ID=login;Password=password;MultipleActiveResultSets=true;Encrypt=True;TrustServerCertificate=True;Command Timeout=3600" }, { "name": "x_ms_client_request_id", "type": "string", "initialValue": "" }] + [ { "name": "cachePrefixId", "type": "string", "initialValue": "" }, { "name": "cacheStatus", "type": "string", "initialValue": "" }, { "name": "httpConfig", "type": "HttpConfig", "initialValue": "{\r\n \"host\":\"https://localhost\",\r\n \"port\":\"6992\",\r\n \"login\":\"login\",\r\n \"password\":\"password\",\r\n \"encoding\":\"utf-8\",\r\n \"headers\":{\r\n \"Content-Type\":\"application/vnd.api+json\",\r\n \"Accept\":\"application/vnd.api+json\"\r\n }\r\n}\r\n" }, { "name": "idIsCorrect", "type": "bool", "initialValue": "false" }, { "name": "sqlConnectionString", "type": "string", "initialValue": "Data Source=localhost;Initial Catalog=examples;User ID=login;Password=;MultipleActiveResultSets=true;Encrypt=True;TrustServerCertificate=True;Command Timeout=3600" }, { "name": "x_ms_client_request_id", "type": "string", "initialValue": "" }] { "mode": "ondemand", "relatedService": { "id": "02-55", "@referredType": "Service" }, "testSpecification": { "id": "rating-service-info", "@referredType": "RatingSessions" }} @@ -22,7 +22,7 @@ - { "status": "HttpRequestAttributes", "code": 200, "headers": "", "exampelsVariants": [ { "title": "SUCCESS", "value": "[\n {\n \"validFor\": {\n \"endDateTime\": \"2025-08-15T12:13:35.043\",\n \"startDateTime\": \"2025-06-01T00:00:00\"\n },\n \"relatedParty\": [\n {\n \"@referredType\": \"Customers\",\n \"id\": \"6098799\",\n \"idType\": \"0\"\n }\n ],\n \"testSpecification\": {\n \"@referredType\": \"RatingSessions\",\n \"id\": \"rating-service-info\"\n },\n \"mode\": \"ondemand\",\n \"startDateTime\": \"2025-08-15T12:13:34.8\",\n \"state\": \"Completed\",\n \"characteristic\": [\n {\n \"name\": \"M2M_DTE\",\n \"value\": {\n \"ratType\": \"GERAN\",\n \"pdpAddress\": \"10.11.234.206\",\n \"chargingCharacteristics\": null,\n \"apn\": \"m2mplatform\",\n \"ChargingID\": null,\n \"ChargingCause\": \"UPDATE\",\n \"mcc\": \"255\",\n \"mnc\": \"03\",\n \"IsRoaming\": \"0\",\n \"Technology\": \"2G\"\n }\n }\n ]\n }\n]" } ], "producedTypeVariants": []} + { "status": "HttpRequestAttributes", "code": 200, "headers": "", "exampelsVariants": [ { "title": "SUCCESS", "value": "[\n {\n \"validFor\": {\n \"endDateTime\": \"2025-08-15T12:13:35.043\",\n \"startDateTime\": \"2025-06-01T00:00:00\"\n },\n \"relatedParty\": [\n {\n \"@referredType\": \"Customers\",\n \"id\": \"6098799\",\n \"idType\": \"0\"\n }\n ],\n \"testSpecification\": {\n \"@referredType\": \"RatingSessions\",\n \"id\": \"rating-service-info\"\n },\n \"mode\": \"ondemand\",\n \"startDateTime\": \"2025-08-15T12:13:34.8\",\n \"state\": \"Completed\",\n \"characteristic\": [\n {\n \"name\": \"M2M_DTE\",\n \"value\": {\n \"ratType\": \"GERAN\",\n \"pdpAddress\": \"localhost\",\n \"chargingCharacteristics\": null,\n \"apn\": \"m2mplatform\",\n \"ChargingID\": null,\n \"ChargingCause\": \"UPDATE\",\n \"mcc\": \"255\",\n \"mnc\": \"03\",\n \"IsRoaming\": \"0\",\n \"Technology\": \"2G\"\n }\n }\n ]\n }\n]" } ], "producedTypeVariants": []} Flow_07llyuk diff --git a/tmforum-apis/TMF653_Service_Test_Management/TMF653_ServiceTest_Management.postman_collection.json b/tmforum-apis/TMF653_Service_Test_Management/TMF653_ServiceTest_Management.postman_collection.json index e5544c6..35dcc31 100644 --- a/tmforum-apis/TMF653_Service_Test_Management/TMF653_ServiceTest_Management.postman_collection.json +++ b/tmforum-apis/TMF653_Service_Test_Management/TMF653_ServiceTest_Management.postman_collection.json @@ -129,7 +129,7 @@ } ], "cookie": [], - "body": "[\n {\n \"validFor\": {\n \"endDateTime\": \"2025-08-04T15:37:42.907\",\n \"startDateTime\": \"2025-08-01T00:00:00\"\n },\n \"relatedParty\": [\n {\n \"@referredType\": \"Customers\",\n \"id\": \"7722572\",\n \"idType\": 0\n }\n ],\n \"testSpecification\": {\n \"@referredType\": \"RatingSessions\",\n \"id\": \"rating-service-info\"\n },\n \"mode\": \"ondemand\",\n \"startDateTime\": \"2025-08-04T15:37:42.84\",\n \"state\": \"Completed\",\n \"characteristic\": [\n {\n \"name\": \"M2M_DTE\",\n \"value\": {\n \"ratType\": \"UTRAN\",\n \"pdpAddress\": \"10.9.205.78\",\n \"chargingCharacteristics\": null,\n \"apn\": \"m2mplatform\",\n \"ChargingID\": \"20404200000000166220\",\n \"ChargingCause\": \"UPDATE\",\n \"mcc\": \"255\",\n \"mnc\": \"03\",\n \"IsRoaming\": \"0\"\n }\n }\n ]\n }\n]" + "body": "[\n {\n \"validFor\": {\n \"endDateTime\": \"2025-08-04T15:37:42.907\",\n \"startDateTime\": \"2025-08-01T00:00:00\"\n },\n \"relatedParty\": [\n {\n \"@referredType\": \"Customers\",\n \"id\": \"7722572\",\n \"idType\": 0\n }\n ],\n \"testSpecification\": {\n \"@referredType\": \"RatingSessions\",\n \"id\": \"rating-service-info\"\n },\n \"mode\": \"ondemand\",\n \"startDateTime\": \"2025-08-04T15:37:42.84\",\n \"state\": \"Completed\",\n \"characteristic\": [\n {\n \"name\": \"M2M_DTE\",\n \"value\": {\n \"ratType\": \"UTRAN\",\n \"pdpAddress\": \"localhost\",\n \"chargingCharacteristics\": null,\n \"apn\": \"m2mplatform\",\n \"ChargingID\": \"20404200000000166220\",\n \"ChargingCause\": \"UPDATE\",\n \"mcc\": \"255\",\n \"mnc\": \"03\",\n \"IsRoaming\": \"0\"\n }\n }\n ]\n }\n]" } ] } diff --git a/tmforum-apis/TMF654_PrepayBalance_Management/GET_AccumulatedBalance.bpmn b/tmforum-apis/TMF654_PrepayBalance_Management/GET_AccumulatedBalance.bpmn index e4a8868..9248359 100644 --- a/tmforum-apis/TMF654_PrepayBalance_Management/GET_AccumulatedBalance.bpmn +++ b/tmforum-apis/TMF654_PrepayBalance_Management/GET_AccumulatedBalance.bpmn @@ -7,7 +7,7 @@ [] [ { "name": "RestApi", "initCode": "functions://default/RestApi", "initParameters": [ { "name": "Uri", "type": "Uri", "required": true, "oldName": "Uri", "oldType": "Uri", "defaultValue": "http://servername:port/resource" }, { "name": "Method", "type": "string", "required": true, "oldName": "Method", "oldType": "string", "defaultValue": "GET" }, { "name": "Login", "type": "string", "required": false, "oldName": "Login", "oldType": "string", "defaultValue": null }, { "name": "Password", "type": "string", "required": false, "oldName": "Password", "oldType": "string", "defaultValue": null }, { "name": "Headers", "type": "StringDictionary", "required": false, "oldName": "Headers", "oldType": "StringDictionary", "defaultValue": "{\r\n \"Content-Type\":\"application/json;charset=utf-16\",\r\n \"system\":\"204\",\r\n \"global_unique_id\":\"6a297fcb-956e-4228-8c11-017e9bacd629\"\r\n }" }, { "name": "Body", "type": "string", "required": false, "oldName": "Body", "oldType": "string", "defaultValue": "{}" }, { "name": "Encoding", "type": "string", "required": false, "oldName": "Encoding", "oldType": "string", "defaultValue": "utf-8" }, { "name": "Result", "type": "HttpResponse", "required": false, "oldName": "Result", "oldType": "HttpResponse", "defaultValue": null } ], "oldName": "RestApi" }, { "name": "RestApi_Get", "initCode": "functions://default/RestApi/Get", "initParameters": [ { "name": "Uri", "type": "Uri", "required": true, "oldName": "Uri", "oldType": "Uri", "defaultValue": "http://servername:port/resource" }, { "name": "Login", "type": "string", "required": false, "oldName": "Login", "oldType": "string", "defaultValue": null }, { "name": "Password", "type": "string", "required": false, "oldName": "Password", "oldType": "string", "defaultValue": null }, { "name": "Headers", "type": "StringDictionary", "required": false, "oldName": "Headers", "oldType": "StringDictionary", "defaultValue": "{\r\n \"Content-Type\":\"application/json;charset=utf-16\",\r\n \"system\":\"204\",\r\n \"global_unique_id\":\"6a297fcb-956e-4228-8c11-017e9bacd629\"\r\n }" }, { "name": "Encoding", "type": "string", "required": false, "oldName": "Encoding", "oldType": "string", "defaultValue": "utf-8" }, { "name": "Result", "type": "HttpResponse", "required": false, "oldName": "Result", "oldType": "HttpResponse", "defaultValue": null } ], "oldName": "RestApi_Get" }, { "name": "JsonPath", "initCode": "functions://default//JsonPath", "initParameters": [ { "name": "Response", "type": "HttpResponse", "required": true, "oldName": "Response", "oldType": "HttpResponse", "defaultValue": null }, { "name": "Path", "type": "string", "required": false, "oldName": "Path", "oldType": "string", "defaultValue": "$" }, { "name": "Result", "type": "Json", "required": false, "oldName": "Result", "oldType": "Json", "defaultValue": null } ], "oldName": "JsonPath" }, { "name": "SaveVariable", "initCode": "functions://default//SaveVariable", "initParameters": [ { "name": "VariableName", "type": "string", "required": true, "oldName": "VariableName", "oldType": "string", "defaultValue": "varName" }, { "name": "Data", "type": "object", "required": true, "oldName": "Data", "oldType": "object", "defaultValue": "#previous" } ], "oldName": "SaveVariable" }, { "name": "Wait", "initCode": "functions://default//Wait", "initParameters": [ { "name": "millisecondsTimeout", "type": "int", "required": true, "oldName": "millisecondsTimeout", "oldType": "int", "defaultValue": "1000" } ], "oldName": "Wait" }, { "name": "SQL_Oracle_Query", "initCode": "functions://default//SQL/Oracle/Query", "initParameters": [ { "name": "userID", "type": "string", "required": true, "oldName": "userID", "oldType": "string", "defaultValue": null }, { "name": "password", "type": "string", "required": false, "oldName": "password", "oldType": "string", "defaultValue": null }, { "name": "dataSource", "type": "string", "required": false, "oldName": "dataSource", "oldType": "string", "defaultValue": null }, { "name": "query", "type": "string", "required": false, "oldName": "query", "oldType": "string", "defaultValue": null }, { "name": "Result", "type": "Collection", "required": false, "oldName": "Result", "oldType": "Collection", "defaultValue": null } ], "oldName": "SQL_Oracle_Query" }, { "name": "SQL_Oracle_Command", "initCode": "functions://default//SQL/Oracle/Command", "initParameters": [ { "name": "userID", "type": "string", "required": true, "oldName": "userID", "oldType": "string", "defaultValue": null }, { "name": "password", "type": "string", "required": false, "oldName": "password", "oldType": "string", "defaultValue": null }, { "name": "dataSource", "type": "string", "required": false, "oldName": "dataSource", "oldType": "string", "defaultValue": null }, { "name": "command", "type": "string", "required": false, "oldName": "command", "oldType": "string", "defaultValue": null }, { "name": "Result", "type": "int", "required": false, "oldName": "Result", "oldType": "int", "defaultValue": null } ], "oldName": "SQL_Oracle_Command" }] [] - [ { "name": "cacheId", "type": "string", "initialValue": null }, { "name": "cachePrefix", "type": "string", "initialValue": "AccumulatedBalance_GET_" }, { "name": "cacheStatus", "type": "string", "initialValue": null }, { "name": "httpConfig", "type": "HttpConfig", "initialValue": "{\r\n \"host\":\"https://10.29.101.122\",\r\n \"port\":\"6992\",\r\n \"login\":\"login\",\r\n \"password\":\"password\",\r\n \"encoding\":\"utf-8\",\r\n \"headers\":{\r\n \"Content-Type\":\"application/vnd.api+json\",\r\n \"Accept\":\"application/vnd.api+json\"\r\n }\r\n}\r\n" }, { "name": "sqlConnectionString", "type": "string", "initialValue": "Data Source=sqlserv;Initial Catalog=unibill;User ID=login;Password=password;MultipleActiveResultSets=true;Encrypt=True;TrustServerCertificate=True;Command Timeout=3600" }, { "name": "x_page_count", "type": "int", "initialValue": "" }] + [ { "name": "cacheId", "type": "string", "initialValue": null }, { "name": "cachePrefix", "type": "string", "initialValue": "AccumulatedBalance_GET_" }, { "name": "cacheStatus", "type": "string", "initialValue": null }, { "name": "httpConfig", "type": "HttpConfig", "initialValue": "{\r\n \"host\":\"https://localhost\",\r\n \"port\":\"6992\",\r\n \"login\":\"login\",\r\n \"password\":\"password\",\r\n \"encoding\":\"utf-8\",\r\n \"headers\":{\r\n \"Content-Type\":\"application/vnd.api+json\",\r\n \"Accept\":\"application/vnd.api+json\"\r\n }\r\n}\r\n" }, { "name": "sqlConnectionString", "type": "string", "initialValue": "Data Source=localhost;Initial Catalog=examples;User ID=login;Password=;MultipleActiveResultSets=true;Encrypt=True;TrustServerCertificate=True;Command Timeout=3600" }, { "name": "x_page_count", "type": "int", "initialValue": "" }] { "ErrFormat": "json", "Accept-Language": "uk", "offset": 1, "limit": 3, "id": "5707906", "relatedParty": [ { "@referredType": "Associations", "id": 6838, "IDType": 1 } ]} diff --git a/tmforum-apis/TMF654_PrepayBalance_Management/TMF654_GET_AccumulatedBalance.bpmn b/tmforum-apis/TMF654_PrepayBalance_Management/TMF654_GET_AccumulatedBalance.bpmn index f306d87..f106aba 100644 --- a/tmforum-apis/TMF654_PrepayBalance_Management/TMF654_GET_AccumulatedBalance.bpmn +++ b/tmforum-apis/TMF654_PrepayBalance_Management/TMF654_GET_AccumulatedBalance.bpmn @@ -3376,7 +3376,7 @@ "name": "httpConfig", "type": "HttpConfig", "initialValue": "{\r -\n \"host\":\"https://10.29.101.122\",\r +\n \"host\":\"https://localhost\",\r \n \"port\":\"6992\",\r \n \"login\":\"login\",\r \n \"password\":\"password\",\r @@ -3391,7 +3391,7 @@ { "name": "sqlConnectionString", "type": "string", - "initialValue": "Data Source=sqlserv;Initial Catalog=unibill;User ID=login;Password=password;MultipleActiveResultSets=true;Encrypt=True;TrustServerCertificate=True;Command Timeout=3600" + "initialValue": "Data Source=localhost;Initial Catalog=examples;User ID=login;Password=;MultipleActiveResultSets=true;Encrypt=True;TrustServerCertificate=True;Command Timeout=3600" }, { "name": "x_page_count", diff --git a/tmforum-apis/TMF666_Account_Management/TMF666_Account_Management.postman_collection.json b/tmforum-apis/TMF666_Account_Management/TMF666_Account_Management.postman_collection.json index 501deb4..c61f2be 100644 --- a/tmforum-apis/TMF666_Account_Management/TMF666_Account_Management.postman_collection.json +++ b/tmforum-apis/TMF666_Account_Management/TMF666_Account_Management.postman_collection.json @@ -267,7 +267,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"idType\":\"1\",\r\n \"description\":\"This billing account ...\",\r\n \"state\":\"synced\", \r\n \"accountType\":\"1001\",\r\n \"ratingType\":\"2\",\r\n \"RegistrCatID\":0,\r\n \"lastModified\": \"2023-09-15T00:00:00.000Z\",\r\n \"note\":[\r\n {\r\n \"author\":\"domain+username\", \r\n \"hostname\":\"192.156.7.77\", \r\n \"text\":\"This is a M2M Advanced activation\", \r\n \"@type\":\"Note\"\r\n }\r\n ],\r\n \"billStructure\":{\r\n \"presentationMedia\":[\r\n {\r\n \"id\":\"3\",\r\n \"deliveryZone\":\"45\"\r\n }\r\n ]\r\n },\r\n \"paymentPlan\":[\r\n {\r\n \"planType\":\"1\",\r\n \"paymentMethod\":{\r\n \"id\":\"2\"\r\n }\r\n }\r\n ],\r\n \"relatedParty\":[\r\n {\r\n \"@referredType\":\"Associations\",\r\n \"id\":\"6838\",\r\n \"IDType\":1\r\n }\r\n ]\r\n}\r\n" + "raw": "{\r\n \"idType\":\"1\",\r\n \"description\":\"This billing account ...\",\r\n \"state\":\"synced\", \r\n \"accountType\":\"1001\",\r\n \"ratingType\":\"2\",\r\n \"RegistrCatID\":0,\r\n \"lastModified\": \"2023-09-15T00:00:00.000Z\",\r\n \"note\":[\r\n {\r\n \"author\":\"domain+username\", \r\n \"hostname\":\"localhost\", \r\n \"text\":\"This is a M2M Advanced activation\", \r\n \"@type\":\"Note\"\r\n }\r\n ],\r\n \"billStructure\":{\r\n \"presentationMedia\":[\r\n {\r\n \"id\":\"3\",\r\n \"deliveryZone\":\"45\"\r\n }\r\n ]\r\n },\r\n \"paymentPlan\":[\r\n {\r\n \"planType\":\"1\",\r\n \"paymentMethod\":{\r\n \"id\":\"2\"\r\n }\r\n }\r\n ],\r\n \"relatedParty\":[\r\n {\r\n \"@referredType\":\"Associations\",\r\n \"id\":\"6838\",\r\n \"IDType\":1\r\n }\r\n ]\r\n}\r\n" }, "url": { "raw": "{{API}}/api/v2/tmf/billingAccount/5894551", @@ -312,7 +312,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"idType\":\"1\",\r\n \"description\":\"This billing account ...\",\r\n \"state\":\"synced\", \r\n \"accountType\":\"1001\",\r\n \"ratingType\":\"2\",\r\n \"RegistrCatID\":0,\r\n \"note\":[\r\n {\r\n \"author\":\"domain+username\", \r\n \"hostname\":\"192.156.7.77\", \r\n \"text\":\"This is a M2M Advanced activation\", \r\n \"@type\":\"Note\"\r\n }\r\n ],\r\n \"billStructure\":{\r\n \"presentationMedia\":[\r\n {\r\n \"id\":\"3\",\r\n \"deliveryZone\":\"45\"\r\n }\r\n ]\r\n },\r\n \"paymentPlan\":[\r\n {\r\n \"planType\":\"1\",\r\n \"paymentMethod\":{\r\n \"id\":\"2\"\r\n }\r\n }\r\n ],\r\n \"relatedParty\":[\r\n {\r\n \"@referredType\":\"Associations\",\r\n \"id\":\"6838\",\r\n \"IDType\":1\r\n }\r\n ],\r\n \"accountBalance\":[\r\n {\r\n \"amount\":{\r\n \"unit\":\"UAH\"\r\n },\r\n \"balanceType\":\"Main\",\r\n \"validFor\":{\r\n \"startDateTime\":\"2023-11-01T00:00:00.000Z\"\r\n }\r\n }\r\n ]\r\n}\r\n" + "raw": "{\r\n \"idType\":\"1\",\r\n \"description\":\"This billing account ...\",\r\n \"state\":\"synced\", \r\n \"accountType\":\"1001\",\r\n \"ratingType\":\"2\",\r\n \"RegistrCatID\":0,\r\n \"note\":[\r\n {\r\n \"author\":\"domain+username\", \r\n \"hostname\":\"localhost\", \r\n \"text\":\"This is a M2M Advanced activation\", \r\n \"@type\":\"Note\"\r\n }\r\n ],\r\n \"billStructure\":{\r\n \"presentationMedia\":[\r\n {\r\n \"id\":\"3\",\r\n \"deliveryZone\":\"45\"\r\n }\r\n ]\r\n },\r\n \"paymentPlan\":[\r\n {\r\n \"planType\":\"1\",\r\n \"paymentMethod\":{\r\n \"id\":\"2\"\r\n }\r\n }\r\n ],\r\n \"relatedParty\":[\r\n {\r\n \"@referredType\":\"Associations\",\r\n \"id\":\"6838\",\r\n \"IDType\":1\r\n }\r\n ],\r\n \"accountBalance\":[\r\n {\r\n \"amount\":{\r\n \"unit\":\"UAH\"\r\n },\r\n \"balanceType\":\"Main\",\r\n \"validFor\":{\r\n \"startDateTime\":\"2023-11-01T00:00:00.000Z\"\r\n }\r\n }\r\n ]\r\n}\r\n" }, "url": { "raw": "{{API}}/api/v2/tmf/billingAccount.json/5894551", diff --git a/tmforum-apis/TMF666_Account_Management/TMF666_Get_BillingAccount.bpmn b/tmforum-apis/TMF666_Account_Management/TMF666_Get_BillingAccount.bpmn index 1569ea8..da40259 100644 --- a/tmforum-apis/TMF666_Account_Management/TMF666_Get_BillingAccount.bpmn +++ b/tmforum-apis/TMF666_Account_Management/TMF666_Get_BillingAccount.bpmn @@ -7,7 +7,7 @@ [] [ { "name": "RestApi", "initCode": "functions://default/RestApi", "initParameters": [ { "name": "Uri", "type": "Uri", "required": true, "oldName": "Uri", "defaultValue": "http://servername:port/resource" }, { "name": "Method", "type": "String", "required": true, "oldName": "Method", "defaultValue": "GET" }, { "name": "Login", "type": "String", "required": false, "oldName": "Login", "defaultValue": null }, { "name": "Password", "type": "String", "required": false, "oldName": "Password", "defaultValue": null }, { "name": "Headers", "type": "StringDictionary", "required": false, "oldName": "Headers", "defaultValue": "{\r\n \"Content-Type\":\"application/json;charset=utf-16\",\r\n \"system\":\"204\",\r\n \"global_unique_id\":\"6a297fcb-956e-4228-8c11-017e9bacd629\"\r\n }" }, { "name": "Body", "type": "String", "required": false, "oldName": "Body", "defaultValue": "{}" }, { "name": "Encoding", "type": "String", "required": false, "oldName": "Encoding", "defaultValue": "utf-8" }, { "name": "Result", "type": "HttpResponse", "required": false, "oldName": "Result", "defaultValue": null } ], "oldName": "RestApi" }, { "name": "RestApi_Get", "initCode": "functions://default/RestApi/Get", "initParameters": [ { "name": "Uri", "type": "Uri", "required": true, "oldName": "Uri", "defaultValue": "http://servername:port/resource" }, { "name": "Login", "type": "String", "required": false, "oldName": "Login", "defaultValue": null }, { "name": "Password", "type": "String", "required": false, "oldName": "Password", "defaultValue": null }, { "name": "Headers", "type": "StringDictionary", "required": false, "oldName": "Headers", "defaultValue": "{\r\n \"Content-Type\":\"application/json;charset=utf-16\",\r\n \"system\":\"204\",\r\n \"global_unique_id\":\"6a297fcb-956e-4228-8c11-017e9bacd629\"\r\n }" }, { "name": "Encoding", "type": "String", "required": false, "oldName": "Encoding", "defaultValue": "utf-8" }, { "name": "Result", "type": "HttpResponse", "required": false, "oldName": "Result", "defaultValue": null } ], "oldName": "RestApi_Get" }, { "name": "JsonPath", "initCode": "functions://default//JsonPath", "initParameters": [ { "name": "Response", "type": "HttpResponse", "required": true, "oldName": "Response", "defaultValue": null }, { "name": "Path", "type": "String", "required": false, "oldName": "Path", "defaultValue": "$" }, { "name": "Result", "type": "Json", "required": false, "oldName": "Result", "defaultValue": null } ], "oldName": "JsonPath" }, { "name": "SaveVariable", "initCode": "functions://default//SaveVariable", "initParameters": [ { "name": "VariableName", "type": "string", "required": true, "oldName": "VariableName", "defaultValue": "varName" }, { "name": "Data", "type": "object", "required": true, "oldName": "Data", "defaultValue": "#previous" } ], "oldName": "SaveVariable" }, { "name": "Wait", "initCode": "functions://default//Wait", "initParameters": [ { "name": "millisecondsTimeout", "type": "int", "required": true, "oldName": "millisecondsTimeout", "defaultValue": "1000" } ], "oldName": "Wait" }, { "name": "SQL_Oracle_Query", "initCode": "functions://default//SQL/Oracle/Query", "initParameters": [ { "name": "userID", "type": "String", "required": true, "oldName": "userID", "defaultValue": null }, { "name": "password", "type": "String", "required": false, "oldName": "password", "defaultValue": null }, { "name": "dataSource", "type": "String", "required": false, "oldName": "dataSource", "defaultValue": null }, { "name": "query", "type": "String", "required": false, "oldName": "query", "defaultValue": null }, { "name": "Result", "type": "Collection", "required": false, "oldName": "Result", "defaultValue": null } ], "oldName": "SQL_Oracle_Query" }, { "name": "SQL_Oracle_Command", "initCode": "functions://default//SQL/Oracle/Command", "initParameters": [ { "name": "userID", "type": "String", "required": true, "oldName": "userID", "defaultValue": null }, { "name": "password", "type": "String", "required": false, "oldName": "password", "defaultValue": null }, { "name": "dataSource", "type": "String", "required": false, "oldName": "dataSource", "defaultValue": null }, { "name": "command", "type": "String", "required": false, "oldName": "command", "defaultValue": null }, { "name": "Result", "type": "int", "required": false, "oldName": "Result", "defaultValue": null } ], "oldName": "SQL_Oracle_Command" }] [] - [ { "name": "oracleConfig", "type": "OracleConfig", "initialValue": "{\r\n \"userId\":\"login\",\r\n \"password\":\"password\",\r\n \"dataSource\":\"10.49.1.198:1521/bisdb_prm.kyivstar.ua\"\r\n}\r\n" }, { "name": "httpConfig", "type": "HttpConfig", "initialValue": "{\r\n \"host\":\"https://10.29.101.122\",\r\n \"port\":\"6992\",\r\n \"login\":\"login\",\r\n \"password\":\"password\",\r\n \"encoding\":\"utf-8\",\r\n \"headers\":{\r\n \"Content-Type\":\"application/vnd.api+json\",\r\n \"Accept\":\"application/vnd.api+json\"\r\n }\r\n}\r\n" }, { "name": "sqlConnectionString", "type": "string", "initialValue": "Data Source=sqlserv;Initial Catalog=unibill;User ID=login;Password=password;MultipleActiveResultSets=true;Encrypt=True;TrustServerCertificate=True;Command Timeout=3600" }, { "name": "cacheId", "type": "string", "initialValue": null }, { "name": "cacheStatus", "type": "string", "initialValue": null }, { "name": "x_page_count", "type": "Int", "initialValue": "" }] + [ { "name": "oracleConfig", "type": "OracleConfig", "initialValue": "{\r\n \"userId\":\"login\",\r\n \"password\":\"password\",\r\n \"dataSource\":\"localhost:1521/XEPDB1\"\r\n}\r\n" }, { "name": "httpConfig", "type": "HttpConfig", "initialValue": "{\r\n \"host\":\"https://localhost\",\r\n \"port\":\"6992\",\r\n \"login\":\"login\",\r\n \"password\":\"password\",\r\n \"encoding\":\"utf-8\",\r\n \"headers\":{\r\n \"Content-Type\":\"application/vnd.api+json\",\r\n \"Accept\":\"application/vnd.api+json\"\r\n }\r\n}\r\n" }, { "name": "sqlConnectionString", "type": "string", "initialValue": "Data Source=localhost;Initial Catalog=examples;User ID=login;Password=;MultipleActiveResultSets=true;Encrypt=True;TrustServerCertificate=True;Command Timeout=3600" }, { "name": "cacheId", "type": "string", "initialValue": null }, { "name": "cacheStatus", "type": "string", "initialValue": null }, { "name": "x_page_count", "type": "Int", "initialValue": "" }] { "ErrFormat": "json", "Accept-Language": "uk", "offset": 1, "limit": 50, "sort": "id", "SortDirection": "ASC", "name": "10000000003", "x-ms-client-request-id": "yiz.3", "relatedParty": [ { "id": 6839, "@referredType": "Associations", "IDType": 1 }, { "id": 7702209, "@referredType": "Customers", "IDType": 0 } ]} diff --git a/tmforum-apis/TMF666_Account_Management/TMF666_Post_BillingAccount.bpmn b/tmforum-apis/TMF666_Account_Management/TMF666_Post_BillingAccount.bpmn index a6168ba..14c5125 100644 --- a/tmforum-apis/TMF666_Account_Management/TMF666_Post_BillingAccount.bpmn +++ b/tmforum-apis/TMF666_Account_Management/TMF666_Post_BillingAccount.bpmn @@ -3,12 +3,12 @@ [ "Action", "Function"] [ { "name": "HttpConfig", "definition": "{\r\n \"$schema\":\"http://natec.tech/simpleschema\",\r\n \"$ref\":\"#/definitions/HttpConfig\",\r\n \"definitions\":{\r\n \"HttpConfig\":{\r\n \"type\":\"object\",\r\n \"properties\":{\r\n \"host\":{\r\n \"type\":\"string\"\r\n },\r\n \"port\":{\r\n \"type\":\"string\"\r\n },\r\n \"login\":{\r\n \"type\":\"string\"\r\n },\r\n \"password\":{\r\n \"type\":\"string\"\r\n },\r\n \"encoding\":{\r\n \"type\":\"string\"\r\n },\r\n \"headers\":{\r\n \"type\":\"StringDictionary<string, string>\"\r\n }\r\n },\r\n \"required\": [\"host\", \"encoding\", \"headers\"],\r\n \"title\":\"HttpConfig\"\r\n }\r\n }\r\n}", "isNativeDefinition": false }, { "name": "ErrorResponse", "definition": "{\r\n \"$schema\": \"http://json-schema.org/draft-06/schema#\",\r\n \"$ref\": \"#/definitions/ErrorResponse\",\r\n \"definitions\": {\r\n \"ErrorResponse\": {\r\n \"type\": \"object\",\r\n \"additionalProperties\": true,\r\n \"properties\": {\r\n \"LevelMessage\": {\r\n \"title\": \"The Error level\",\r\n \"type\": \"string\"\r\n },\r\n \"statusCode\": {\r\n \"title\": \"The Error Status Code\",\r\n \"type\": \"integer\"\r\n },\r\n \"ErrNumber\": {\r\n \"title\": \"The Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Message\": {\r\n \"title\": \"The Error Message\",\r\n \"type\": \"string\"\r\n },\r\n \"State\": {\r\n \"title\": \"The Error State\",\r\n \"type\": \"string\"\r\n },\r\n \"HelpLink\": {\r\n \"title\": \"The Help Link\",\r\n \"type\": \"string\"\r\n },\r\n \"errNumberReason\": {\r\n \"title\": \"The initial Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Data\": {\r\n \"title\": \"The Error Data\",\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"LevelMessage\": {\r\n \"title\": \"The Error level\",\r\n \"type\": \"string\"\r\n },\r\n \"statusCode\": {\r\n \"title\": \"The Error Status Code\",\r\n \"type\": \"integer\"\r\n },\r\n \"ErrNumber\": {\r\n \"title\": \"The Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Message\": {\r\n \"title\": \"The Error Message\",\r\n \"type\": \"string\"\r\n },\r\n \"State\": {\r\n \"title\": \"The Error State\",\r\n \"type\": \"string\"\r\n },\r\n \"HelpLink\": {\r\n \"title\": \"The Help Link\",\r\n \"type\": \"string\"\r\n },\r\n \"errNumberReason\": {\r\n \"title\": \"The initial Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Data\": {\r\n \"title\": \"The Data Schema\",\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"LevelMessage\": {\r\n \"title\": \"The Error level\",\r\n \"type\": \"string\"\r\n },\r\n \"statusCode\": {\r\n \"title\": \"The Error Status Code\",\r\n \"type\": \"integer\"\r\n },\r\n \"ErrNumber\": {\r\n \"title\": \"The Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Message\": {\r\n \"title\": \"The Error Message\",\r\n \"type\": \"string\"\r\n },\r\n \"State\": {\r\n \"title\": \"The Error State\",\r\n \"type\": \"string\"\r\n },\r\n \"HelpLink\": {\r\n \"title\": \"The Help Link\",\r\n \"type\": \"string\"\r\n },\r\n \"errNumberReason\": {\r\n \"title\": \"The initial Error Number\",\r\n \"type\": \"string\"\r\n }\r\n }\r\n },\r\n \"ResolveUrl\": {\r\n \"title\": \"The Resolve Url Link\",\r\n \"type\": \"string\"\r\n }\r\n }\r\n },\r\n \"ResolveUrl\": {\r\n \"title\": \"The Resolve Url Link\",\r\n \"type\": \"string\"\r\n },\r\n \"extraData\": {\r\n \"title\": \"The Error Extra Data \",\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"operationDuration\": {\r\n \"title\": \"The Operation Duration\",\r\n \"type\": \"integer\"\r\n }\r\n }\r\n }\r\n },\r\n \"title\": \"ErrorResponse\"\r\n }\r\n }\r\n}", "isNativeDefinition": false }, { "name": "SystemException", "definition": "{\r\n \"$schema\":\"http://natec.tech/simpleschema\",\r\n \"$ref\":\"#/definitions/SystemException\",\r\n \"definitions\":{\r\n \"SystemException\":{\r\n \"type\":\"object\",\r\n \"properties\":{\r\n \"Exception\":{\r\n \"type\":\"types://core/System.Exception\"\r\n },\r\n \"info\":{\r\n \"type\":\"string\"\r\n }\r\n },\r\n \"title\":\"SystemException\"\r\n }\r\n }\r\n}", "isNativeDefinition": false }, { "name": "ExceptionExtensions", "definition": "public static class ExceptionExtensions\r\n {\r\n internal enum ReasonCodes\r\n {\r\n ServiceAccessError = 0x1,\r\n UnderConstruction = 0x64,\r\n PreventiveStop = 0X65\r\n }\r\n\r\n class BaseSqlExceptionModel\r\n {\r\n public int LevelMessage { get; set; }\r\n public int ErrNumber { get; set; }\r\n public int ErrNumberReason { get; set; }\r\n public long State { get; set; }\r\n public string HelpLink { get; set; }\r\n public string ResolveUrl { get; set; }\r\n public int? Number { get; set; }\r\n public string Message { get; set; }\r\n public BaseSqlExceptionModel Data { get; set; }\r\n\r\n public Error ToError(string statusArg = null)\r\n {\r\n return new Error()\r\n {\r\n code = (ErrNumber > 0) ? ErrNumber.ToString() : Number.GetValueOrDefault().ToString(),\r\n message = this.Message,\r\n reason = ErrNumberReason.ToString(),\r\n referenceError = ResolveUrl,\r\n status = statusArg\r\n };\r\n }\r\n }\r\n\r\n #region [const]\r\n private const int DeadlockErrorNumber = 1205;\r\n private const int LockingErrorNumber = 1222;\r\n private const int UpdateConflictErrorNumber = 3960;\r\n //для ретрай - функционала\r\n private const int TimeoutExpiredErrorNumber = -2;\r\n private const int CouldNotOpenConnectionErrorNumber = 53;\r\n private const int TransportFailErrorNumber = 121;\r\n //вот тут не надо ретрай\r\n private const int HandledDeadlockErrorNumber = 50999;\r\n private const int SQLErrorNumber = 50000;\r\n\r\n public static IEnumerable<int> DeadLockFeatures\r\n {\r\n get\r\n {\r\n yield return DeadlockErrorNumber;\r\n yield return LockingErrorNumber;\r\n yield return UpdateConflictErrorNumber;\r\n yield break;\r\n }\r\n }\r\n\r\n public static IEnumerable<int> RetryNeededFeatures\r\n {\r\n get\r\n {\r\n yield return DeadlockErrorNumber;\r\n //yield return TimeoutExpiredErrorNumber;\r\n yield return CouldNotOpenConnectionErrorNumber;\r\n yield return TransportFailErrorNumber;\r\n yield break;\r\n }\r\n }\r\n\r\n #endregion\r\n\r\n public static Error GetError(this Exception exception, string statusCode)\r\n {\r\n if (exception is SqlException sqlException)\r\n return sqlException.GetError();\r\n else\r\n if (exception is WorkflowInvokeActionException)\r\n {\r\n if(exception.InnerException is SqlException innerSqlException)\r\n return innerSqlException.GetError();\r\n return new Error()\r\n {\r\n code = exception?.InnerException?.HResult.ToString(),\r\n message = $\"{exception.Message} : {exception.InnerException?.Message}\",\r\n reason = exception?.InnerException?.GetType().Name,\r\n referenceError = null,\r\n status = statusCode\r\n };\r\n }\r\n else\r\n return new Error()\r\n {\r\n code = exception.HResult.ToString(),\r\n message = exception.Message,\r\n reason = exception.GetType().Name,\r\n referenceError = null,\r\n status = statusCode\r\n };\r\n }\r\n public static Error GetError(this SqlException sqlException)\r\n {\r\n BaseSqlExceptionModel errorModel = null;\r\n int actualStatusCode = 500;\r\n\r\n #region [Deadlock]\r\n if (sqlException.Number == ExceptionExtensions.HandledDeadlockErrorNumber)\r\n {\r\n return new Error()\r\n {\r\n code = sqlException.Number.ToString(), //RequestTimeout\r\n message = $\"Request timeout - retry operation should be used\",\r\n reason = \"RequestTimeout\",\r\n referenceError = null,\r\n status = \"408\"\r\n };\r\n }\r\n\r\n #endregion\r\n\r\n try\r\n {\r\n var sqlExceptionMessage = sqlException.Errors.Cast<SqlError>()\r\n .Where(se => (se.Class > 0) &&\r\n (se.Message.Trim().StartsWith(\"{\")) &&\r\n (se.Message.Trim().EndsWith(\"}\"))).\r\n Select(se => se.Message).\r\n FirstOrDefault();\r\n errorModel = JsonConvert.DeserializeObject<BaseSqlExceptionModel>(sqlExceptionMessage);\r\n }\r\n catch (Exception) { }\r\n\r\n if (errorModel != null)\r\n {\r\n errorModel.Number = sqlException.Number;\r\n\r\n var resultErrorModel = errorModel.ToError(\"500\");\r\n\r\n if (errorModel.ErrNumber == ExceptionExtensions.HandledDeadlockErrorNumber)\r\n {\r\n resultErrorModel.status = \"408\";\r\n resultErrorModel.reason = \"RequestTimeout\";\r\n }\r\n return resultErrorModel;\r\n }\r\n\r\n actualStatusCode = ResolveActualStatusCode(sqlException);\r\n\r\n var result = new Error()\r\n {\r\n code = sqlException.Number.ToString(),\r\n message = sqlException.Message,\r\n referenceError = null,\r\n status = actualStatusCode.ToString()\r\n };\r\n if (actualStatusCode == 500)\r\n {\r\n result.reason = \"Internal Server Error\";\r\n }\r\n else\r\n if (actualStatusCode == 503)\r\n {\r\n result.reason = \"Service Unavailable\";\r\n }\r\n else\r\n {\r\n result.reason = \"Service Unavailable\";\r\n }\r\n return result;\r\n }\r\n private static int ResolveActualStatusCode(SqlException sqlException)\r\n {\r\n int actualStatusCode = 500;\r\n //Ошибка 503 - TimeoutExpiredErrorNumber ИЛИ Количество ретраев исчерпано и НЕ DeadLockFeatures\r\n //Ошибка 408 - DeadLockFeatures И Количество ретраев исчерпано\r\n //пс. этот код в принципе будет выполняться только после исчерпания попыток\r\n //если дедлок\r\n if (sqlException.IsDeadLockException())\r\n return 408;\r\n else\r\n if (sqlException.Number == TimeoutExpiredErrorNumber) // Истекло время ожидание \r\n return 503;\r\n else\r\n if (sqlException.Number == 50101 || sqlException.Number == 50100 || sqlException.Number == 50182)\t// Значит, что произошла не фатальная ошибка.\r\n {\r\n }\r\n else\r\n if ((sqlException.Class >= 12 && sqlException.Class <= 14) || (sqlException.Class >= 18 && sqlException.Class <= 24))\t// Значит, что произошла ошибка, из-за которой соединение разорвано. Ощибки с классом 17 - обработаннЫе нами\r\n {\r\n return 503;\r\n }\r\n else\r\n if (sqlException.Class == 11 || sqlException.Class == 15 || sqlException.Class == 16)\t// Значит, что произошла ошибка.\r\n {\r\n return 503;\r\n }\r\n else\r\n if (sqlException.Number >= 0 && sqlException.Number <= 10)\t// Значит, что произошла не фатальная ошибка.\r\n {\r\n }\r\n else\r\n if (sqlException.Number >= 0 && sqlException.Number <= 24)\r\n {\r\n }\r\n return actualStatusCode;\r\n }\r\n\r\n #region [IsDeadLock]\r\n public static bool IsDeadLockException(this SqlException exception)\r\n {\r\n if (exception == null)\r\n return false;\r\n else\r\n return DeadLockFeatures.Contains(exception.Number) ||\r\n exception.Errors.IsDeadLockException();\r\n }\r\n\r\n public static bool IsDeadLockException(this SqlError error)\r\n {\r\n if (error == null)\r\n return false;\r\n else\r\n return DeadLockFeatures.Contains(error.Number);\r\n }\r\n\r\n public static bool IsDeadLockException(this SqlErrorCollection sqlErrorCollection)\r\n {\r\n if (sqlErrorCollection == null)\r\n return false;\r\n else\r\n return sqlErrorCollection.Cast<SqlError>().Any(error => error.IsDeadLockException());\r\n }\r\n #endregion\r\n\r\n #region [IsRetryNeeded]\r\n public static bool IsRetryNeeded(this SqlException exception)\r\n {\r\n if (exception == null)\r\n return false;\r\n else\r\n return RetryNeededFeatures.Contains(exception.Number) ||\r\n exception.Errors.IsRetryNeeded();\r\n }\r\n\r\n public static bool IsRetryNeeded(this SqlError error)\r\n {\r\n if (error == null)\r\n return false;\r\n else\r\n return RetryNeededFeatures.Contains(error.Number);\r\n }\r\n\r\n public static bool IsRetryNeeded(this SqlErrorCollection sqlErrorCollection)\r\n {\r\n if (sqlErrorCollection == null)\r\n return false;\r\n else\r\n return sqlErrorCollection.Cast<SqlError>().Any(error => error.IsRetryNeeded());\r\n }\r\n #endregion\r\n }", "isNativeDefinition": true }, { "name": "ServiceConfig", "definition": "{\r\n\t\"$schema\": \"http://json-schema.org/draft-06/schema#\",\r\n\t\"$ref\": \"#/definitions/ServiceConfig\",\r\n\t\"definitions\": {\r\n\t\t\"ServiceConfig\": {\r\n\t\t\t\"type\": \"object\",\r\n\t\t\t\"additionalProperties\": false,\r\n\t\t\t\"properties\": {\r\n\t\t\t\t\"ConnectionString\": {\r\n\t\t\t\t\t\"type\": \"string\"\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t\"title\": \"ServiceConfig\"\r\n\t\t}\r\n\t}\r\n}", "isNativeDefinition": false }, { "name": "RelatedParty", "definition": "/// <summary>\r\n/// Related Entity reference. A related party defines party or party role linked to a specific entity.\r\n/// </summary>\r\npublic sealed class RelatedParty\r\n{\r\n \r\n private System.Int32? _id;\r\n \r\n private string _href;\r\n \r\n private string _name;\r\n \r\n private string _role;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _type;\r\n \r\n private string _referredType;\r\n \r\n private System.Int32? _iDType;\r\n \r\n /// <summary>\r\n /// Customer identifier (tree node type 'Customers'). LOV: IDType depended identifier value\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Reference of the related entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the related entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Role played by the related party\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"role\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string role\r\n {\r\n get\r\n {\r\n return this._role;\r\n }\r\n set\r\n {\r\n this._role = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A Related Party for this operation. LOV: An Attribute Format value of the Object\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The name of the entity for which the operation is performed. LOV: supported value is \"Associations\"\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Sign of passing an external ID value. LOV: 1 - external ID, 0 - internal ID\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"IDType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? IDType\r\n {\r\n get\r\n {\r\n return this._iDType;\r\n }\r\n set\r\n {\r\n this._iDType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "PaymentMethodRef", "definition": "/// <summary>\r\n/// PaymentMethod reference. A payment method defines a specific mean of payment (e.g direct debit).\r\n/// </summary>\r\npublic sealed class PaymentMethodRef\r\n{\r\n \r\n private System.Int32? _id;\r\n \r\n private string _href;\r\n \r\n private string _name;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _type;\r\n \r\n private string _referredType;\r\n \r\n /// <summary>\r\n /// Core account payment type identifier. LOV: Value, provided by BSS template\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Reference of the payment mean\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the payment mean\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class entity name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "PaymentPlan", "definition": "/// <summary>\r\n/// Defines a plan for payment (when a party wants to spread his payments)\r\n/// </summary>\r\npublic sealed class PaymentPlan\r\n{\r\n \r\n private System.Int32? _numberOfPayments;\r\n \r\n private string _paymentFrequency;\r\n \r\n private string _planType;\r\n \r\n private System.Int32? _priority;\r\n \r\n private string _status;\r\n \r\n private PaymentMethodRef _paymentMethod;\r\n \r\n private Money _totalAmount;\r\n \r\n private TimePeriod _validFor;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _type;\r\n \r\n /// <summary>\r\n /// Number of payments used to spread the global payment\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"numberOfPayments\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? numberOfPayments\r\n {\r\n get\r\n {\r\n return this._numberOfPayments;\r\n }\r\n set\r\n {\r\n this._numberOfPayments = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Frequency of the payments, such as monthly and bimonthly\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"paymentFrequency\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string paymentFrequency\r\n {\r\n get\r\n {\r\n return this._paymentFrequency;\r\n }\r\n set\r\n {\r\n this._paymentFrequency = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Class of core aсcount. LOV: value, provided by BSS template\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"planType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string planType\r\n {\r\n get\r\n {\r\n return this._planType;\r\n }\r\n set\r\n {\r\n this._planType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Priority of the payment plan\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"priority\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? priority\r\n {\r\n get\r\n {\r\n return this._priority;\r\n }\r\n set\r\n {\r\n this._priority = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Status of the payment plan (effective, ineffective)\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"status\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string status\r\n {\r\n get\r\n {\r\n return this._status;\r\n }\r\n set\r\n {\r\n this._status = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A payment method defines a specific mean of payment (e.g single currency or declined for payments). LOV: An object\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"paymentMethod\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public PaymentMethodRef paymentMethod\r\n {\r\n get\r\n {\r\n return this._paymentMethod;\r\n }\r\n set\r\n {\r\n this._paymentMethod = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A base / value business entity used to represent money\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"totalAmount\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public Money totalAmount\r\n {\r\n get\r\n {\r\n return this._totalAmount;\r\n }\r\n set\r\n {\r\n this._totalAmount = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A period of time, either as a deadline (endDateTime only) a startDateTime only, or both\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"validFor\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public TimePeriod validFor\r\n {\r\n get\r\n {\r\n return this._validFor;\r\n }\r\n set\r\n {\r\n this._validFor = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The @type attribute represents the actual class type of an entity. LOV: An Attribute Format value of the Object\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Money", "definition": "/// <summary>\r\n/// A base / value business entity used to represent money\r\n/// </summary>\r\npublic sealed class Money\r\n{\r\n \r\n private string _unit;\r\n \r\n private System.Decimal? _value;\r\n \r\n /// <summary>\r\n /// Currency code for account balance. LOV: value, provided by BSS template\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"unit\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string unit\r\n {\r\n get\r\n {\r\n return this._unit;\r\n }\r\n set\r\n {\r\n this._unit = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A positive floating point number\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"value\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Decimal? value\r\n {\r\n get\r\n {\r\n return this._value;\r\n }\r\n set\r\n {\r\n this._value = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "TimePeriod", "definition": "/// <summary>\r\n/// A period of time, either as a deadline (endDateTime only) a startDateTime only, or both\r\n/// </summary>\r\npublic sealed class TimePeriod\r\n{\r\n \r\n private string _endDateTime;\r\n \r\n private System.DateTime? _startDateTime;\r\n \r\n /// <summary>\r\n /// Tax exemption end date, inclusive. LOV: Date without time, ending at 23:59\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"endDateTime\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string endDateTime\r\n {\r\n get\r\n {\r\n return this._endDateTime;\r\n }\r\n set\r\n {\r\n this._endDateTime = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// balance activation date. LOV: Date without time, effective from 0:00\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"startDateTime\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? startDateTime\r\n {\r\n get\r\n {\r\n return this._startDateTime;\r\n }\r\n set\r\n {\r\n this._startDateTime = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "BillingAccount_Request_GET", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class BillingAccount_Request_GET\r\n{\r\n \r\n private System.Int32? _ratingType;\r\n \r\n private System.Int32? _id;\r\n \r\n private string _name;\r\n \r\n private System.Int32? _accountType;\r\n \r\n private System.Int32? _offset;\r\n \r\n private string _sort;\r\n \r\n private string _format;\r\n \r\n private string _accept_Language;\r\n \r\n private System.Int32? _limit;\r\n \r\n private RelatedParty[] _relatedParty;\r\n \r\n private string _state;\r\n \r\n private System.Int32? _registrCatID;\r\n \r\n private PaymentPlan[] _paymentPlan;\r\n \r\n private string _x_ms_client_request_id;\r\n \r\n private string _sortDirection;\r\n \r\n /// <summary>\r\n /// Core account category identifier. LOV: Value, provided by BSS template\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"ratingType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? ratingType\r\n {\r\n get\r\n {\r\n return this._ratingType;\r\n }\r\n set\r\n {\r\n this._ratingType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Account ID. LOV: Internal identifier value\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Core account number. LOV: Account Number value\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Core account type identifier (multi-language). LOV: Value, provided by BSS template\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"accountType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? accountType\r\n {\r\n get\r\n {\r\n return this._accountType;\r\n }\r\n set\r\n {\r\n this._accountType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Requested index for start of records to be provided in response requested by client (server paging). LOV: 0 - first index\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"offset\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? offset\r\n {\r\n get\r\n {\r\n return this._offset;\r\n }\r\n set\r\n {\r\n this._offset = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Sorting selector. LOV: usageDate\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"sort\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string sort\r\n {\r\n get\r\n {\r\n return this._sort;\r\n }\r\n set\r\n {\r\n this._sort = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Error output format. LOV: supported value is json\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"format\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string format\r\n {\r\n get\r\n {\r\n return this._format;\r\n }\r\n set\r\n {\r\n this._format = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Specifying a language for a multi-language dataset. LOV: supported value are en-English, uk-Ukrainian, ru-russian\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"Accept-Language\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string Accept_Language\r\n {\r\n get\r\n {\r\n return this._accept_Language;\r\n }\r\n set\r\n {\r\n this._accept_Language = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Number of records per response (server paging). LOV: integer greater than zero\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"limit\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? limit\r\n {\r\n get\r\n {\r\n return this._limit;\r\n }\r\n set\r\n {\r\n this._limit = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A Related Party for this operation. LOV: A List of object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"relatedParty\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public RelatedParty[] relatedParty\r\n {\r\n get\r\n {\r\n return this._relatedParty;\r\n }\r\n set\r\n {\r\n this._relatedParty = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Customers entity status code. LOV: Сharacteristic value, provided by BSS template\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"state\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string state\r\n {\r\n get\r\n {\r\n return this._state;\r\n }\r\n set\r\n {\r\n this._state = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Registration Category ID. LOV: value, provided by BSS template\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"RegistrCatID\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? RegistrCatID\r\n {\r\n get\r\n {\r\n return this._registrCatID;\r\n }\r\n set\r\n {\r\n this._registrCatID = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Type of payment plan. LOV: A List of object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"paymentPlan\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public PaymentPlan[] paymentPlan\r\n {\r\n get\r\n {\r\n return this._paymentPlan;\r\n }\r\n set\r\n {\r\n this._paymentPlan = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A unique identifier for the search request, used for the GET operation.. LOV: generally a GUID value\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"x-ms-client-request-id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string x_ms_client_request_id\r\n {\r\n get\r\n {\r\n return this._x_ms_client_request_id;\r\n }\r\n set\r\n {\r\n this._x_ms_client_request_id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// No description\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"SortDirection\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string SortDirection\r\n {\r\n get\r\n {\r\n return this._sortDirection;\r\n }\r\n set\r\n {\r\n this._sortDirection = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "BillingAccount_Response_GET", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class BillingAccount_Response_GET\r\n{\r\n \r\n private string _link;\r\n \r\n private System.Int32? _offset;\r\n \r\n private System.Int32? _limit;\r\n \r\n private string _content_Range;\r\n \r\n private string _accept_Language;\r\n \r\n private string _x_ms_client_request_id;\r\n \r\n private System.Int32? _x_Page_Count;\r\n \r\n /// <summary>\r\n /// Web Linking HTTP header. LOV: reserved\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"Link\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string Link\r\n {\r\n get\r\n {\r\n return this._link;\r\n }\r\n set\r\n {\r\n this._link = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Requested index for start of records to be provided in response requested by client (server paging). LOV: 0 - first index\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"offset\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? offset\r\n {\r\n get\r\n {\r\n return this._offset;\r\n }\r\n set\r\n {\r\n this._offset = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Number of records per response (server paging). LOV: integer greater than zero\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"limit\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? limit\r\n {\r\n get\r\n {\r\n return this._limit;\r\n }\r\n set\r\n {\r\n this._limit = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// HTTP header indicates where in a full body message a partial message belongs. LOV: items <range-start>-<range-end>/<total-count>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"Content-Range\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string Content_Range\r\n {\r\n get\r\n {\r\n return this._content_Range;\r\n }\r\n set\r\n {\r\n this._content_Range = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Specifying a language for a multi-language dataset. LOV: supported value are en-English, uk-Ukrainian, ru-russian\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"Accept-Language\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string Accept_Language\r\n {\r\n get\r\n {\r\n return this._accept_Language;\r\n }\r\n set\r\n {\r\n this._accept_Language = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A unique identifier for the search request, used for the GET operation.. LOV: generally a GUID value\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"x-ms-client-request-id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string x_ms_client_request_id\r\n {\r\n get\r\n {\r\n return this._x_ms_client_request_id;\r\n }\r\n set\r\n {\r\n this._x_ms_client_request_id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A Page Count from Server Paging\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"X-Page-Count\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? X_Page_Count\r\n {\r\n get\r\n {\r\n return this._x_Page_Count;\r\n }\r\n set\r\n {\r\n this._x_Page_Count = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "BillingAccount_Response_GET_OUTPUT", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class BillingAccount_Response_GET_OUTPUT\r\n{\r\n \r\n private System.Int32? _ratingType;\r\n \r\n private System.Int32? _id;\r\n \r\n private string _name;\r\n \r\n private System.Int32? _accountType;\r\n \r\n private System.Int32? _registrCatID;\r\n \r\n private RelatedParty[] _relatedParty;\r\n \r\n private string _state;\r\n \r\n private System.Int32? _x_Total_Count;\r\n \r\n private PaymentPlan[] _paymentPlan;\r\n \r\n /// <summary>\r\n /// Core account category identifier. LOV: Value, provided by BSS template\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"ratingType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? ratingType\r\n {\r\n get\r\n {\r\n return this._ratingType;\r\n }\r\n set\r\n {\r\n this._ratingType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Account ID. LOV: Internal identifier value\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Core account number. LOV: Account Number value\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Core account type identifier (multi-language). LOV: Value, provided by BSS template\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"accountType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? accountType\r\n {\r\n get\r\n {\r\n return this._accountType;\r\n }\r\n set\r\n {\r\n this._accountType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Registration Category ID. LOV: value, provided by BSS template\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"RegistrCatID\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? RegistrCatID\r\n {\r\n get\r\n {\r\n return this._registrCatID;\r\n }\r\n set\r\n {\r\n this._registrCatID = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A Related Party for this operation. LOV: A List of object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"relatedParty\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public RelatedParty[] relatedParty\r\n {\r\n get\r\n {\r\n return this._relatedParty;\r\n }\r\n set\r\n {\r\n this._relatedParty = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Customers entity status code. LOV: Сharacteristic value, provided by BSS template\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"state\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string state\r\n {\r\n get\r\n {\r\n return this._state;\r\n }\r\n set\r\n {\r\n this._state = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// the total number of matching records (server paging). LOV: integer greater than zero\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"X-Total-Count\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? X_Total_Count\r\n {\r\n get\r\n {\r\n return this._x_Total_Count;\r\n }\r\n set\r\n {\r\n this._x_Total_Count = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Type of payment plan. LOV: A List of object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"paymentPlan\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public PaymentPlan[] paymentPlan\r\n {\r\n get\r\n {\r\n return this._paymentPlan;\r\n }\r\n set\r\n {\r\n this._paymentPlan = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "AccountBalance", "definition": "/// <summary>\r\n/// Balances linked to the account\r\n/// </summary>\r\npublic sealed class AccountBalance\r\n{\r\n \r\n private string _balanceType;\r\n \r\n private Money _amount;\r\n \r\n private TimePeriod _validFor;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _type;\r\n \r\n /// <summary>\r\n /// An Account Purpose Type, supported by BSS template. LOV: Main - Core Account, Additonal - an other Account types\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"balanceType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string balanceType\r\n {\r\n get\r\n {\r\n return this._balanceType;\r\n }\r\n set\r\n {\r\n this._balanceType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Information about currency and accounts balance. LOV: An object\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"amount\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public Money amount\r\n {\r\n get\r\n {\r\n return this._amount;\r\n }\r\n set\r\n {\r\n this._amount = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Information about the balance validity period for the account. LOV: An object\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"validFor\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public TimePeriod validFor\r\n {\r\n get\r\n {\r\n return this._validFor;\r\n }\r\n set\r\n {\r\n this._validFor = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The @type attribute represents the actual class type of an entity. LOV: An Attribute Format value of the Object\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "BillPresentationMediaRefOrValue", "definition": "/// <summary>\r\n/// An attachment by value or by reference.\r\n/// </summary>\r\npublic sealed class BillPresentationMediaRefOrValue\r\n{\r\n \r\n private string _id;\r\n \r\n private string _href;\r\n \r\n private string _description;\r\n \r\n private System.Boolean? _isRef;\r\n \r\n private string _name;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _type;\r\n \r\n private string _referredType;\r\n \r\n private string _deliveryZone;\r\n \r\n /// <summary>\r\n /// Delivery Type ID. LOV: value, provided by BSS template\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Reference of the bill presentation media\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// An explanatory text describing this bill presentation media\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"description\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string description\r\n {\r\n get\r\n {\r\n return this._description;\r\n }\r\n set\r\n {\r\n this._description = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"isRef\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Boolean? isRef\r\n {\r\n get\r\n {\r\n return this._isRef;\r\n }\r\n set\r\n {\r\n this._isRef = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A short descriptive name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The @type attribute represents the actual class type of an entity. LOV: An Attribute Format value of the Object\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Delivery Type zone. LOV: value, provided by BSS template\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"deliveryZone\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string deliveryZone\r\n {\r\n get\r\n {\r\n return this._deliveryZone;\r\n }\r\n set\r\n {\r\n this._deliveryZone = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "BillStructure", "definition": "/// <summary>\r\n/// The structure of the bill for party accounts (billing or settlement).\r\n/// </summary>\r\npublic sealed class BillStructure\r\n{\r\n \r\n private BillingCycleSpecificationRefOrValue _cycleSpecification;\r\n \r\n private BillFormatRefOrValue _format;\r\n \r\n private BillPresentationMediaRefOrValue[] _presentationMedia;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _type;\r\n \r\n /// <summary>\r\n /// An attachment by value or by reference.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"cycleSpecification\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public BillingCycleSpecificationRefOrValue cycleSpecification\r\n {\r\n get\r\n {\r\n return this._cycleSpecification;\r\n }\r\n set\r\n {\r\n this._cycleSpecification = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// An attachment by value or by reference.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"format\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public BillFormatRefOrValue format\r\n {\r\n get\r\n {\r\n return this._format;\r\n }\r\n set\r\n {\r\n this._format = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Delivery Type. LOV: A List of object\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"presentationMedia\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public BillPresentationMediaRefOrValue[] presentationMedia\r\n {\r\n get\r\n {\r\n return this._presentationMedia;\r\n }\r\n set\r\n {\r\n this._presentationMedia = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The @type attribute represents the actual class type of an entity. LOV: An Attribute Format value of the Object\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "BillingCycleSpecificationRefOrValue", "definition": "/// <summary>\r\n/// An attachment by value or by reference.\r\n/// </summary>\r\npublic sealed class BillingCycleSpecificationRefOrValue\r\n{\r\n \r\n private string _id;\r\n \r\n private string _href;\r\n \r\n private System.Int32? _billingDateShift;\r\n \r\n private string _billingPeriod;\r\n \r\n private System.Int32? _chargeDateOffset;\r\n \r\n private System.Int32? _creditDateOffset;\r\n \r\n private System.Int32? _dateShift;\r\n \r\n private string _description;\r\n \r\n private string _frequency;\r\n \r\n private System.Boolean? _isRef;\r\n \r\n private System.Int32? _mailingDateOffset;\r\n \r\n private string _name;\r\n \r\n private System.Int32? _paymentDueDateOffset;\r\n \r\n private TimePeriod _validFor;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _type;\r\n \r\n private string _referredType;\r\n \r\n /// <summary>\r\n /// Unique identifier of the billing cycle specification\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Reference of the billing cycle specification\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// An offset of a billing/settlement date. The offset is expressed as number of days with regard to the start of the billing/settlement period.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"billingDateShift\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? billingDateShift\r\n {\r\n get\r\n {\r\n return this._billingDateShift;\r\n }\r\n set\r\n {\r\n this._billingDateShift = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A billing time period. It can be recurring, for example: week, month, quarter of year, year .\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"billingPeriod\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string billingPeriod\r\n {\r\n get\r\n {\r\n return this._billingPeriod;\r\n }\r\n set\r\n {\r\n this._billingPeriod = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// An offset of a date through which charges previously received by the billing system will appear on the bill. The offset is expressed as number of days with regard to the start of the BillingPeriod.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"chargeDateOffset\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? chargeDateOffset\r\n {\r\n get\r\n {\r\n return this._chargeDateOffset;\r\n }\r\n set\r\n {\r\n this._chargeDateOffset = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// An offset of a date through which credits previously received by the billing system will appear on the bill. The offset is expressed as number of days with regard to the start of the BillingPeriod.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"creditDateOffset\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? creditDateOffset\r\n {\r\n get\r\n {\r\n return this._creditDateOffset;\r\n }\r\n set\r\n {\r\n this._creditDateOffset = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// An offset of a billing/settlement date. The offset is expressed as number of days with regard to the start of the billing/settlement period.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"dateShift\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? dateShift\r\n {\r\n get\r\n {\r\n return this._dateShift;\r\n }\r\n set\r\n {\r\n this._dateShift = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// An explanation regarding this billing cycle specification\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"description\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string description\r\n {\r\n get\r\n {\r\n return this._description;\r\n }\r\n set\r\n {\r\n this._description = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Frequency of the billing cycle (monthly for instance)\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"frequency\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string frequency\r\n {\r\n get\r\n {\r\n return this._frequency;\r\n }\r\n set\r\n {\r\n this._frequency = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"isRef\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Boolean? isRef\r\n {\r\n get\r\n {\r\n return this._isRef;\r\n }\r\n set\r\n {\r\n this._isRef = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// An offset of a customer bill mailing date. The offset is expressed as number of days with regard to the start of the BillingPeriod.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"mailingDateOffset\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? mailingDateOffset\r\n {\r\n get\r\n {\r\n return this._mailingDateOffset;\r\n }\r\n set\r\n {\r\n this._mailingDateOffset = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A short descriptive name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// An offset of a payment due date. The offset is expressed as number of days with regard to the start of the BillingPeriod.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"paymentDueDateOffset\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? paymentDueDateOffset\r\n {\r\n get\r\n {\r\n return this._paymentDueDateOffset;\r\n }\r\n set\r\n {\r\n this._paymentDueDateOffset = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A period of time, either as a deadline (endDateTime only) a startDateTime only, or both\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"validFor\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public TimePeriod validFor\r\n {\r\n get\r\n {\r\n return this._validFor;\r\n }\r\n set\r\n {\r\n this._validFor = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class entity name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "BillFormatRefOrValue", "definition": "/// <summary>\r\n/// An attachment by value or by reference.\r\n/// </summary>\r\npublic sealed class BillFormatRefOrValue\r\n{\r\n \r\n private string _id;\r\n \r\n private string _href;\r\n \r\n private string _description;\r\n \r\n private System.Boolean? _isRef;\r\n \r\n private string _name;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _type;\r\n \r\n private string _referredType;\r\n \r\n /// <summary>\r\n /// Unique identifier of the bill format\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Reference of the bill format\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// An explanatory text for this bill format\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"description\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string description\r\n {\r\n get\r\n {\r\n return this._description;\r\n }\r\n set\r\n {\r\n this._description = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"isRef\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Boolean? isRef\r\n {\r\n get\r\n {\r\n return this._isRef;\r\n }\r\n set\r\n {\r\n this._isRef = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A short descriptive name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class entity name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "TaxDefinition", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class TaxDefinition\r\n{\r\n \r\n private string _type;\r\n \r\n private string _id;\r\n \r\n private string _taxType;\r\n \r\n /// <summary>\r\n /// The @type attribute represents the actual class type of an entity. LOV: An Attribute Format value of the Object\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Unique identifier of the tax. LOV: value, provided by BSS template\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Unique code of the tax. LOV: value, provided by BSS template\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"taxType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string taxType\r\n {\r\n get\r\n {\r\n return this._taxType;\r\n }\r\n set\r\n {\r\n this._taxType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "AccountTaxExemption", "definition": "/// <summary>\r\n/// Proof of freedom from taxes imposed by a taxing jurisdiction\r\n/// </summary>\r\npublic sealed class AccountTaxExemption\r\n{\r\n \r\n private string _certificateNumber;\r\n \r\n private string _issuingJurisdiction;\r\n \r\n private string _reason;\r\n \r\n private TimePeriod _validFor;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _type;\r\n \r\n private TaxDefinition[] _taxDefinition;\r\n \r\n /// <summary>\r\n /// Identifier of a document that shows proof of exemption from taxes for the taxing jurisdiction\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"certificateNumber\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string certificateNumber\r\n {\r\n get\r\n {\r\n return this._certificateNumber;\r\n }\r\n set\r\n {\r\n this._certificateNumber = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the taxing jurisdiction for which taxes are exempt\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"issuingJurisdiction\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string issuingJurisdiction\r\n {\r\n get\r\n {\r\n return this._issuingJurisdiction;\r\n }\r\n set\r\n {\r\n this._issuingJurisdiction = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Reason of the tax exemption. LOV: String value greater than or equal to 10 characters\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"reason\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string reason\r\n {\r\n get\r\n {\r\n return this._reason;\r\n }\r\n set\r\n {\r\n this._reason = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Tax exemption period. LOV: An object\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"validFor\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public TimePeriod validFor\r\n {\r\n get\r\n {\r\n return this._validFor;\r\n }\r\n set\r\n {\r\n this._validFor = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The @type attribute represents the actual class type of an entity. LOV: An Attribute Format value of the Object\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A tax is levied by an authorized tax jurisdiction. There are many different types of tax (Federal Tax levied by the US Government, State Tax levied by the State of California, Value Added Tax) . LOV: A List of object\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"taxDefinition\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public TaxDefinition[] taxDefinition\r\n {\r\n get\r\n {\r\n return this._taxDefinition;\r\n }\r\n set\r\n {\r\n this._taxDefinition = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Note", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class Note\r\n{\r\n \r\n private string _type;\r\n \r\n private string _author;\r\n \r\n private string _hostname;\r\n \r\n private string _text;\r\n \r\n /// <summary>\r\n /// The @type attribute represents the actual class type of an entity. LOV: An Attribute Format value of the Object\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Author of this change. LOV: Username - user from the context, NULL - if unknown\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"author\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string author\r\n {\r\n get\r\n {\r\n return this._author;\r\n }\r\n set\r\n {\r\n this._author = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// hostname of this change. LOV: origin hostname or IP-address\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"hostname\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string hostname\r\n {\r\n get\r\n {\r\n return this._hostname;\r\n }\r\n set\r\n {\r\n this._hostname = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Comment for this change. LOV: String value greater than or equal to 10 characters\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"text\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string text\r\n {\r\n get\r\n {\r\n return this._text;\r\n }\r\n set\r\n {\r\n this._text = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "BillingAccount_Create", "definition": "/// <summary>\r\n/// A party account used for billing purposes. It includes a description of the bill structure (frequency, presentation media, format and so on). It is a specialization of entity PartyAccount.\n///Skipped properties: id,href\r\n/// </summary>\r\npublic sealed class BillingAccount_Create\r\n{\r\n \r\n private System.Int32? _accountType;\r\n \r\n private string _description;\r\n \r\n private System.DateTime? _lastModified;\r\n \r\n private string _name;\r\n \r\n private string _paymentStatus;\r\n \r\n private string _state;\r\n \r\n private AccountBalance[] _accountBalance;\r\n \r\n private AccountRelationship[] _accountRelationship;\r\n \r\n private BillStructure _billStructure;\r\n \r\n private Contact[] _contact;\r\n \r\n private Money _creditLimit;\r\n \r\n private PaymentMethodRef _defaultPaymentMethod;\r\n \r\n private FinancialAccountRef _financialAccount;\r\n \r\n private PaymentPlan[] _paymentPlan;\r\n \r\n private RelatedParty[] _relatedParty;\r\n \r\n private AccountTaxExemption[] _taxExemption;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _type;\r\n \r\n private System.Int32? _ratingType;\r\n \r\n private System.Int32? _id;\r\n \r\n private string _format;\r\n \r\n private string _accept_Language;\r\n \r\n private string _system;\r\n \r\n private System.Int32? _registrCatID;\r\n \r\n private string _x_ms_client_request_id;\r\n \r\n private Note[] _note;\r\n \r\n private System.Int32? _iDType;\r\n \r\n /// <summary>\r\n /// Core account type identifier (multi-language). LOV: Value, provided by BSS template\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"accountType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? accountType\r\n {\r\n get\r\n {\r\n return this._accountType;\r\n }\r\n set\r\n {\r\n this._accountType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Record for the history of the account. LOV: String value greater than or equal to 10 characters\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"description\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string description\r\n {\r\n get\r\n {\r\n return this._description;\r\n }\r\n set\r\n {\r\n this._description = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Effective Date for operation (differs from current for the past)\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"lastModified\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? lastModified\r\n {\r\n get\r\n {\r\n return this._lastModified;\r\n }\r\n set\r\n {\r\n this._lastModified = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Core account number\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The condition of the account, such as due, paid, in arrears.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"paymentStatus\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string paymentStatus\r\n {\r\n get\r\n {\r\n return this._paymentStatus;\r\n }\r\n set\r\n {\r\n this._paymentStatus = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Customers entity status code. LOV: Сharacteristic value, provided by BSS template\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"state\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string state\r\n {\r\n get\r\n {\r\n return this._state;\r\n }\r\n set\r\n {\r\n this._state = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Balance amount related information. LOV: A List of object\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"accountBalance\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public AccountBalance[] accountBalance\r\n {\r\n get\r\n {\r\n return this._accountBalance;\r\n }\r\n set\r\n {\r\n this._accountBalance = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"accountRelationship\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public AccountRelationship[] accountRelationship\r\n {\r\n get\r\n {\r\n return this._accountRelationship;\r\n }\r\n set\r\n {\r\n this._accountRelationship = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The structure of the bill for Billing Accounts. LOV: An object\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"billStructure\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public BillStructure billStructure\r\n {\r\n get\r\n {\r\n return this._billStructure;\r\n }\r\n set\r\n {\r\n this._billStructure = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"contact\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public Contact[] contact\r\n {\r\n get\r\n {\r\n return this._contact;\r\n }\r\n set\r\n {\r\n this._contact = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A base / value business entity used to represent money\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"creditLimit\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public Money creditLimit\r\n {\r\n get\r\n {\r\n return this._creditLimit;\r\n }\r\n set\r\n {\r\n this._creditLimit = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// PaymentMethod reference. A payment method defines a specific mean of payment (e.g direct debit).\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"defaultPaymentMethod\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public PaymentMethodRef defaultPaymentMethod\r\n {\r\n get\r\n {\r\n return this._defaultPaymentMethod;\r\n }\r\n set\r\n {\r\n this._defaultPaymentMethod = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// AccountReceivable reference. An account of money owed by a party to another entity in exchange for goods or services that have been delivered or used. An account receivable aggregates the amounts of one or more party accounts (billing or settlement) owned by a given party.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"financialAccount\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public FinancialAccountRef financialAccount\r\n {\r\n get\r\n {\r\n return this._financialAccount;\r\n }\r\n set\r\n {\r\n this._financialAccount = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Type of payment plan. LOV: A List of object\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"paymentPlan\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public PaymentPlan[] paymentPlan\r\n {\r\n get\r\n {\r\n return this._paymentPlan;\r\n }\r\n set\r\n {\r\n this._paymentPlan = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A Related Party for this operation. LOV: A List of object\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"relatedParty\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public RelatedParty[] relatedParty\r\n {\r\n get\r\n {\r\n return this._relatedParty;\r\n }\r\n set\r\n {\r\n this._relatedParty = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A list of account tax exemptions (TaxExemption [*]). Proof of freedom from taxes imposed by a taxing jurisdiction. LOV: A List of object\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"taxExemption\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public AccountTaxExemption[] taxExemption\r\n {\r\n get\r\n {\r\n return this._taxExemption;\r\n }\r\n set\r\n {\r\n this._taxExemption = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The @type attribute represents the actual class type of an entity. LOV: supported value is \"BillingAccount\"\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [FromRoute(Name=\"@type\")]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Core account category identifier. LOV: Value, provided by BSS template\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"ratingType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? ratingType\r\n {\r\n get\r\n {\r\n return this._ratingType;\r\n }\r\n set\r\n {\r\n this._ratingType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Account ID. LOV: Internal identifier value\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Error output format. LOV: supported value is json\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"format\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [FromRoute(Name=\"format\")]\r\n public string format\r\n {\r\n get\r\n {\r\n return this._format;\r\n }\r\n set\r\n {\r\n this._format = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Specifying a language for a multi-language dataset. LOV: supported value are en-English, uk-Ukrainian, ru-russian\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"Accept-Language\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [FromHeader(Name=\"Accept-Language\")]\r\n public string Accept_Language\r\n {\r\n get\r\n {\r\n return this._accept_Language;\r\n }\r\n set\r\n {\r\n this._accept_Language = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// External system code. LOV: integer greater than zero\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"System\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [FromHeader(Name=\"System\")]\r\n public string System\r\n {\r\n get\r\n {\r\n return this._system;\r\n }\r\n set\r\n {\r\n this._system = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Registration Category ID. LOV: value, provided by BSS template\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"RegistrCatID\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? RegistrCatID\r\n {\r\n get\r\n {\r\n return this._registrCatID;\r\n }\r\n set\r\n {\r\n this._registrCatID = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A unique identifier for the search request, used for the GET operation.. LOV: generally a GUID value\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"x-ms-client-request-id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [FromHeader(Name=\"x-ms-client-request-id\")]\r\n public string x_ms_client_request_id\r\n {\r\n get\r\n {\r\n return this._x_ms_client_request_id;\r\n }\r\n set\r\n {\r\n this._x_ms_client_request_id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Structure for logging changes. LOV: A List of object\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"note\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public Note[] note\r\n {\r\n get\r\n {\r\n return this._note;\r\n }\r\n set\r\n {\r\n this._note = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Sign of passing an external ID value. LOV: 1 - external ID, 0 - internal ID\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"IDType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? IDType\r\n {\r\n get\r\n {\r\n return this._iDType;\r\n }\r\n set\r\n {\r\n this._iDType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "AccountRelationship", "definition": "/// <summary>\r\n/// Significant connection between accounts. For instance an aggregating account for a list of shop branches each having its own billing account.\r\n/// </summary>\r\npublic sealed class AccountRelationship\r\n{\r\n \r\n private string _relationshipType;\r\n \r\n private AccountRef _account;\r\n \r\n private TimePeriod _validFor;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _type;\r\n \r\n /// <summary>\r\n /// Type of relationship\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"relationshipType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string relationshipType\r\n {\r\n get\r\n {\r\n return this._relationshipType;\r\n }\r\n set\r\n {\r\n this._relationshipType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Account reference. A account may be a party account or a financial account.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"account\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public AccountRef account\r\n {\r\n get\r\n {\r\n return this._account;\r\n }\r\n set\r\n {\r\n this._account = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A period of time, either as a deadline (endDateTime only) a startDateTime only, or both\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"validFor\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public TimePeriod validFor\r\n {\r\n get\r\n {\r\n return this._validFor;\r\n }\r\n set\r\n {\r\n this._validFor = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class entity name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "AccountRef", "definition": "/// <summary>\r\n/// Account reference. A account may be a party account or a financial account.\r\n/// </summary>\r\npublic sealed class AccountRef\r\n{\r\n \r\n private string _id;\r\n \r\n private string _href;\r\n \r\n private string _description;\r\n \r\n private string _name;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _type;\r\n \r\n private string _referredType;\r\n \r\n /// <summary>\r\n /// Unique identifier of the account\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Reference of the account\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Detailed description of the account\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"description\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string description\r\n {\r\n get\r\n {\r\n return this._description;\r\n }\r\n set\r\n {\r\n this._description = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the account\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class entity name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Contact", "definition": "/// <summary>\r\n/// An individual or an organization used as a contact point for a given account and accessed via some contact medium.\r\n/// </summary>\r\npublic sealed class Contact\r\n{\r\n \r\n private string _contactName;\r\n \r\n private string _contactType;\r\n \r\n private string _partyRoleType;\r\n \r\n private ContactMedium[] _contactMedium;\r\n \r\n private RelatedParty _relatedParty;\r\n \r\n private TimePeriod _validFor;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _type;\r\n \r\n /// <summary>\r\n /// A displayable name for that contact\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"contactName\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string contactName\r\n {\r\n get\r\n {\r\n return this._contactName;\r\n }\r\n set\r\n {\r\n this._contactName = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Type of contact (primary, secondary...)\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"contactType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string contactType\r\n {\r\n get\r\n {\r\n return this._contactType;\r\n }\r\n set\r\n {\r\n this._contactType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Identifies what kind of party role type is linked to the contact (a account manager...)\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"partyRoleType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string partyRoleType\r\n {\r\n get\r\n {\r\n return this._partyRoleType;\r\n }\r\n set\r\n {\r\n this._partyRoleType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"contactMedium\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public ContactMedium[] contactMedium\r\n {\r\n get\r\n {\r\n return this._contactMedium;\r\n }\r\n set\r\n {\r\n this._contactMedium = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Related Entity reference. A related party defines party or party role linked to a specific entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"relatedParty\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public RelatedParty relatedParty\r\n {\r\n get\r\n {\r\n return this._relatedParty;\r\n }\r\n set\r\n {\r\n this._relatedParty = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A period of time, either as a deadline (endDateTime only) a startDateTime only, or both\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"validFor\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public TimePeriod validFor\r\n {\r\n get\r\n {\r\n return this._validFor;\r\n }\r\n set\r\n {\r\n this._validFor = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class entity name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ContactMedium", "definition": "/// <summary>\r\n/// Indicates the contact medium that could be used to contact the party.\r\n/// </summary>\r\npublic sealed class ContactMedium\r\n{\r\n \r\n private string _mediumType;\r\n \r\n private System.Boolean? _preferred;\r\n \r\n private MediumCharacteristic _characteristic;\r\n \r\n private TimePeriod _validFor;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _type;\r\n \r\n /// <summary>\r\n /// Type of the contact medium, such as: email address, telephone number, postal address\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"mediumType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string mediumType\r\n {\r\n get\r\n {\r\n return this._mediumType;\r\n }\r\n set\r\n {\r\n this._mediumType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// If true, indicates that is the preferred contact medium\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"preferred\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Boolean? preferred\r\n {\r\n get\r\n {\r\n return this._preferred;\r\n }\r\n set\r\n {\r\n this._preferred = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Describes the contact medium characteristics that could be used to contact a party (an individual or an organization)\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"characteristic\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public MediumCharacteristic characteristic\r\n {\r\n get\r\n {\r\n return this._characteristic;\r\n }\r\n set\r\n {\r\n this._characteristic = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A period of time, either as a deadline (endDateTime only) a startDateTime only, or both\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"validFor\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public TimePeriod validFor\r\n {\r\n get\r\n {\r\n return this._validFor;\r\n }\r\n set\r\n {\r\n this._validFor = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class entity name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "MediumCharacteristic", "definition": "/// <summary>\r\n/// Describes the contact medium characteristics that could be used to contact a party (an individual or an organization)\r\n/// </summary>\r\npublic sealed class MediumCharacteristic\r\n{\r\n \r\n private string _city;\r\n \r\n private string _contactType;\r\n \r\n private string _country;\r\n \r\n private string _emailAddress;\r\n \r\n private string _faxNumber;\r\n \r\n private string _phoneNumber;\r\n \r\n private string _postCode;\r\n \r\n private string _socialNetworkId;\r\n \r\n private string _stateOrProvince;\r\n \r\n private string _street1;\r\n \r\n private string _street2;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _type;\r\n \r\n /// <summary>\r\n /// The city\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"city\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string city\r\n {\r\n get\r\n {\r\n return this._city;\r\n }\r\n set\r\n {\r\n this._city = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The type of contact, for example: phone number such as mobile, fixed home, fixed office. postal address such as shipping instalation…\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"contactType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string contactType\r\n {\r\n get\r\n {\r\n return this._contactType;\r\n }\r\n set\r\n {\r\n this._contactType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The country\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"country\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string country\r\n {\r\n get\r\n {\r\n return this._country;\r\n }\r\n set\r\n {\r\n this._country = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Full email address in standard format\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"emailAddress\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string emailAddress\r\n {\r\n get\r\n {\r\n return this._emailAddress;\r\n }\r\n set\r\n {\r\n this._emailAddress = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The fax number of the contact\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"faxNumber\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string faxNumber\r\n {\r\n get\r\n {\r\n return this._faxNumber;\r\n }\r\n set\r\n {\r\n this._faxNumber = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The primary phone number of the contact\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"phoneNumber\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string phoneNumber\r\n {\r\n get\r\n {\r\n return this._phoneNumber;\r\n }\r\n set\r\n {\r\n this._phoneNumber = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Postcode\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"postCode\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string postCode\r\n {\r\n get\r\n {\r\n return this._postCode;\r\n }\r\n set\r\n {\r\n this._postCode = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Identifier as a member of a social network\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"socialNetworkId\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string socialNetworkId\r\n {\r\n get\r\n {\r\n return this._socialNetworkId;\r\n }\r\n set\r\n {\r\n this._socialNetworkId = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// State or province\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"stateOrProvince\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string stateOrProvince\r\n {\r\n get\r\n {\r\n return this._stateOrProvince;\r\n }\r\n set\r\n {\r\n this._stateOrProvince = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Describes the street\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"street1\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string street1\r\n {\r\n get\r\n {\r\n return this._street1;\r\n }\r\n set\r\n {\r\n this._street1 = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Complementary street description\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"street2\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string street2\r\n {\r\n get\r\n {\r\n return this._street2;\r\n }\r\n set\r\n {\r\n this._street2 = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class entity name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "FinancialAccountRef", "definition": "/// <summary>\r\n/// AccountReceivable reference. An account of money owed by a party to another entity in exchange for goods or services that have been delivered or used. An account receivable aggregates the amounts of one or more party accounts (billing or settlement) owned by a given party.\r\n/// </summary>\r\npublic sealed class FinancialAccountRef\r\n{\r\n \r\n private string _id;\r\n \r\n private string _href;\r\n \r\n private string _name;\r\n \r\n private AccountBalance _accountBalance;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _type;\r\n \r\n private string _referredType;\r\n \r\n /// <summary>\r\n /// Unique identifier of the account\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Unique reference of the account\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the account\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Balances linked to the account\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"accountBalance\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public AccountBalance accountBalance\r\n {\r\n get\r\n {\r\n return this._accountBalance;\r\n }\r\n set\r\n {\r\n this._accountBalance = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class entity name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "BillingAccount_Update", "definition": "/// <summary>\r\n/// A party account used for billing purposes. It includes a description of the bill structure (frequency, presentation media, format and so on). It is a specialization of entity PartyAccount.\n///Skipped properties: id,href,accountBalance\r\n/// </summary>\r\npublic sealed class BillingAccount_Update\r\n{\r\n \r\n private System.Int32? _accountType;\r\n \r\n private string _description;\r\n \r\n private System.DateTime? _lastModified;\r\n \r\n private string _name;\r\n \r\n private string _paymentStatus;\r\n \r\n private string _state;\r\n \r\n private AccountRelationship[] _accountRelationship;\r\n \r\n private BillStructure _billStructure;\r\n \r\n private Contact[] _contact;\r\n \r\n private Money _creditLimit;\r\n \r\n private PaymentMethodRef _defaultPaymentMethod;\r\n \r\n private FinancialAccountRef _financialAccount;\r\n \r\n private PaymentPlan[] _paymentPlan;\r\n \r\n private RelatedParty[] _relatedParty;\r\n \r\n private AccountTaxExemption[] _taxExemption;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _type;\r\n \r\n private System.Int32? _ratingType;\r\n \r\n private AccountBalance[] _accountBalance;\r\n \r\n private System.Int32? _id;\r\n \r\n private string _format;\r\n \r\n private string _accept_Language;\r\n \r\n private string _system;\r\n \r\n private System.Int32? _registrCatID;\r\n \r\n private string _x_ms_client_request_id;\r\n \r\n private Note[] _note;\r\n \r\n private System.Int32? _iDType;\r\n \r\n /// <summary>\r\n /// Core account type identifier (multi-language). LOV: Value, provided by BSS template\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"accountType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? accountType\r\n {\r\n get\r\n {\r\n return this._accountType;\r\n }\r\n set\r\n {\r\n this._accountType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Record for the history of the account. LOV: String value greater than or equal to 10 characters\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"description\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string description\r\n {\r\n get\r\n {\r\n return this._description;\r\n }\r\n set\r\n {\r\n this._description = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Effective Date for operation (differs from current for the past)\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"lastModified\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? lastModified\r\n {\r\n get\r\n {\r\n return this._lastModified;\r\n }\r\n set\r\n {\r\n this._lastModified = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Core account number\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The condition of the account, such as due, paid, in arrears.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"paymentStatus\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string paymentStatus\r\n {\r\n get\r\n {\r\n return this._paymentStatus;\r\n }\r\n set\r\n {\r\n this._paymentStatus = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Customers entity status code. LOV: Сharacteristic value, provided by BSS template\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"state\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string state\r\n {\r\n get\r\n {\r\n return this._state;\r\n }\r\n set\r\n {\r\n this._state = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"accountRelationship\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public AccountRelationship[] accountRelationship\r\n {\r\n get\r\n {\r\n return this._accountRelationship;\r\n }\r\n set\r\n {\r\n this._accountRelationship = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The structure of the bill for Billing Accounts. LOV: An object\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"billStructure\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public BillStructure billStructure\r\n {\r\n get\r\n {\r\n return this._billStructure;\r\n }\r\n set\r\n {\r\n this._billStructure = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"contact\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public Contact[] contact\r\n {\r\n get\r\n {\r\n return this._contact;\r\n }\r\n set\r\n {\r\n this._contact = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A base / value business entity used to represent money\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"creditLimit\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public Money creditLimit\r\n {\r\n get\r\n {\r\n return this._creditLimit;\r\n }\r\n set\r\n {\r\n this._creditLimit = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// PaymentMethod reference. A payment method defines a specific mean of payment (e.g direct debit).\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"defaultPaymentMethod\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public PaymentMethodRef defaultPaymentMethod\r\n {\r\n get\r\n {\r\n return this._defaultPaymentMethod;\r\n }\r\n set\r\n {\r\n this._defaultPaymentMethod = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// AccountReceivable reference. An account of money owed by a party to another entity in exchange for goods or services that have been delivered or used. An account receivable aggregates the amounts of one or more party accounts (billing or settlement) owned by a given party.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"financialAccount\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public FinancialAccountRef financialAccount\r\n {\r\n get\r\n {\r\n return this._financialAccount;\r\n }\r\n set\r\n {\r\n this._financialAccount = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Type of payment plan. LOV: A List of object\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"paymentPlan\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public PaymentPlan[] paymentPlan\r\n {\r\n get\r\n {\r\n return this._paymentPlan;\r\n }\r\n set\r\n {\r\n this._paymentPlan = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A Related Party for this operation. LOV: A List of object\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"relatedParty\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public RelatedParty[] relatedParty\r\n {\r\n get\r\n {\r\n return this._relatedParty;\r\n }\r\n set\r\n {\r\n this._relatedParty = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A list of account tax exemptions (TaxExemption [*]). Proof of freedom from taxes imposed by a taxing jurisdiction. LOV: A List of object\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"taxExemption\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public AccountTaxExemption[] taxExemption\r\n {\r\n get\r\n {\r\n return this._taxExemption;\r\n }\r\n set\r\n {\r\n this._taxExemption = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The @type attribute represents the actual class type of an entity. LOV: supported value is \"BillingAccount\"\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [FromRoute(Name=\"@type\")]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Core account category identifier. LOV: Value, provided by BSS template\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"ratingType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? ratingType\r\n {\r\n get\r\n {\r\n return this._ratingType;\r\n }\r\n set\r\n {\r\n this._ratingType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Balance amount related information. LOV: A List of object\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"accountBalance\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public AccountBalance[] accountBalance\r\n {\r\n get\r\n {\r\n return this._accountBalance;\r\n }\r\n set\r\n {\r\n this._accountBalance = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Account ID. LOV: Internal identifier value\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Error output format. LOV: supported value is json\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"format\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [FromRoute(Name=\"format\")]\r\n public string format\r\n {\r\n get\r\n {\r\n return this._format;\r\n }\r\n set\r\n {\r\n this._format = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Specifying a language for a multi-language dataset. LOV: supported value are en-English, uk-Ukrainian, ru-russian\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"Accept-Language\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [FromHeader(Name=\"Accept-Language\")]\r\n public string Accept_Language\r\n {\r\n get\r\n {\r\n return this._accept_Language;\r\n }\r\n set\r\n {\r\n this._accept_Language = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// External system code. LOV: integer greater than zero\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"System\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [FromHeader(Name=\"System\")]\r\n public string System\r\n {\r\n get\r\n {\r\n return this._system;\r\n }\r\n set\r\n {\r\n this._system = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Registration Category ID. LOV: value, provided by BSS template\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"RegistrCatID\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? RegistrCatID\r\n {\r\n get\r\n {\r\n return this._registrCatID;\r\n }\r\n set\r\n {\r\n this._registrCatID = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A unique identifier for the search request, used for the GET operation.. LOV: generally a GUID value\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"x-ms-client-request-id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [FromHeader(Name=\"x-ms-client-request-id\")]\r\n public string x_ms_client_request_id\r\n {\r\n get\r\n {\r\n return this._x_ms_client_request_id;\r\n }\r\n set\r\n {\r\n this._x_ms_client_request_id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Structure for logging changes. LOV: A List of object\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"note\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public Note[] note\r\n {\r\n get\r\n {\r\n return this._note;\r\n }\r\n set\r\n {\r\n this._note = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Sign of passing an external ID value. LOV: 1 - external ID, 0 - internal ID\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"IDType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? IDType\r\n {\r\n get\r\n {\r\n return this._iDType;\r\n }\r\n set\r\n {\r\n this._iDType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "BillingAccount_Response_SET", "definition": "/// <summary>\r\n/// &lt;empty description&gt;\r\n/// </summary>\r\npublic sealed class BillingAccount_Response_SET\r\n{\r\n \r\n private System.Int32? _id;\r\n \r\n private string _name;\r\n \r\n private RelatedParty[] _relatedParty;\r\n \r\n private string _state;\r\n \r\n private string _accept_Language;\r\n \r\n private string _type;\r\n \r\n private string _x_ms_client_request_id;\r\n \r\n private System.Int32? _iDType;\r\n \r\n private PaymentPlan[] _paymentPlan;\r\n \r\n /// <summary>\r\n /// Account ID. LOV: Internal identifier value\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Core account number\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A Related Party for this operation. LOV: A List of object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"relatedParty\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public RelatedParty[] relatedParty\r\n {\r\n get\r\n {\r\n return this._relatedParty;\r\n }\r\n set\r\n {\r\n this._relatedParty = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Customers entity status code. LOV: Сharacteristic value, provided by BSS template\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"state\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string state\r\n {\r\n get\r\n {\r\n return this._state;\r\n }\r\n set\r\n {\r\n this._state = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Specifying a language for a multi-language dataset. LOV: supported value are en-English, uk-Ukrainian, ru-russian\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"Accept-Language\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string Accept_Language\r\n {\r\n get\r\n {\r\n return this._accept_Language;\r\n }\r\n set\r\n {\r\n this._accept_Language = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The @type attribute represents the actual class type of an entity. LOV: supported value is \"BillingAccount\"\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A unique identifier for the search request, used for the GET operation.. LOV: generally a GUID value\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"x-ms-client-request-id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string x_ms_client_request_id\r\n {\r\n get\r\n {\r\n return this._x_ms_client_request_id;\r\n }\r\n set\r\n {\r\n this._x_ms_client_request_id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Sign of passing an external ID value. LOV: 1 - external ID, 0 - internal ID\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"IDType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? IDType\r\n {\r\n get\r\n {\r\n return this._iDType;\r\n }\r\n set\r\n {\r\n this._iDType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Type of payment plan. LOV: A List of object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"paymentPlan\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public PaymentPlan[] paymentPlan\r\n {\r\n get\r\n {\r\n return this._paymentPlan;\r\n }\r\n set\r\n {\r\n this._paymentPlan = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Error", "definition": "{\n\t\"$schema\": \"http://json-schema.org/draft-06/schema#\",\n\t\"$ref\": \"#/definitions/Error\",\n\t\"definitions\": {\n\t\t\"Error\": {\n\t\t\t\"type\": \"object\",\n\t\t\t\"additionalProperties\": false,\n\t\t\t\"properties\": {\n\t\t\t\t\"code\": {\n\t\t\t\t\t\"type\": \"string\",\n\t\t\t\t\t\"description\": \"Application relevant detail, defined in the API or a common list\"\n\t\t\t\t},\n\t\t\t\t\"reason\": {\n\t\t\t\t\t\"type\": \"string\"\n\t\t\t\t},\n\t\t\t\t\"message\": {\n\t\t\t\t\t\"type\": \"string\"\n\t\t\t\t},\n\t\t\t\t\"status\": {\n\t\t\t\t\t\"type\": \"string\"\n\t\t\t\t},\n\t\t\t\t\"referenceError\": {\n\t\t\t\t\t\"type\": \"string\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"title\": \"Error\"\n\t\t}\n\t}\n}", "isNativeDefinition": false }, { "name": "BillingAccount_Response_POST", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class BillingAccount_Response_POST\r\n{\r\n \r\n private System.Int32? _id;\r\n \r\n private string _name;\r\n \r\n private RelatedParty[] _relatedParty;\r\n \r\n private string _state;\r\n \r\n private string _accept_Language;\r\n \r\n private string _type;\r\n \r\n private string _x_ms_client_request_id;\r\n \r\n private System.Int32? _iDType;\r\n \r\n private PaymentPlan[] _paymentPlan;\r\n \r\n /// <summary>\r\n /// Account ID. LOV: Internal identifier value\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Core account number\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A Related Party for this operation. LOV: A List of object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"relatedParty\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public RelatedParty[] relatedParty\r\n {\r\n get\r\n {\r\n return this._relatedParty;\r\n }\r\n set\r\n {\r\n this._relatedParty = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Customers entity status code. LOV: Сharacteristic value, provided by BSS template\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"state\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string state\r\n {\r\n get\r\n {\r\n return this._state;\r\n }\r\n set\r\n {\r\n this._state = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Specifying a language for a multi-language dataset. LOV: supported value are en-English, uk-Ukrainian, ru-russian\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"Accept-Language\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string Accept_Language\r\n {\r\n get\r\n {\r\n return this._accept_Language;\r\n }\r\n set\r\n {\r\n this._accept_Language = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The @type attribute represents the actual class type of an entity. LOV: supported value is \"BillingAccount\"\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A unique identifier for the search request, used for the GET operation.. LOV: generally a GUID value\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"x-ms-client-request-id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string x_ms_client_request_id\r\n {\r\n get\r\n {\r\n return this._x_ms_client_request_id;\r\n }\r\n set\r\n {\r\n this._x_ms_client_request_id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Sign of passing an external ID value. LOV: 1 - external ID, 0 - internal ID\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"IDType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? IDType\r\n {\r\n get\r\n {\r\n return this._iDType;\r\n }\r\n set\r\n {\r\n this._iDType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Type of payment plan. LOV: A List of object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"paymentPlan\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public PaymentPlan[] paymentPlan\r\n {\r\n get\r\n {\r\n return this._paymentPlan;\r\n }\r\n set\r\n {\r\n this._paymentPlan = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "BillingAccount_Response_PUT", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class BillingAccount_Response_PUT\r\n{\r\n \r\n private System.Int32? _id;\r\n \r\n private string _name;\r\n \r\n private RelatedParty[] _relatedParty;\r\n \r\n private string _state;\r\n \r\n private string _accept_Language;\r\n \r\n private string _type;\r\n \r\n private string _x_ms_client_request_id;\r\n \r\n private System.Int32? _iDType;\r\n \r\n private PaymentPlan[] _paymentPlan;\r\n \r\n /// <summary>\r\n /// Account ID. LOV: Internal identifier value\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Core account number\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A Related Party for this operation. LOV: A List of object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"relatedParty\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public RelatedParty[] relatedParty\r\n {\r\n get\r\n {\r\n return this._relatedParty;\r\n }\r\n set\r\n {\r\n this._relatedParty = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Customers entity status code. LOV: Сharacteristic value, provided by BSS template\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"state\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string state\r\n {\r\n get\r\n {\r\n return this._state;\r\n }\r\n set\r\n {\r\n this._state = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Specifying a language for a multi-language dataset. LOV: supported value are en-English, uk-Ukrainian, ru-russian\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"Accept-Language\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string Accept_Language\r\n {\r\n get\r\n {\r\n return this._accept_Language;\r\n }\r\n set\r\n {\r\n this._accept_Language = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The @type attribute represents the actual class type of an entity. LOV: supported value is \"BillingAccount\"\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A unique identifier for the search request, used for the GET operation.. LOV: generally a GUID value\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"x-ms-client-request-id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string x_ms_client_request_id\r\n {\r\n get\r\n {\r\n return this._x_ms_client_request_id;\r\n }\r\n set\r\n {\r\n this._x_ms_client_request_id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Sign of passing an external ID value. LOV: 1 - external ID, 0 - internal ID\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"IDType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? IDType\r\n {\r\n get\r\n {\r\n return this._iDType;\r\n }\r\n set\r\n {\r\n this._iDType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Type of payment plan. LOV: A List of object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"paymentPlan\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public PaymentPlan[] paymentPlan\r\n {\r\n get\r\n {\r\n return this._paymentPlan;\r\n }\r\n set\r\n {\r\n this._paymentPlan = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }] [] - [ { "name": "HandleException", "initCode": "Error HandleException (\n\t\tPassingResult prevData\n\t) \n {\n try\n {\n //investigate the Exception \n Logger.LogInformation($\"Exception name : {prevData.Exception?.GetType()?.Name}\");\n\n Error result = new Error(){ status = \"500\"};\n if (prevData.Exception != null)\n {\n result = prevData.Exception.GetError(\"500\");\n }\n \n int statusCode = 500;\n int.TryParse(result?.status, out statusCode);\n \n WorkflowEnvironment.Variables[\"StatusCode\"] = 500; \n if (WorkflowEnvironment.Variables.TryGetValue (\"HttpResponse\", out object httpResponseObj))\n {\n Microsoft.AspNetCore.Http.HttpResponse response = httpResponseObj as Microsoft.AspNetCore.Http.HttpResponse;\n response.StatusCode = statusCode;\n } \n return result;\n }\n catch (Exception e) \n {\n Logger.LogError($\"HandleException:: error {e}\");\n if (WorkflowEnvironment.Variables.TryGetValue (\"HttpResponse\", out object httpResponseObj))\n {\n Microsoft.AspNetCore.Http.HttpResponse response = httpResponseObj as Microsoft.AspNetCore.Http.HttpResponse;\n //Parameters.x_ms_client_request_id\n response.StatusCode = 500;\n } \n return new Error() \n { \n status = \"500\",\n message = $\"Error while handle error ! {e.Message}\"\n };\n }\n }", "initParameters": [ { "name": "Result", "type": "Error", "required": false, "defaultValue": null }, { "name": "prevData", "type": "PassingResult", "required": true, "defaultValue": null } ] }, { "name": "CodeActionExample", "initCode": "string CodeActionExample (\n\t) \n {\n try \n { \n \n Logger.LogInformation($\"CodeActionExample:: started\");\n // TODO Insert your code here\n Logger.LogInformation($\"CodeActionExample:: finished\");\n \n var procedure = \"[dbo].[GET_WorkflowEventConfig]\";\n var values = new\n {\n Name = \"test\",\n PurposeId = 1,\n TypeId = 1,\n Filter = \"filter\"\n };\n \n string _connectionString = \"Data Source=sqlserv;Initial Catalog=ucp;User ID=login;Password=password;MultipleActiveResultSets=true;Encrypt=True;TrustServerCertificate=True;Command Timeout=3600\";\n\n var dynamicParameters = new DynamicParameters();\n dynamicParameters.AddDynamicParams(values);\n IEnumerable<dynamic> dynamicRes = null;\n\n using (var connection = new SqlConnection(_connectionString))\n {\n dynamicRes = connection.Query(procedure, dynamicParameters, commandType: CommandType.StoredProcedure);\n }\n \n \n return \"Ok\";\n }\n catch (Exception e) {\n Logger.LogError($\"CodeActionExample:: error {e}\");\n throw new Exception($\"CodeActionExample:: error {e}\");\n }\n \n }", "initParameters": [ { "name": "Result", "type": "string", "required": false, "defaultValue": null } ] }, { "name": "proceedSessionParameters", "initCode": "Json proceedSessionParameters (\n\t) \n {\n string v_author = null;\n string v_hostname = null;\n Note[] notes = null;\n \n if(WorkflowEnvironment.RuntimeName == \"Plugin\")\n {\n if (this.WorkflowEnvironment.Variables.TryGetValue (\"ApiContext\", out object apiContextObj))\n {\n IApiContext apiContext = apiContextObj as IApiContext;\n v_author = apiContext.DataBag.UserName;\n v_hostname = apiContext.DataBag.From;\n }\n\n if (WorkflowEnvironment.Variables.TryGetValue (\"HttpRequest\", out object httpRequestObj))\n {\n Microsoft.AspNetCore.Http.HttpRequest req = httpRequestObj as Microsoft.AspNetCore.Http .HttpRequest;\n if (req.Headers.TryGetValue(\"x_ms_client_request_id\", out var reqIdValues))\n {\n Parameters.x_ms_client_request_id = reqIdValues .FirstOrDefault();\n }\n }\n\t\t\t\tvar note = Input.note?.Select(n => new Note()\n\t\t\t\t{\n\t\t\t\t\tauthor = n.author,\n\t\t\t\t\thostname = n.hostname,\n\t\t\t\t\ttext = n.text\n\t\t\t\t})?.FirstOrDefault() ?? new Note();\n\t\t\t\t\n\t\t\t\tnote.author = v_author;\n\t\t\t\tnote.hostname = v_hostname;\n\t\t\t\t\n notes = new Note[1]{note};\n }\n else\n {\n Parameters.x_ms_client_request_id = Input.x_ms_client_request_id;\n notes = Input.note; \n }\n \n if (this.WorkflowEnvironment.Variables.TryGetValue(\"ConfigString\", out object configStr))\n {\n var configJson = new JSON(configStr).Cast<ServiceConfig>();\n if(!string.IsNullOrEmpty(configJson?.ConnectionString))\n {\n Parameters.sqlConnectionString = configJson.ConnectionString;\n }\n \n };\n return new JSON(notes); \n }", "initParameters": [ { "name": "Result", "type": "Json", "required": false, "defaultValue": null } ] }, { "name": "p_ucp_set_BillingAccount_Dbss", "initCode": "BillingAccount_Response_SET p_ucp_set_BillingAccount_Dbss (\n\t\tInt? Actp_ID,\n\t\tstring Remark,\n\t\tdatetime? lastModified,\n\t\tstring Acnt_Number,\n\t\tstring state,\n\t\tstring accountBalance,\n\t\tstring delivery,\n\t\tInt? Aptp_ID,\n\t\tstring Accl_ID,\n\t\tstring relatedParty,\n\t\tstring atype,\n\t\tInt? Acat_ID,\n\t\tInt? Acnt_ID,\n\t\tstring ErrFormat,\n\t\tstring Lang,\n\t\tstring ExternalSystemCode,\n\t\tInt? RegistrCatID,\n\t\tstring x_ms_client_request_id,\n\t\tstring note,\n\t\tInt? idType\n\t) \r\n{\r\n var p = new DynamicParameters();\r\np.Add(\"Actp_ID\", value: Actp_ID, dbType: DbType.Int32, direction:ParameterDirection.Input);\r\np.Add(\"Remark\", value: Remark, dbType: DbType.String, direction:ParameterDirection.Input, size:400);\r\np.Add(\"lastModified\", value: lastModified, dbType: DbType.DateTime2, direction:ParameterDirection.Input);\r\np.Add(\"Acnt_Number\", value: Acnt_Number, dbType: DbType.String, direction:ParameterDirection.InputOutput, size:12);\r\np.Add(\"state\", value: state, dbType: DbType.String, direction:ParameterDirection.InputOutput, size:-1);\r\np.Add(\"accountBalance\", value: accountBalance, dbType: DbType.String, direction:ParameterDirection.Input, size:-1);\r\np.Add(\"delivery\", value: delivery, dbType: DbType.String, direction:ParameterDirection.Input, size:-1);\r\np.Add(\"Aptp_ID\", value: Aptp_ID, dbType: DbType.Int32, direction:ParameterDirection.InputOutput);\r\np.Add(\"Accl_ID\", value: Accl_ID, dbType: DbType.String, direction:ParameterDirection.InputOutput, size:10);\r\np.Add(\"Aptp_ID\", value: Aptp_ID, dbType: DbType.Int32, direction:ParameterDirection.InputOutput);\r\np.Add(\"relatedParty\", value: relatedParty, dbType: DbType.String, direction:ParameterDirection.InputOutput, size:-1);\r\np.Add(\"atype\", value: atype, dbType: DbType.String, direction:ParameterDirection.InputOutput, size:50);\r\np.Add(\"Acat_ID\", value: Acat_ID, dbType: DbType.Int32, direction:ParameterDirection.Input);\r\np.Add(\"Acnt_ID\", value: Acnt_ID, dbType: DbType.Int32, direction:ParameterDirection.InputOutput);\r\np.Add(\"ErrFormat\", value: ErrFormat, dbType: DbType.String, direction:ParameterDirection.Input, size:25);\r\np.Add(\"Lang\", value: Lang, dbType: DbType.String, direction:ParameterDirection.Input, size:3);\r\np.Add(\"ExternalSystemCode\", value: ExternalSystemCode, dbType: DbType.String, direction:ParameterDirection.Input, size:3);\r\np.Add(\"RegistrCatID\", value: RegistrCatID, dbType: DbType.Int32, direction:ParameterDirection.Input);\r\np.Add(\"x_ms_client_request_id\", value: x_ms_client_request_id, dbType: DbType.String, direction:ParameterDirection.InputOutput, size:32);\r\np.Add(\"note\", value: note, dbType: DbType.String, direction:ParameterDirection.Input, size:-1);\r\np.Add(\"idType\", value: idType, dbType: DbType.Int32, direction:ParameterDirection.InputOutput);\r\n\r\nstring sqlConnectionString = Parameters.sqlConnectionString;\r\nif (this.WorkflowEnvironment.Variables.TryGetValue(\"ConfigString\", out object configStr))\r\n{\r\n var configJson = new JSON(configStr).Cast<ServiceConfig>();\r\n if(!string.IsNullOrEmpty(configJson?.ConnectionString))\r\n {\r\n sqlConnectionString = configJson.ConnectionString;\r\n }\r\n};\r\n\r\nvar procedure = \"[dbo].[p_ucp_set_BillingAccount_Dbss]\";\r\nusing (var connection = new SqlConnection(sqlConnectionString))\r\n{\r\n connection.Execute(procedure, p, commandType: CommandType.StoredProcedure, commandTimeout:0);\r\n}\r\n// fill output params\r\nBillingAccount_Response_SET result = new BillingAccount_Response_SET();\r\nresult.id = p.Get<System.Int32?>(\"Acnt_ID\");\r\nresult.name = p.Get<System.String>(\"Acnt_Number\");\r\nresult.relatedParty = string.IsNullOrEmpty(p.Get<string>(\"relatedParty\"))?new RelatedParty[]{new RelatedParty()}:new JSON(p.Get<string>(\"relatedParty\")).Cast<RelatedParty[]>();\r\nresult.state = p.Get<System.String>(\"state\");\r\nresult.Accept_Language = p.Get<System.String>(\"Lang\");\r\nresult.@type = p.Get<System.String>(\"atype\");\r\nresult.x_ms_client_request_id = p.Get<System.String>(\"x_ms_client_request_id\");\r\nresult.IDType = p.Get<System.Int32?>(\"idType\");\r\nresult.paymentPlan = new PaymentPlan[]{new PaymentPlan()};\r\nresult.paymentPlan[0].paymentMethod = new PaymentMethodRef();\r\nresult.paymentPlan[0].paymentMethod.id = p.Get<System.Int32?>(\"Aptp_ID\");\r\nresult.paymentPlan = new PaymentPlan[]{new PaymentPlan()};\r\nresult.paymentPlan[0].planType = p.Get<System.String>(\"Accl_ID\");\r\n\r\n if (WorkflowEnvironment.RuntimeName == \"Plugin\")\r\n {\r\n if (WorkflowEnvironment.Variables.TryGetValue(\"HttpResponse\", out object httpResponseObj))\r\n {\r\n Microsoft.AspNetCore.Http.HttpResponse response = httpResponseObj as Microsoft.AspNetCore.Http.HttpResponse;\r\n response.Headers[\"Accept-Language\"] = result.Accept_Language;\r\n result.Accept_Language = null;\r\n response.Headers[\"x-ms-client-request-id\"] = result.x_ms_client_request_id;\r\n result.x_ms_client_request_id = null;\r\n }\r\n }\r\n\r\nreturn result;\r\n}\r\n", "initParameters": [ { "name": "Actp_ID", "type": "Int?", "required": false, "defaultValue": null }, { "name": "Remark", "type": "string", "required": false, "defaultValue": null }, { "name": "lastModified", "type": "datetime?", "required": false, "defaultValue": null }, { "name": "Acnt_Number", "type": "string", "required": false, "defaultValue": null }, { "name": "state", "type": "string", "required": false, "defaultValue": null }, { "name": "accountBalance", "type": "string", "required": false, "defaultValue": null }, { "name": "delivery", "type": "string", "required": false, "defaultValue": null }, { "name": "Aptp_ID", "type": "Int?", "required": false, "defaultValue": null }, { "name": "Accl_ID", "type": "string", "required": false, "defaultValue": null }, { "name": "relatedParty", "type": "string", "required": false, "defaultValue": null }, { "name": "atype", "type": "string", "required": false, "defaultValue": null }, { "name": "Acat_ID", "type": "Int?", "required": false, "defaultValue": null }, { "name": "Acnt_ID", "type": "Int?", "required": false, "defaultValue": null }, { "name": "ErrFormat", "type": "string", "required": false, "defaultValue": null }, { "name": "Lang", "type": "string", "required": false, "defaultValue": null }, { "name": "ExternalSystemCode", "type": "string", "required": false, "defaultValue": null }, { "name": "RegistrCatID", "type": "Int?", "required": false, "defaultValue": null }, { "name": "x_ms_client_request_id", "type": "string", "required": false, "defaultValue": null }, { "name": "note", "type": "string", "required": false, "defaultValue": null }, { "name": "idType", "type": "Int?", "required": false, "defaultValue": null }, { "name": "Result", "type": "BillingAccount_Response_SET", "required": false, "defaultValue": null } ] }] + [ { "name": "HandleException", "initCode": "Error HandleException (\n\t\tPassingResult prevData\n\t) \n {\n try\n {\n //investigate the Exception \n Logger.LogInformation($\"Exception name : {prevData.Exception?.GetType()?.Name}\");\n\n Error result = new Error(){ status = \"500\"};\n if (prevData.Exception != null)\n {\n result = prevData.Exception.GetError(\"500\");\n }\n \n int statusCode = 500;\n int.TryParse(result?.status, out statusCode);\n \n WorkflowEnvironment.Variables[\"StatusCode\"] = 500; \n if (WorkflowEnvironment.Variables.TryGetValue (\"HttpResponse\", out object httpResponseObj))\n {\n Microsoft.AspNetCore.Http.HttpResponse response = httpResponseObj as Microsoft.AspNetCore.Http.HttpResponse;\n response.StatusCode = statusCode;\n } \n return result;\n }\n catch (Exception e) \n {\n Logger.LogError($\"HandleException:: error {e}\");\n if (WorkflowEnvironment.Variables.TryGetValue (\"HttpResponse\", out object httpResponseObj))\n {\n Microsoft.AspNetCore.Http.HttpResponse response = httpResponseObj as Microsoft.AspNetCore.Http.HttpResponse;\n //Parameters.x_ms_client_request_id\n response.StatusCode = 500;\n } \n return new Error() \n { \n status = \"500\",\n message = $\"Error while handle error ! {e.Message}\"\n };\n }\n }", "initParameters": [ { "name": "Result", "type": "Error", "required": false, "defaultValue": null }, { "name": "prevData", "type": "PassingResult", "required": true, "defaultValue": null } ] }, { "name": "CodeActionExample", "initCode": "string CodeActionExample (\n\t) \n {\n try \n { \n \n Logger.LogInformation($\"CodeActionExample:: started\");\n // TODO Insert your code here\n Logger.LogInformation($\"CodeActionExample:: finished\");\n \n var procedure = \"[dbo].[GET_WorkflowEventConfig]\";\n var values = new\n {\n Name = \"test\",\n PurposeId = 1,\n TypeId = 1,\n Filter = \"filter\"\n };\n \n string _connectionString = \"Data Source=localhost;Initial Catalog=examples;User ID=login;Password=;MultipleActiveResultSets=true;Encrypt=True;TrustServerCertificate=True;Command Timeout=3600\";\n\n var dynamicParameters = new DynamicParameters();\n dynamicParameters.AddDynamicParams(values);\n IEnumerable<dynamic> dynamicRes = null;\n\n using (var connection = new SqlConnection(_connectionString))\n {\n dynamicRes = connection.Query(procedure, dynamicParameters, commandType: CommandType.StoredProcedure);\n }\n \n \n return \"Ok\";\n }\n catch (Exception e) {\n Logger.LogError($\"CodeActionExample:: error {e}\");\n throw new Exception($\"CodeActionExample:: error {e}\");\n }\n \n }", "initParameters": [ { "name": "Result", "type": "string", "required": false, "defaultValue": null } ] }, { "name": "proceedSessionParameters", "initCode": "Json proceedSessionParameters (\n\t) \n {\n string v_author = null;\n string v_hostname = null;\n Note[] notes = null;\n \n if(WorkflowEnvironment.RuntimeName == \"Plugin\")\n {\n if (this.WorkflowEnvironment.Variables.TryGetValue (\"ApiContext\", out object apiContextObj))\n {\n IApiContext apiContext = apiContextObj as IApiContext;\n v_author = apiContext.DataBag.UserName;\n v_hostname = apiContext.DataBag.From;\n }\n\n if (WorkflowEnvironment.Variables.TryGetValue (\"HttpRequest\", out object httpRequestObj))\n {\n Microsoft.AspNetCore.Http.HttpRequest req = httpRequestObj as Microsoft.AspNetCore.Http .HttpRequest;\n if (req.Headers.TryGetValue(\"x_ms_client_request_id\", out var reqIdValues))\n {\n Parameters.x_ms_client_request_id = reqIdValues .FirstOrDefault();\n }\n }\n\t\t\t\tvar note = Input.note?.Select(n => new Note()\n\t\t\t\t{\n\t\t\t\t\tauthor = n.author,\n\t\t\t\t\thostname = n.hostname,\n\t\t\t\t\ttext = n.text\n\t\t\t\t})?.FirstOrDefault() ?? new Note();\n\t\t\t\t\n\t\t\t\tnote.author = v_author;\n\t\t\t\tnote.hostname = v_hostname;\n\t\t\t\t\n notes = new Note[1]{note};\n }\n else\n {\n Parameters.x_ms_client_request_id = Input.x_ms_client_request_id;\n notes = Input.note; \n }\n \n if (this.WorkflowEnvironment.Variables.TryGetValue(\"ConfigString\", out object configStr))\n {\n var configJson = new JSON(configStr).Cast<ServiceConfig>();\n if(!string.IsNullOrEmpty(configJson?.ConnectionString))\n {\n Parameters.sqlConnectionString = configJson.ConnectionString;\n }\n \n };\n return new JSON(notes); \n }", "initParameters": [ { "name": "Result", "type": "Json", "required": false, "defaultValue": null } ] }, { "name": "p_ucp_set_BillingAccount_Dbss", "initCode": "BillingAccount_Response_SET p_ucp_set_BillingAccount_Dbss (\n\t\tInt? Actp_ID,\n\t\tstring Remark,\n\t\tdatetime? lastModified,\n\t\tstring Acnt_Number,\n\t\tstring state,\n\t\tstring accountBalance,\n\t\tstring delivery,\n\t\tInt? Aptp_ID,\n\t\tstring Accl_ID,\n\t\tstring relatedParty,\n\t\tstring atype,\n\t\tInt? Acat_ID,\n\t\tInt? Acnt_ID,\n\t\tstring ErrFormat,\n\t\tstring Lang,\n\t\tstring ExternalSystemCode,\n\t\tInt? RegistrCatID,\n\t\tstring x_ms_client_request_id,\n\t\tstring note,\n\t\tInt? idType\n\t) \r\n{\r\n var p = new DynamicParameters();\r\np.Add(\"Actp_ID\", value: Actp_ID, dbType: DbType.Int32, direction:ParameterDirection.Input);\r\np.Add(\"Remark\", value: Remark, dbType: DbType.String, direction:ParameterDirection.Input, size:400);\r\np.Add(\"lastModified\", value: lastModified, dbType: DbType.DateTime2, direction:ParameterDirection.Input);\r\np.Add(\"Acnt_Number\", value: Acnt_Number, dbType: DbType.String, direction:ParameterDirection.InputOutput, size:12);\r\np.Add(\"state\", value: state, dbType: DbType.String, direction:ParameterDirection.InputOutput, size:-1);\r\np.Add(\"accountBalance\", value: accountBalance, dbType: DbType.String, direction:ParameterDirection.Input, size:-1);\r\np.Add(\"delivery\", value: delivery, dbType: DbType.String, direction:ParameterDirection.Input, size:-1);\r\np.Add(\"Aptp_ID\", value: Aptp_ID, dbType: DbType.Int32, direction:ParameterDirection.InputOutput);\r\np.Add(\"Accl_ID\", value: Accl_ID, dbType: DbType.String, direction:ParameterDirection.InputOutput, size:10);\r\np.Add(\"Aptp_ID\", value: Aptp_ID, dbType: DbType.Int32, direction:ParameterDirection.InputOutput);\r\np.Add(\"relatedParty\", value: relatedParty, dbType: DbType.String, direction:ParameterDirection.InputOutput, size:-1);\r\np.Add(\"atype\", value: atype, dbType: DbType.String, direction:ParameterDirection.InputOutput, size:50);\r\np.Add(\"Acat_ID\", value: Acat_ID, dbType: DbType.Int32, direction:ParameterDirection.Input);\r\np.Add(\"Acnt_ID\", value: Acnt_ID, dbType: DbType.Int32, direction:ParameterDirection.InputOutput);\r\np.Add(\"ErrFormat\", value: ErrFormat, dbType: DbType.String, direction:ParameterDirection.Input, size:25);\r\np.Add(\"Lang\", value: Lang, dbType: DbType.String, direction:ParameterDirection.Input, size:3);\r\np.Add(\"ExternalSystemCode\", value: ExternalSystemCode, dbType: DbType.String, direction:ParameterDirection.Input, size:3);\r\np.Add(\"RegistrCatID\", value: RegistrCatID, dbType: DbType.Int32, direction:ParameterDirection.Input);\r\np.Add(\"x_ms_client_request_id\", value: x_ms_client_request_id, dbType: DbType.String, direction:ParameterDirection.InputOutput, size:32);\r\np.Add(\"note\", value: note, dbType: DbType.String, direction:ParameterDirection.Input, size:-1);\r\np.Add(\"idType\", value: idType, dbType: DbType.Int32, direction:ParameterDirection.InputOutput);\r\n\r\nstring sqlConnectionString = Parameters.sqlConnectionString;\r\nif (this.WorkflowEnvironment.Variables.TryGetValue(\"ConfigString\", out object configStr))\r\n{\r\n var configJson = new JSON(configStr).Cast<ServiceConfig>();\r\n if(!string.IsNullOrEmpty(configJson?.ConnectionString))\r\n {\r\n sqlConnectionString = configJson.ConnectionString;\r\n }\r\n};\r\n\r\nvar procedure = \"[dbo].[p_ucp_set_BillingAccount_Dbss]\";\r\nusing (var connection = new SqlConnection(sqlConnectionString))\r\n{\r\n connection.Execute(procedure, p, commandType: CommandType.StoredProcedure, commandTimeout:0);\r\n}\r\n// fill output params\r\nBillingAccount_Response_SET result = new BillingAccount_Response_SET();\r\nresult.id = p.Get<System.Int32?>(\"Acnt_ID\");\r\nresult.name = p.Get<System.String>(\"Acnt_Number\");\r\nresult.relatedParty = string.IsNullOrEmpty(p.Get<string>(\"relatedParty\"))?new RelatedParty[]{new RelatedParty()}:new JSON(p.Get<string>(\"relatedParty\")).Cast<RelatedParty[]>();\r\nresult.state = p.Get<System.String>(\"state\");\r\nresult.Accept_Language = p.Get<System.String>(\"Lang\");\r\nresult.@type = p.Get<System.String>(\"atype\");\r\nresult.x_ms_client_request_id = p.Get<System.String>(\"x_ms_client_request_id\");\r\nresult.IDType = p.Get<System.Int32?>(\"idType\");\r\nresult.paymentPlan = new PaymentPlan[]{new PaymentPlan()};\r\nresult.paymentPlan[0].paymentMethod = new PaymentMethodRef();\r\nresult.paymentPlan[0].paymentMethod.id = p.Get<System.Int32?>(\"Aptp_ID\");\r\nresult.paymentPlan = new PaymentPlan[]{new PaymentPlan()};\r\nresult.paymentPlan[0].planType = p.Get<System.String>(\"Accl_ID\");\r\n\r\n if (WorkflowEnvironment.RuntimeName == \"Plugin\")\r\n {\r\n if (WorkflowEnvironment.Variables.TryGetValue(\"HttpResponse\", out object httpResponseObj))\r\n {\r\n Microsoft.AspNetCore.Http.HttpResponse response = httpResponseObj as Microsoft.AspNetCore.Http.HttpResponse;\r\n response.Headers[\"Accept-Language\"] = result.Accept_Language;\r\n result.Accept_Language = null;\r\n response.Headers[\"x-ms-client-request-id\"] = result.x_ms_client_request_id;\r\n result.x_ms_client_request_id = null;\r\n }\r\n }\r\n\r\nreturn result;\r\n}\r\n", "initParameters": [ { "name": "Actp_ID", "type": "Int?", "required": false, "defaultValue": null }, { "name": "Remark", "type": "string", "required": false, "defaultValue": null }, { "name": "lastModified", "type": "datetime?", "required": false, "defaultValue": null }, { "name": "Acnt_Number", "type": "string", "required": false, "defaultValue": null }, { "name": "state", "type": "string", "required": false, "defaultValue": null }, { "name": "accountBalance", "type": "string", "required": false, "defaultValue": null }, { "name": "delivery", "type": "string", "required": false, "defaultValue": null }, { "name": "Aptp_ID", "type": "Int?", "required": false, "defaultValue": null }, { "name": "Accl_ID", "type": "string", "required": false, "defaultValue": null }, { "name": "relatedParty", "type": "string", "required": false, "defaultValue": null }, { "name": "atype", "type": "string", "required": false, "defaultValue": null }, { "name": "Acat_ID", "type": "Int?", "required": false, "defaultValue": null }, { "name": "Acnt_ID", "type": "Int?", "required": false, "defaultValue": null }, { "name": "ErrFormat", "type": "string", "required": false, "defaultValue": null }, { "name": "Lang", "type": "string", "required": false, "defaultValue": null }, { "name": "ExternalSystemCode", "type": "string", "required": false, "defaultValue": null }, { "name": "RegistrCatID", "type": "Int?", "required": false, "defaultValue": null }, { "name": "x_ms_client_request_id", "type": "string", "required": false, "defaultValue": null }, { "name": "note", "type": "string", "required": false, "defaultValue": null }, { "name": "idType", "type": "Int?", "required": false, "defaultValue": null }, { "name": "Result", "type": "BillingAccount_Response_SET", "required": false, "defaultValue": null } ] }] [] [ { "name": "RestApi", "initCode": "functions://default/RestApi", "initParameters": [ { "name": "Uri", "type": "Uri", "required": true, "oldName": "Uri", "defaultValue": "http://servername:port/resource" }, { "name": "Method", "type": "string", "required": true, "oldName": "Method", "defaultValue": "GET" }, { "name": "Login", "type": "string", "required": false, "oldName": "Login", "defaultValue": null }, { "name": "Password", "type": "string", "required": false, "oldName": "Password", "defaultValue": null }, { "name": "Headers", "type": "StringDictionary", "required": false, "oldName": "Headers", "defaultValue": "{\r\n \"Content-Type\":\"application/json;charset=utf-16\",\r\n \"system\":\"204\",\r\n \"global_unique_id\":\"6a297fcb-956e-4228-8c11-017e9bacd629\"\r\n }" }, { "name": "Body", "type": "string", "required": false, "oldName": "Body", "defaultValue": "{}" }, { "name": "Encoding", "type": "string", "required": false, "oldName": "Encoding", "defaultValue": "utf-8" }, { "name": "Result", "type": "HttpResponse", "required": false, "oldName": "Result", "defaultValue": null } ], "oldName": "RestApi" }, { "name": "RestApi_Get", "initCode": "functions://default/RestApi/Get", "initParameters": [ { "name": "Uri", "type": "Uri", "required": true, "oldName": "Uri", "defaultValue": "http://servername:port/resource" }, { "name": "Login", "type": "string", "required": false, "oldName": "Login", "defaultValue": null }, { "name": "Password", "type": "string", "required": false, "oldName": "Password", "defaultValue": null }, { "name": "Headers", "type": "StringDictionary", "required": false, "oldName": "Headers", "defaultValue": "{\r\n \"Content-Type\":\"application/json;charset=utf-16\",\r\n \"system\":\"204\",\r\n \"global_unique_id\":\"6a297fcb-956e-4228-8c11-017e9bacd629\"\r\n }" }, { "name": "Encoding", "type": "string", "required": false, "oldName": "Encoding", "defaultValue": "utf-8" }, { "name": "Result", "type": "HttpResponse", "required": false, "oldName": "Result", "defaultValue": null } ], "oldName": "RestApi_Get" }, { "name": "JsonPath", "initCode": "functions://default//JsonPath", "initParameters": [ { "name": "Response", "type": "HttpResponse", "required": true, "oldName": "Response", "defaultValue": null }, { "name": "Path", "type": "string", "required": false, "oldName": "Path", "defaultValue": "$" }, { "name": "Result", "type": "Json", "required": false, "oldName": "Result", "defaultValue": null } ], "oldName": "JsonPath" }, { "name": "SaveVariable", "initCode": "functions://default//SaveVariable", "initParameters": [ { "name": "VariableName", "type": "string", "required": true, "oldName": "VariableName", "defaultValue": "varName" }, { "name": "Data", "type": "object", "required": true, "oldName": "Data", "defaultValue": "#previous" } ], "oldName": "SaveVariable" }, { "name": "Wait", "initCode": "functions://default//Wait", "initParameters": [ { "name": "millisecondsTimeout", "type": "int", "required": true, "oldName": "millisecondsTimeout", "defaultValue": "1000" } ], "oldName": "Wait" }, { "name": "SQL_Oracle_Query", "initCode": "functions://default//SQL/Oracle/Query", "initParameters": [ { "name": "userID", "type": "string", "required": true, "oldName": "userID", "defaultValue": null }, { "name": "password", "type": "string", "required": false, "oldName": "password", "defaultValue": null }, { "name": "dataSource", "type": "string", "required": false, "oldName": "dataSource", "defaultValue": null }, { "name": "query", "type": "string", "required": false, "oldName": "query", "defaultValue": null }, { "name": "Result", "type": "Collection", "required": false, "oldName": "Result", "defaultValue": null } ], "oldName": "SQL_Oracle_Query" }, { "name": "SQL_Oracle_Command", "initCode": "functions://default//SQL/Oracle/Command", "initParameters": [ { "name": "userID", "type": "string", "required": true, "oldName": "userID", "defaultValue": null }, { "name": "password", "type": "string", "required": false, "oldName": "password", "defaultValue": null }, { "name": "dataSource", "type": "string", "required": false, "oldName": "dataSource", "defaultValue": null }, { "name": "command", "type": "string", "required": false, "oldName": "command", "defaultValue": null }, { "name": "Result", "type": "int", "required": false, "oldName": "Result", "defaultValue": null } ], "oldName": "SQL_Oracle_Command" }] [] - [ { "name": "httpConfig", "type": "HttpConfig", "initialValue": "{\r\n \"host\":\"https://10.29.101.122\",\r\n \"port\":\"6992\",\r\n \"login\":\"login\",\r\n \"password\":\"password\",\r\n \"encoding\":\"utf-8\",\r\n \"headers\":{\r\n \"Content-Type\":\"application/vnd.api+json\",\r\n \"Accept\":\"application/vnd.api+json\"\r\n }\r\n}\r\n" }, { "name": "sqlConnectionString", "type": "string", "initialValue": "Data Source=sqlserv;Initial Catalog=unibill;User ID=login;Password=password;MultipleActiveResultSets=true;Encrypt=True;TrustServerCertificate=True;Command Timeout=3600" }, { "name": "x_ms_client_request_id", "type": "string", "initialValue": "" }] - { "name": "10000000100", "idType": "1", "description": "This billing account ...", "state": "activ", "accountType": "1001", "ratingType": "2", "RegistrCatID": 0, "lastModified": "2023-11-01T00:00:00Z", "note": [ { "author": "domain+username", "hostname": "192.156.7.77", "text": "This is a M2M Advanced activation", "@type": "Note" } ], "billStructure": { "presentationMedia": [ { "id": "3", "deliveryZone": "45" } ] }, "paymentPlan": [ { "planType": "1", "paymentMethod": { "id": "2" } } ], "relatedParty": [ { "@referredType": "Associations", "id": "6838", "IDType": 1 } ], "taxExemption": [ { "reason": "Remark", "taxDefinition": [ { "id": "1", "taxType": "VAT" } ], "validFor": { "startDateTime": "2023-11-01T00:00:00Z", "endDateTime": "2999-12-31T23:59:59.997Z" } } ], "accountBalance": [ { "amount": { "unit": "UAH" }, "balanceType": "Main", "validFor": { "startDateTime": "2023-11-01T00:00:00Z" } } ]} + [ { "name": "httpConfig", "type": "HttpConfig", "initialValue": "{\r\n \"host\":\"https://localhost\",\r\n \"port\":\"6992\",\r\n \"login\":\"login\",\r\n \"password\":\"password\",\r\n \"encoding\":\"utf-8\",\r\n \"headers\":{\r\n \"Content-Type\":\"application/vnd.api+json\",\r\n \"Accept\":\"application/vnd.api+json\"\r\n }\r\n}\r\n" }, { "name": "sqlConnectionString", "type": "string", "initialValue": "Data Source=localhost;Initial Catalog=examples;User ID=login;Password=;MultipleActiveResultSets=true;Encrypt=True;TrustServerCertificate=True;Command Timeout=3600" }, { "name": "x_ms_client_request_id", "type": "string", "initialValue": "" }] + { "name": "10000000100", "idType": "1", "description": "This billing account ...", "state": "activ", "accountType": "1001", "ratingType": "2", "RegistrCatID": 0, "lastModified": "2023-11-01T00:00:00Z", "note": [ { "author": "domain+username", "hostname": "localhost", "text": "This is a M2M Advanced activation", "@type": "Note" } ], "billStructure": { "presentationMedia": [ { "id": "3", "deliveryZone": "45" } ] }, "paymentPlan": [ { "planType": "1", "paymentMethod": { "id": "2" } } ], "relatedParty": [ { "@referredType": "Associations", "id": "6838", "IDType": 1 } ], "taxExemption": [ { "reason": "Remark", "taxDefinition": [ { "id": "1", "taxType": "VAT" } ], "validFor": { "startDateTime": "2023-11-01T00:00:00Z", "endDateTime": "2999-12-31T23:59:59.997Z" } } ], "accountBalance": [ { "amount": { "unit": "UAH" }, "balanceType": "Main", "validFor": { "startDateTime": "2023-11-01T00:00:00Z" } } ]} diff --git a/tmforum-apis/TMF666_Account_Management/TMF666_Put_BillingAccount.bpmn b/tmforum-apis/TMF666_Account_Management/TMF666_Put_BillingAccount.bpmn index 61b0b85..d9cd8fc 100644 --- a/tmforum-apis/TMF666_Account_Management/TMF666_Put_BillingAccount.bpmn +++ b/tmforum-apis/TMF666_Account_Management/TMF666_Put_BillingAccount.bpmn @@ -3,17 +3,17 @@ [ "Action", "Function"] [ { "name": "HttpConfig", "definition": "{\r\n \"$schema\":\"http://natec.tech/simpleschema\",\r\n \"$ref\":\"#/definitions/HttpConfig\",\r\n \"definitions\":{\r\n \"HttpConfig\":{\r\n \"type\":\"object\",\r\n \"properties\":{\r\n \"host\":{\r\n \"type\":\"string\"\r\n },\r\n \"port\":{\r\n \"type\":\"string\"\r\n },\r\n \"login\":{\r\n \"type\":\"string\"\r\n },\r\n \"password\":{\r\n \"type\":\"string\"\r\n },\r\n \"encoding\":{\r\n \"type\":\"string\"\r\n },\r\n \"headers\":{\r\n \"type\":\"StringDictionary<string, string>\"\r\n }\r\n },\r\n \"required\": [\"host\", \"encoding\", \"headers\"],\r\n \"title\":\"HttpConfig\"\r\n }\r\n }\r\n}", "isNativeDefinition": false }, { "name": "ErrorResponse", "definition": "{\r\n \"$schema\": \"http://json-schema.org/draft-06/schema#\",\r\n \"$ref\": \"#/definitions/ErrorResponse\",\r\n \"definitions\": {\r\n \"ErrorResponse\": {\r\n \"type\": \"object\",\r\n \"additionalProperties\": true,\r\n \"properties\": {\r\n \"LevelMessage\": {\r\n \"title\": \"The Error level\",\r\n \"type\": \"string\"\r\n },\r\n \"statusCode\": {\r\n \"title\": \"The Error Status Code\",\r\n \"type\": \"integer\"\r\n },\r\n \"ErrNumber\": {\r\n \"title\": \"The Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Message\": {\r\n \"title\": \"The Error Message\",\r\n \"type\": \"string\"\r\n },\r\n \"State\": {\r\n \"title\": \"The Error State\",\r\n \"type\": \"string\"\r\n },\r\n \"HelpLink\": {\r\n \"title\": \"The Help Link\",\r\n \"type\": \"string\"\r\n },\r\n \"errNumberReason\": {\r\n \"title\": \"The initial Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Data\": {\r\n \"title\": \"The Error Data\",\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"LevelMessage\": {\r\n \"title\": \"The Error level\",\r\n \"type\": \"string\"\r\n },\r\n \"statusCode\": {\r\n \"title\": \"The Error Status Code\",\r\n \"type\": \"integer\"\r\n },\r\n \"ErrNumber\": {\r\n \"title\": \"The Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Message\": {\r\n \"title\": \"The Error Message\",\r\n \"type\": \"string\"\r\n },\r\n \"State\": {\r\n \"title\": \"The Error State\",\r\n \"type\": \"string\"\r\n },\r\n \"HelpLink\": {\r\n \"title\": \"The Help Link\",\r\n \"type\": \"string\"\r\n },\r\n \"errNumberReason\": {\r\n \"title\": \"The initial Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Data\": {\r\n \"title\": \"The Data Schema\",\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"LevelMessage\": {\r\n \"title\": \"The Error level\",\r\n \"type\": \"string\"\r\n },\r\n \"statusCode\": {\r\n \"title\": \"The Error Status Code\",\r\n \"type\": \"integer\"\r\n },\r\n \"ErrNumber\": {\r\n \"title\": \"The Error Number\",\r\n \"type\": \"string\"\r\n },\r\n \"Message\": {\r\n \"title\": \"The Error Message\",\r\n \"type\": \"string\"\r\n },\r\n \"State\": {\r\n \"title\": \"The Error State\",\r\n \"type\": \"string\"\r\n },\r\n \"HelpLink\": {\r\n \"title\": \"The Help Link\",\r\n \"type\": \"string\"\r\n },\r\n \"errNumberReason\": {\r\n \"title\": \"The initial Error Number\",\r\n \"type\": \"string\"\r\n }\r\n }\r\n },\r\n \"ResolveUrl\": {\r\n \"title\": \"The Resolve Url Link\",\r\n \"type\": \"string\"\r\n }\r\n }\r\n },\r\n \"ResolveUrl\": {\r\n \"title\": \"The Resolve Url Link\",\r\n \"type\": \"string\"\r\n },\r\n \"extraData\": {\r\n \"title\": \"The Error Extra Data \",\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"operationDuration\": {\r\n \"title\": \"The Operation Duration\",\r\n \"type\": \"integer\"\r\n }\r\n }\r\n }\r\n },\r\n \"title\": \"ErrorResponse\"\r\n }\r\n }\r\n}", "isNativeDefinition": false }, { "name": "SystemException", "definition": "{\r\n \"$schema\":\"http://natec.tech/simpleschema\",\r\n \"$ref\":\"#/definitions/SystemException\",\r\n \"definitions\":{\r\n \"SystemException\":{\r\n \"type\":\"object\",\r\n \"properties\":{\r\n \"Exception\":{\r\n \"type\":\"types://core/System.Exception\"\r\n },\r\n \"info\":{\r\n \"type\":\"string\"\r\n }\r\n },\r\n \"title\":\"SystemException\"\r\n }\r\n }\r\n}", "isNativeDefinition": false }, { "name": "ExceptionExtensions", "definition": "public static class ExceptionExtensions\r\n {\r\n internal enum ReasonCodes\r\n {\r\n ServiceAccessError = 0x1,\r\n UnderConstruction = 0x64,\r\n PreventiveStop = 0X65\r\n }\r\n\r\n class BaseSqlExceptionModel\r\n {\r\n public int LevelMessage { get; set; }\r\n public int ErrNumber { get; set; }\r\n public int ErrNumberReason { get; set; }\r\n public long State { get; set; }\r\n public string HelpLink { get; set; }\r\n public string ResolveUrl { get; set; }\r\n public int? Number { get; set; }\r\n public string Message { get; set; }\r\n public BaseSqlExceptionModel Data { get; set; }\r\n\r\n public Error ToError(string statusArg = null)\r\n {\r\n return new Error()\r\n {\r\n code = (ErrNumber > 0) ? ErrNumber.ToString() : Number.GetValueOrDefault().ToString(),\r\n message = this.Message,\r\n reason = ErrNumberReason.ToString(),\r\n referenceError = ResolveUrl,\r\n status = statusArg\r\n };\r\n }\r\n }\r\n\r\n #region [const]\r\n private const int DeadlockErrorNumber = 1205;\r\n private const int LockingErrorNumber = 1222;\r\n private const int UpdateConflictErrorNumber = 3960;\r\n //для ретрай - функционала\r\n private const int TimeoutExpiredErrorNumber = -2;\r\n private const int CouldNotOpenConnectionErrorNumber = 53;\r\n private const int TransportFailErrorNumber = 121;\r\n //вот тут не надо ретрай\r\n private const int HandledDeadlockErrorNumber = 50999;\r\n private const int SQLErrorNumber = 50000;\r\n\r\n public static IEnumerable<int> DeadLockFeatures\r\n {\r\n get\r\n {\r\n yield return DeadlockErrorNumber;\r\n yield return LockingErrorNumber;\r\n yield return UpdateConflictErrorNumber;\r\n yield break;\r\n }\r\n }\r\n\r\n public static IEnumerable<int> RetryNeededFeatures\r\n {\r\n get\r\n {\r\n yield return DeadlockErrorNumber;\r\n //yield return TimeoutExpiredErrorNumber;\r\n yield return CouldNotOpenConnectionErrorNumber;\r\n yield return TransportFailErrorNumber;\r\n yield break;\r\n }\r\n }\r\n\r\n #endregion\r\n\r\n public static Error GetError(this Exception exception, string statusCode)\r\n {\r\n if (exception is SqlException sqlException)\r\n return sqlException.GetError();\r\n else\r\n if (exception is WorkflowInvokeActionException)\r\n {\r\n if(exception.InnerException is SqlException innerSqlException)\r\n return innerSqlException.GetError();\r\n return new Error()\r\n {\r\n code = exception?.InnerException?.HResult.ToString(),\r\n message = $\"{exception.Message} : {exception.InnerException?.Message}\",\r\n reason = exception?.InnerException?.GetType().Name,\r\n referenceError = null,\r\n status = statusCode\r\n };\r\n }\r\n else\r\n return new Error()\r\n {\r\n code = exception.HResult.ToString(),\r\n message = exception.Message,\r\n reason = exception.GetType().Name,\r\n referenceError = null,\r\n status = statusCode\r\n };\r\n }\r\n public static Error GetError(this SqlException sqlException)\r\n {\r\n BaseSqlExceptionModel errorModel = null;\r\n int actualStatusCode = 500;\r\n\r\n #region [Deadlock]\r\n if (sqlException.Number == ExceptionExtensions.HandledDeadlockErrorNumber)\r\n {\r\n return new Error()\r\n {\r\n code = sqlException.Number.ToString(), //RequestTimeout\r\n message = $\"Request timeout - retry operation should be used\",\r\n reason = \"RequestTimeout\",\r\n referenceError = null,\r\n status = \"408\"\r\n };\r\n }\r\n\r\n #endregion\r\n\r\n try\r\n {\r\n var sqlExceptionMessage = sqlException.Errors.Cast<SqlError>()\r\n .Where(se => (se.Class > 0) &&\r\n (se.Message.Trim().StartsWith(\"{\")) &&\r\n (se.Message.Trim().EndsWith(\"}\"))).\r\n Select(se => se.Message).\r\n FirstOrDefault();\r\n errorModel = JsonConvert.DeserializeObject<BaseSqlExceptionModel>(sqlExceptionMessage);\r\n }\r\n catch (Exception) { }\r\n\r\n if (errorModel != null)\r\n {\r\n errorModel.Number = sqlException.Number;\r\n\r\n var resultErrorModel = errorModel.ToError(\"500\");\r\n\r\n if (errorModel.ErrNumber == ExceptionExtensions.HandledDeadlockErrorNumber)\r\n {\r\n resultErrorModel.status = \"408\";\r\n resultErrorModel.reason = \"RequestTimeout\";\r\n }\r\n return resultErrorModel;\r\n }\r\n\r\n actualStatusCode = ResolveActualStatusCode(sqlException);\r\n\r\n var result = new Error()\r\n {\r\n code = sqlException.Number.ToString(),\r\n message = sqlException.Message,\r\n referenceError = null,\r\n status = actualStatusCode.ToString()\r\n };\r\n if (actualStatusCode == 500)\r\n {\r\n result.reason = \"Internal Server Error\";\r\n }\r\n else\r\n if (actualStatusCode == 503)\r\n {\r\n result.reason = \"Service Unavailable\";\r\n }\r\n else\r\n {\r\n result.reason = \"Service Unavailable\";\r\n }\r\n return result;\r\n }\r\n private static int ResolveActualStatusCode(SqlException sqlException)\r\n {\r\n int actualStatusCode = 500;\r\n //Ошибка 503 - TimeoutExpiredErrorNumber ИЛИ Количество ретраев исчерпано и НЕ DeadLockFeatures\r\n //Ошибка 408 - DeadLockFeatures И Количество ретраев исчерпано\r\n //пс. этот код в принципе будет выполняться только после исчерпания попыток\r\n //если дедлок\r\n if (sqlException.IsDeadLockException())\r\n return 408;\r\n else\r\n if (sqlException.Number == TimeoutExpiredErrorNumber) // Истекло время ожидание \r\n return 503;\r\n else\r\n if (sqlException.Number == 50101 || sqlException.Number == 50100 || sqlException.Number == 50182)\t// Значит, что произошла не фатальная ошибка.\r\n {\r\n }\r\n else\r\n if ((sqlException.Class >= 12 && sqlException.Class <= 14) || (sqlException.Class >= 18 && sqlException.Class <= 24))\t// Значит, что произошла ошибка, из-за которой соединение разорвано. Ощибки с классом 17 - обработаннЫе нами\r\n {\r\n return 503;\r\n }\r\n else\r\n if (sqlException.Class == 11 || sqlException.Class == 15 || sqlException.Class == 16)\t// Значит, что произошла ошибка.\r\n {\r\n return 503;\r\n }\r\n else\r\n if (sqlException.Number >= 0 && sqlException.Number <= 10)\t// Значит, что произошла не фатальная ошибка.\r\n {\r\n }\r\n else\r\n if (sqlException.Number >= 0 && sqlException.Number <= 24)\r\n {\r\n }\r\n return actualStatusCode;\r\n }\r\n\r\n #region [IsDeadLock]\r\n public static bool IsDeadLockException(this SqlException exception)\r\n {\r\n if (exception == null)\r\n return false;\r\n else\r\n return DeadLockFeatures.Contains(exception.Number) ||\r\n exception.Errors.IsDeadLockException();\r\n }\r\n\r\n public static bool IsDeadLockException(this SqlError error)\r\n {\r\n if (error == null)\r\n return false;\r\n else\r\n return DeadLockFeatures.Contains(error.Number);\r\n }\r\n\r\n public static bool IsDeadLockException(this SqlErrorCollection sqlErrorCollection)\r\n {\r\n if (sqlErrorCollection == null)\r\n return false;\r\n else\r\n return sqlErrorCollection.Cast<SqlError>().Any(error => error.IsDeadLockException());\r\n }\r\n #endregion\r\n\r\n #region [IsRetryNeeded]\r\n public static bool IsRetryNeeded(this SqlException exception)\r\n {\r\n if (exception == null)\r\n return false;\r\n else\r\n return RetryNeededFeatures.Contains(exception.Number) ||\r\n exception.Errors.IsRetryNeeded();\r\n }\r\n\r\n public static bool IsRetryNeeded(this SqlError error)\r\n {\r\n if (error == null)\r\n return false;\r\n else\r\n return RetryNeededFeatures.Contains(error.Number);\r\n }\r\n\r\n public static bool IsRetryNeeded(this SqlErrorCollection sqlErrorCollection)\r\n {\r\n if (sqlErrorCollection == null)\r\n return false;\r\n else\r\n return sqlErrorCollection.Cast<SqlError>().Any(error => error.IsRetryNeeded());\r\n }\r\n #endregion\r\n }", "isNativeDefinition": true }, { "name": "ServiceConfig", "definition": "{\r\n\t\"$schema\": \"http://json-schema.org/draft-06/schema#\",\r\n\t\"$ref\": \"#/definitions/ServiceConfig\",\r\n\t\"definitions\": {\r\n\t\t\"ServiceConfig\": {\r\n\t\t\t\"type\": \"object\",\r\n\t\t\t\"additionalProperties\": false,\r\n\t\t\t\"properties\": {\r\n\t\t\t\t\"ConnectionString\": {\r\n\t\t\t\t\t\"type\": \"string\"\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t\"title\": \"ServiceConfig\"\r\n\t\t}\r\n\t}\r\n}", "isNativeDefinition": false }, { "name": "Error", "definition": "{\n\t\"$schema\": \"http://json-schema.org/draft-06/schema#\",\n\t\"$ref\": \"#/definitions/Error\",\n\t\"definitions\": {\n\t\t\"Error\": {\n\t\t\t\"type\": \"object\",\n\t\t\t\"additionalProperties\": false,\n\t\t\t\"properties\": {\n\t\t\t\t\"code\": {\n\t\t\t\t\t\"type\": \"string\",\n\t\t\t\t\t\"description\": \"Application relevant detail, defined in the API or a common list\"\n\t\t\t\t},\n\t\t\t\t\"reason\": {\n\t\t\t\t\t\"type\": \"string\"\n\t\t\t\t},\n\t\t\t\t\"message\": {\n\t\t\t\t\t\"type\": \"string\"\n\t\t\t\t},\n\t\t\t\t\"status\": {\n\t\t\t\t\t\"type\": \"string\"\n\t\t\t\t},\n\t\t\t\t\"referenceError\": {\n\t\t\t\t\t\"type\": \"string\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"title\": \"Error\"\n\t\t}\n\t}\n}", "isNativeDefinition": false }, { "name": "RelatedParty", "definition": "/// <summary>\r\n/// Related Entity reference. A related party defines party or party role linked to a specific entity.\r\n/// </summary>\r\npublic sealed class RelatedParty\r\n{\r\n \r\n private System.Int32? _id;\r\n \r\n private string _href;\r\n \r\n private string _name;\r\n \r\n private string _role;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _type;\r\n \r\n private string _referredType;\r\n \r\n private System.Int32? _iDType;\r\n \r\n /// <summary>\r\n /// Customer identifier (tree node type 'Customers'). LOV: IDType depended identifier value\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Reference of the related entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the related entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Role played by the related party\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"role\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string role\r\n {\r\n get\r\n {\r\n return this._role;\r\n }\r\n set\r\n {\r\n this._role = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A Related Party for this operation. LOV: An Attribute Format value of the Object\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n [Natec.Workflow.Runtime.PluginParticipation(GenerateMethodArgument=false)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The name of the entity for which the operation is performed. LOV: supported value is \"Associations\"\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Sign of passing an external ID value. LOV: 1 - external ID, 0 - internal ID\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"IDType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? IDType\r\n {\r\n get\r\n {\r\n return this._iDType;\r\n }\r\n set\r\n {\r\n this._iDType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "PaymentMethodRef", "definition": "/// <summary>\r\n/// PaymentMethod reference. A payment method defines a specific mean of payment (e.g direct debit).\r\n/// </summary>\r\npublic sealed class PaymentMethodRef\r\n{\r\n \r\n private System.Int32? _id;\r\n \r\n private string _href;\r\n \r\n private string _name;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _type;\r\n \r\n private string _referredType;\r\n \r\n /// <summary>\r\n /// Core account payment type identifier. LOV: Value, provided by BSS template\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Reference of the payment mean\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the payment mean\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class entity name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n [Natec.Workflow.Runtime.PluginParticipation(GenerateMethodArgument=false)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "PaymentPlan", "definition": "/// <summary>\r\n/// Defines a plan for payment (when a party wants to spread his payments)\r\n/// </summary>\r\npublic sealed class PaymentPlan\r\n{\r\n \r\n private System.Int32? _numberOfPayments;\r\n \r\n private string _paymentFrequency;\r\n \r\n private string _planType;\r\n \r\n private System.Int32? _priority;\r\n \r\n private string _status;\r\n \r\n private PaymentMethodRef _paymentMethod;\r\n \r\n private Money _totalAmount;\r\n \r\n private TimePeriod _validFor;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _type;\r\n \r\n /// <summary>\r\n /// Number of payments used to spread the global payment\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"numberOfPayments\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public System.Int32? numberOfPayments\r\n {\r\n get\r\n {\r\n return this._numberOfPayments;\r\n }\r\n set\r\n {\r\n this._numberOfPayments = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Frequency of the payments, such as monthly and bimonthly\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"paymentFrequency\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string paymentFrequency\r\n {\r\n get\r\n {\r\n return this._paymentFrequency;\r\n }\r\n set\r\n {\r\n this._paymentFrequency = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Class of core aсcount. LOV: value, provided by BSS template\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"planType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string planType\r\n {\r\n get\r\n {\r\n return this._planType;\r\n }\r\n set\r\n {\r\n this._planType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Priority of the payment plan\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"priority\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public System.Int32? priority\r\n {\r\n get\r\n {\r\n return this._priority;\r\n }\r\n set\r\n {\r\n this._priority = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Status of the payment plan (effective, ineffective)\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"status\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string status\r\n {\r\n get\r\n {\r\n return this._status;\r\n }\r\n set\r\n {\r\n this._status = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A payment method defines a specific mean of payment (e.g single currency or declined for payments). LOV: An object\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"paymentMethod\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public PaymentMethodRef paymentMethod\r\n {\r\n get\r\n {\r\n return this._paymentMethod;\r\n }\r\n set\r\n {\r\n this._paymentMethod = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A base / value business entity used to represent money\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"totalAmount\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public Money totalAmount\r\n {\r\n get\r\n {\r\n return this._totalAmount;\r\n }\r\n set\r\n {\r\n this._totalAmount = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A period of time, either as a deadline (endDateTime only) a startDateTime only, or both\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"validFor\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public TimePeriod validFor\r\n {\r\n get\r\n {\r\n return this._validFor;\r\n }\r\n set\r\n {\r\n this._validFor = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The @type attribute represents the actual class type of an entity. LOV: An Attribute Format value of the Object\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n [Natec.Workflow.Runtime.PluginParticipation(GenerateMethodArgument=false)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Money", "definition": "/// <summary>\r\n/// A base / value business entity used to represent money\r\n/// </summary>\r\npublic sealed class Money\r\n{\r\n \r\n private string _unit;\r\n \r\n private System.Decimal? _value;\r\n \r\n /// <summary>\r\n /// Currency code for account balance. LOV: value, provided by BSS template\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"unit\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string unit\r\n {\r\n get\r\n {\r\n return this._unit;\r\n }\r\n set\r\n {\r\n this._unit = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A positive floating point number\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"value\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public System.Decimal? value\r\n {\r\n get\r\n {\r\n return this._value;\r\n }\r\n set\r\n {\r\n this._value = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "TimePeriod", "definition": "/// <summary>\r\n/// A period of time, either as a deadline (endDateTime only) a startDateTime only, or both\r\n/// </summary>\r\npublic sealed class TimePeriod\r\n{\r\n \r\n private string _endDateTime;\r\n \r\n private System.DateTime? _startDateTime;\r\n \r\n /// <summary>\r\n /// Tax exemption end date, inclusive. LOV: Date without time, ending at 23:59\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"endDateTime\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string endDateTime\r\n {\r\n get\r\n {\r\n return this._endDateTime;\r\n }\r\n set\r\n {\r\n this._endDateTime = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// balance activation date. LOV: Date without time, effective from 0:00\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"startDateTime\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? startDateTime\r\n {\r\n get\r\n {\r\n return this._startDateTime;\r\n }\r\n set\r\n {\r\n this._startDateTime = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "BillingAccount_Request_GET", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class BillingAccount_Request_GET\r\n{\r\n \r\n private System.Int32? _ratingType;\r\n \r\n private System.Int32? _id;\r\n \r\n private string _name;\r\n \r\n private System.Int32? _accountType;\r\n \r\n private System.Int32? _offset;\r\n \r\n private string _sort;\r\n \r\n private string _format;\r\n \r\n private string _accept_Language;\r\n \r\n private System.Int32? _limit;\r\n \r\n private RelatedParty[] _relatedParty;\r\n \r\n private string _state;\r\n \r\n private System.Int32? _registrCatID;\r\n \r\n private PaymentPlan[] _paymentPlan;\r\n \r\n private string _x_ms_client_request_id;\r\n \r\n private string _sortDirection;\r\n \r\n /// <summary>\r\n /// Core account category identifier. LOV: Value, provided by BSS template\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"ratingType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public System.Int32? ratingType\r\n {\r\n get\r\n {\r\n return this._ratingType;\r\n }\r\n set\r\n {\r\n this._ratingType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Account ID. LOV: Internal identifier value\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public System.Int32? id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Core account number. LOV: Account Number value\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Core account type identifier (multi-language). LOV: Value, provided by BSS template\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"accountType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public System.Int32? accountType\r\n {\r\n get\r\n {\r\n return this._accountType;\r\n }\r\n set\r\n {\r\n this._accountType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Requested index for start of records to be provided in response requested by client (server paging). LOV: 0 - first index\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"offset\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public System.Int32? offset\r\n {\r\n get\r\n {\r\n return this._offset;\r\n }\r\n set\r\n {\r\n this._offset = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Sorting selector. LOV: usageDate\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"sort\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string sort\r\n {\r\n get\r\n {\r\n return this._sort;\r\n }\r\n set\r\n {\r\n this._sort = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Error output format. LOV: supported value is json\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"format\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string format\r\n {\r\n get\r\n {\r\n return this._format;\r\n }\r\n set\r\n {\r\n this._format = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Specifying a language for a multi-language dataset. LOV: supported value are en-English, uk-Ukrainian, ru-russian\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"Accept-Language\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string Accept_Language\r\n {\r\n get\r\n {\r\n return this._accept_Language;\r\n }\r\n set\r\n {\r\n this._accept_Language = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Number of records per response (server paging). LOV: integer greater than zero\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"limit\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public System.Int32? limit\r\n {\r\n get\r\n {\r\n return this._limit;\r\n }\r\n set\r\n {\r\n this._limit = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A Related Party for this operation. LOV: A List of object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"relatedParty\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public RelatedParty[] relatedParty\r\n {\r\n get\r\n {\r\n return this._relatedParty;\r\n }\r\n set\r\n {\r\n this._relatedParty = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Customers entity status code. LOV: Сharacteristic value, provided by BSS template\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"state\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string state\r\n {\r\n get\r\n {\r\n return this._state;\r\n }\r\n set\r\n {\r\n this._state = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Registration Category ID. LOV: value, provided by BSS template\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"RegistrCatID\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public System.Int32? RegistrCatID\r\n {\r\n get\r\n {\r\n return this._registrCatID;\r\n }\r\n set\r\n {\r\n this._registrCatID = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Type of payment plan. LOV: A List of object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"paymentPlan\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public PaymentPlan[] paymentPlan\r\n {\r\n get\r\n {\r\n return this._paymentPlan;\r\n }\r\n set\r\n {\r\n this._paymentPlan = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A unique identifier for the search request, used for the GET operation.. LOV: generally a GUID value\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"x-ms-client-request-id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string x_ms_client_request_id\r\n {\r\n get\r\n {\r\n return this._x_ms_client_request_id;\r\n }\r\n set\r\n {\r\n this._x_ms_client_request_id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// No description\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"SortDirection\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string SortDirection\r\n {\r\n get\r\n {\r\n return this._sortDirection;\r\n }\r\n set\r\n {\r\n this._sortDirection = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "BillingAccount_Response_GET", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class BillingAccount_Response_GET\r\n{\r\n \r\n private string _link;\r\n \r\n private System.Int32? _offset;\r\n \r\n private System.Int32? _limit;\r\n \r\n private string _content_Range;\r\n \r\n private string _accept_Language;\r\n \r\n private string _x_ms_client_request_id;\r\n \r\n private System.Int32? _x_Page_Count;\r\n \r\n /// <summary>\r\n /// Web Linking HTTP header. LOV: reserved\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"Link\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string Link\r\n {\r\n get\r\n {\r\n return this._link;\r\n }\r\n set\r\n {\r\n this._link = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Requested index for start of records to be provided in response requested by client (server paging). LOV: 0 - first index\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"offset\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public System.Int32? offset\r\n {\r\n get\r\n {\r\n return this._offset;\r\n }\r\n set\r\n {\r\n this._offset = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Number of records per response (server paging). LOV: integer greater than zero\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"limit\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public System.Int32? limit\r\n {\r\n get\r\n {\r\n return this._limit;\r\n }\r\n set\r\n {\r\n this._limit = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// HTTP header indicates where in a full body message a partial message belongs. LOV: items <range-start>-<range-end>/<total-count>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"Content-Range\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string Content_Range\r\n {\r\n get\r\n {\r\n return this._content_Range;\r\n }\r\n set\r\n {\r\n this._content_Range = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Specifying a language for a multi-language dataset. LOV: supported value are en-English, uk-Ukrainian, ru-russian\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"Accept-Language\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string Accept_Language\r\n {\r\n get\r\n {\r\n return this._accept_Language;\r\n }\r\n set\r\n {\r\n this._accept_Language = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A unique identifier for the search request, used for the GET operation.. LOV: generally a GUID value\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"x-ms-client-request-id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string x_ms_client_request_id\r\n {\r\n get\r\n {\r\n return this._x_ms_client_request_id;\r\n }\r\n set\r\n {\r\n this._x_ms_client_request_id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A Page Count from Server Paging\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"X-Page-Count\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public System.Int32? X_Page_Count\r\n {\r\n get\r\n {\r\n return this._x_Page_Count;\r\n }\r\n set\r\n {\r\n this._x_Page_Count = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "BillingAccount_Response_GET_OUTPUT", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class BillingAccount_Response_GET_OUTPUT\r\n{\r\n \r\n private System.Int32? _ratingType;\r\n \r\n private System.Int32? _id;\r\n \r\n private string _name;\r\n \r\n private System.Int32? _accountType;\r\n \r\n private System.Int32? _registrCatID;\r\n \r\n private RelatedParty[] _relatedParty;\r\n \r\n private string _state;\r\n \r\n private System.Int32? _x_Total_Count;\r\n \r\n private PaymentPlan[] _paymentPlan;\r\n \r\n /// <summary>\r\n /// Core account category identifier. LOV: Value, provided by BSS template\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"ratingType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public System.Int32? ratingType\r\n {\r\n get\r\n {\r\n return this._ratingType;\r\n }\r\n set\r\n {\r\n this._ratingType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Account ID. LOV: Internal identifier value\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public System.Int32? id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Core account number. LOV: Account Number value\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Core account type identifier (multi-language). LOV: Value, provided by BSS template\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"accountType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public System.Int32? accountType\r\n {\r\n get\r\n {\r\n return this._accountType;\r\n }\r\n set\r\n {\r\n this._accountType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Registration Category ID. LOV: value, provided by BSS template\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"RegistrCatID\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public System.Int32? RegistrCatID\r\n {\r\n get\r\n {\r\n return this._registrCatID;\r\n }\r\n set\r\n {\r\n this._registrCatID = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A Related Party for this operation. LOV: A List of object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"relatedParty\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public RelatedParty[] relatedParty\r\n {\r\n get\r\n {\r\n return this._relatedParty;\r\n }\r\n set\r\n {\r\n this._relatedParty = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Customers entity status code. LOV: Сharacteristic value, provided by BSS template\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"state\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string state\r\n {\r\n get\r\n {\r\n return this._state;\r\n }\r\n set\r\n {\r\n this._state = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// the total number of matching records (server paging). LOV: integer greater than zero\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"X-Total-Count\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public System.Int32? X_Total_Count\r\n {\r\n get\r\n {\r\n return this._x_Total_Count;\r\n }\r\n set\r\n {\r\n this._x_Total_Count = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Type of payment plan. LOV: A List of object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"paymentPlan\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public PaymentPlan[] paymentPlan\r\n {\r\n get\r\n {\r\n return this._paymentPlan;\r\n }\r\n set\r\n {\r\n this._paymentPlan = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "AccountBalance", "definition": "/// <summary>\r\n/// Balances linked to the account\r\n/// </summary>\r\npublic sealed class AccountBalance\r\n{\r\n \r\n private string _balanceType;\r\n \r\n private Money _amount;\r\n \r\n private TimePeriod _validFor;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _type;\r\n \r\n /// <summary>\r\n /// An Account Purpose Type, supported by BSS template. LOV: Main - Core Account, Additonal - an other Account types\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"balanceType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string balanceType\r\n {\r\n get\r\n {\r\n return this._balanceType;\r\n }\r\n set\r\n {\r\n this._balanceType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Information about currency and accounts balance. LOV: An object\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"amount\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public Money amount\r\n {\r\n get\r\n {\r\n return this._amount;\r\n }\r\n set\r\n {\r\n this._amount = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Information about the balance validity period for the account. LOV: An object\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"validFor\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public TimePeriod validFor\r\n {\r\n get\r\n {\r\n return this._validFor;\r\n }\r\n set\r\n {\r\n this._validFor = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The @type attribute represents the actual class type of an entity. LOV: An Attribute Format value of the Object\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n [Natec.Workflow.Runtime.PluginParticipation(GenerateMethodArgument=false)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "BillPresentationMediaRefOrValue", "definition": "/// <summary>\r\n/// An attachment by value or by reference.\r\n/// </summary>\r\npublic sealed class BillPresentationMediaRefOrValue\r\n{\r\n \r\n private string _id;\r\n \r\n private string _href;\r\n \r\n private string _description;\r\n \r\n private System.Boolean? _isRef;\r\n \r\n private string _name;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _type;\r\n \r\n private string _referredType;\r\n \r\n private string _deliveryZone;\r\n \r\n /// <summary>\r\n /// Delivery Type ID. LOV: value, provided by BSS template\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Reference of the bill presentation media\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// An explanatory text describing this bill presentation media\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"description\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string description\r\n {\r\n get\r\n {\r\n return this._description;\r\n }\r\n set\r\n {\r\n this._description = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"isRef\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public System.Boolean? isRef\r\n {\r\n get\r\n {\r\n return this._isRef;\r\n }\r\n set\r\n {\r\n this._isRef = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A short descriptive name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The @type attribute represents the actual class type of an entity. LOV: An Attribute Format value of the Object\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n [Natec.Workflow.Runtime.PluginParticipation(GenerateMethodArgument=false)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Delivery Type zone. LOV: value, provided by BSS template\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"deliveryZone\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string deliveryZone\r\n {\r\n get\r\n {\r\n return this._deliveryZone;\r\n }\r\n set\r\n {\r\n this._deliveryZone = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "BillStructure", "definition": "/// <summary>\r\n/// The structure of the bill for party accounts (billing or settlement).\r\n/// </summary>\r\npublic sealed class BillStructure\r\n{\r\n \r\n private BillingCycleSpecificationRefOrValue _cycleSpecification;\r\n \r\n private BillFormatRefOrValue _format;\r\n \r\n private BillPresentationMediaRefOrValue[] _presentationMedia;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _type;\r\n \r\n /// <summary>\r\n /// An attachment by value or by reference.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"cycleSpecification\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public BillingCycleSpecificationRefOrValue cycleSpecification\r\n {\r\n get\r\n {\r\n return this._cycleSpecification;\r\n }\r\n set\r\n {\r\n this._cycleSpecification = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// An attachment by value or by reference.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"format\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public BillFormatRefOrValue format\r\n {\r\n get\r\n {\r\n return this._format;\r\n }\r\n set\r\n {\r\n this._format = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Delivery Type. LOV: A List of object\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"presentationMedia\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public BillPresentationMediaRefOrValue[] presentationMedia\r\n {\r\n get\r\n {\r\n return this._presentationMedia;\r\n }\r\n set\r\n {\r\n this._presentationMedia = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The @type attribute represents the actual class type of an entity. LOV: An Attribute Format value of the Object\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n [Natec.Workflow.Runtime.PluginParticipation(GenerateMethodArgument=false)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "BillingCycleSpecificationRefOrValue", "definition": "/// <summary>\r\n/// An attachment by value or by reference.\r\n/// </summary>\r\npublic sealed class BillingCycleSpecificationRefOrValue\r\n{\r\n \r\n private string _id;\r\n \r\n private string _href;\r\n \r\n private System.Int32? _billingDateShift;\r\n \r\n private string _billingPeriod;\r\n \r\n private System.Int32? _chargeDateOffset;\r\n \r\n private System.Int32? _creditDateOffset;\r\n \r\n private System.Int32? _dateShift;\r\n \r\n private string _description;\r\n \r\n private string _frequency;\r\n \r\n private System.Boolean? _isRef;\r\n \r\n private System.Int32? _mailingDateOffset;\r\n \r\n private string _name;\r\n \r\n private System.Int32? _paymentDueDateOffset;\r\n \r\n private TimePeriod _validFor;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _type;\r\n \r\n private string _referredType;\r\n \r\n /// <summary>\r\n /// Unique identifier of the billing cycle specification\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Reference of the billing cycle specification\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// An offset of a billing/settlement date. The offset is expressed as number of days with regard to the start of the billing/settlement period.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"billingDateShift\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public System.Int32? billingDateShift\r\n {\r\n get\r\n {\r\n return this._billingDateShift;\r\n }\r\n set\r\n {\r\n this._billingDateShift = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A billing time period. It can be recurring, for example: week, month, quarter of year, year .\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"billingPeriod\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string billingPeriod\r\n {\r\n get\r\n {\r\n return this._billingPeriod;\r\n }\r\n set\r\n {\r\n this._billingPeriod = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// An offset of a date through which charges previously received by the billing system will appear on the bill. The offset is expressed as number of days with regard to the start of the BillingPeriod.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"chargeDateOffset\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public System.Int32? chargeDateOffset\r\n {\r\n get\r\n {\r\n return this._chargeDateOffset;\r\n }\r\n set\r\n {\r\n this._chargeDateOffset = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// An offset of a date through which credits previously received by the billing system will appear on the bill. The offset is expressed as number of days with regard to the start of the BillingPeriod.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"creditDateOffset\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public System.Int32? creditDateOffset\r\n {\r\n get\r\n {\r\n return this._creditDateOffset;\r\n }\r\n set\r\n {\r\n this._creditDateOffset = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// An offset of a billing/settlement date. The offset is expressed as number of days with regard to the start of the billing/settlement period.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"dateShift\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public System.Int32? dateShift\r\n {\r\n get\r\n {\r\n return this._dateShift;\r\n }\r\n set\r\n {\r\n this._dateShift = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// An explanation regarding this billing cycle specification\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"description\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string description\r\n {\r\n get\r\n {\r\n return this._description;\r\n }\r\n set\r\n {\r\n this._description = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Frequency of the billing cycle (monthly for instance)\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"frequency\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string frequency\r\n {\r\n get\r\n {\r\n return this._frequency;\r\n }\r\n set\r\n {\r\n this._frequency = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"isRef\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public System.Boolean? isRef\r\n {\r\n get\r\n {\r\n return this._isRef;\r\n }\r\n set\r\n {\r\n this._isRef = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// An offset of a customer bill mailing date. The offset is expressed as number of days with regard to the start of the BillingPeriod.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"mailingDateOffset\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public System.Int32? mailingDateOffset\r\n {\r\n get\r\n {\r\n return this._mailingDateOffset;\r\n }\r\n set\r\n {\r\n this._mailingDateOffset = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A short descriptive name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// An offset of a payment due date. The offset is expressed as number of days with regard to the start of the BillingPeriod.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"paymentDueDateOffset\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public System.Int32? paymentDueDateOffset\r\n {\r\n get\r\n {\r\n return this._paymentDueDateOffset;\r\n }\r\n set\r\n {\r\n this._paymentDueDateOffset = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A period of time, either as a deadline (endDateTime only) a startDateTime only, or both\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"validFor\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public TimePeriod validFor\r\n {\r\n get\r\n {\r\n return this._validFor;\r\n }\r\n set\r\n {\r\n this._validFor = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class entity name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n [Natec.Workflow.Runtime.PluginParticipation(GenerateMethodArgument=false)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "BillFormatRefOrValue", "definition": "/// <summary>\r\n/// An attachment by value or by reference.\r\n/// </summary>\r\npublic sealed class BillFormatRefOrValue\r\n{\r\n \r\n private string _id;\r\n \r\n private string _href;\r\n \r\n private string _description;\r\n \r\n private System.Boolean? _isRef;\r\n \r\n private string _name;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _type;\r\n \r\n private string _referredType;\r\n \r\n /// <summary>\r\n /// Unique identifier of the bill format\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Reference of the bill format\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// An explanatory text for this bill format\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"description\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string description\r\n {\r\n get\r\n {\r\n return this._description;\r\n }\r\n set\r\n {\r\n this._description = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"isRef\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public System.Boolean? isRef\r\n {\r\n get\r\n {\r\n return this._isRef;\r\n }\r\n set\r\n {\r\n this._isRef = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A short descriptive name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class entity name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n [Natec.Workflow.Runtime.PluginParticipation(GenerateMethodArgument=false)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "TaxDefinition", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class TaxDefinition\r\n{\r\n \r\n private string _type;\r\n \r\n private string _id;\r\n \r\n private string _taxType;\r\n \r\n /// <summary>\r\n /// The @type attribute represents the actual class type of an entity. LOV: An Attribute Format value of the Object\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n [Natec.Workflow.Runtime.PluginParticipation(GenerateMethodArgument=false)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Unique identifier of the tax. LOV: value, provided by BSS template\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Unique code of the tax. LOV: value, provided by BSS template\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"taxType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string taxType\r\n {\r\n get\r\n {\r\n return this._taxType;\r\n }\r\n set\r\n {\r\n this._taxType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "AccountTaxExemption", "definition": "/// <summary>\r\n/// Proof of freedom from taxes imposed by a taxing jurisdiction\r\n/// </summary>\r\npublic sealed class AccountTaxExemption\r\n{\r\n \r\n private string _certificateNumber;\r\n \r\n private string _issuingJurisdiction;\r\n \r\n private string _reason;\r\n \r\n private TimePeriod _validFor;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _type;\r\n \r\n private TaxDefinition[] _taxDefinition;\r\n \r\n /// <summary>\r\n /// Identifier of a document that shows proof of exemption from taxes for the taxing jurisdiction\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"certificateNumber\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string certificateNumber\r\n {\r\n get\r\n {\r\n return this._certificateNumber;\r\n }\r\n set\r\n {\r\n this._certificateNumber = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the taxing jurisdiction for which taxes are exempt\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"issuingJurisdiction\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string issuingJurisdiction\r\n {\r\n get\r\n {\r\n return this._issuingJurisdiction;\r\n }\r\n set\r\n {\r\n this._issuingJurisdiction = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Reason of the tax exemption. LOV: String value greater than or equal to 10 characters\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"reason\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string reason\r\n {\r\n get\r\n {\r\n return this._reason;\r\n }\r\n set\r\n {\r\n this._reason = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Tax exemption period. LOV: An object\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"validFor\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public TimePeriod validFor\r\n {\r\n get\r\n {\r\n return this._validFor;\r\n }\r\n set\r\n {\r\n this._validFor = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The @type attribute represents the actual class type of an entity. LOV: An Attribute Format value of the Object\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n [Natec.Workflow.Runtime.PluginParticipation(GenerateMethodArgument=false)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A tax is levied by an authorized tax jurisdiction. There are many different types of tax (Federal Tax levied by the US Government, State Tax levied by the State of California, Value Added Tax) . LOV: A List of object\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"taxDefinition\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public TaxDefinition[] taxDefinition\r\n {\r\n get\r\n {\r\n return this._taxDefinition;\r\n }\r\n set\r\n {\r\n this._taxDefinition = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Note", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class Note\r\n{\r\n \r\n private string _type;\r\n \r\n private string _author;\r\n \r\n private string _hostname;\r\n \r\n private string _text;\r\n \r\n /// <summary>\r\n /// The @type attribute represents the actual class type of an entity. LOV: An Attribute Format value of the Object\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n [Natec.Workflow.Runtime.PluginParticipation(GenerateMethodArgument=false)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Author of this change. LOV: Username - user from the context, NULL - if unknown\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"author\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string author\r\n {\r\n get\r\n {\r\n return this._author;\r\n }\r\n set\r\n {\r\n this._author = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// hostname of this change. LOV: origin hostname or IP-address\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"hostname\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string hostname\r\n {\r\n get\r\n {\r\n return this._hostname;\r\n }\r\n set\r\n {\r\n this._hostname = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Comment for this change. LOV: String value greater than or equal to 10 characters\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"text\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string text\r\n {\r\n get\r\n {\r\n return this._text;\r\n }\r\n set\r\n {\r\n this._text = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "BillingAccount_Create", "definition": "/// <summary>\r\n/// A party account used for billing purposes. It includes a description of the bill structure (frequency, presentation media, format and so on). It is a specialization of entity PartyAccount.\n///Skipped properties: id,href\r\n/// </summary>\r\npublic sealed class BillingAccount_Create\r\n{\r\n \r\n private System.Int32? _accountType;\r\n \r\n private string _description;\r\n \r\n private System.DateTime? _lastModified;\r\n \r\n private string _name;\r\n \r\n private string _paymentStatus;\r\n \r\n private string _state;\r\n \r\n private AccountBalance[] _accountBalance;\r\n \r\n private AccountRelationship[] _accountRelationship;\r\n \r\n private BillStructure _billStructure;\r\n \r\n private Contact[] _contact;\r\n \r\n private Money _creditLimit;\r\n \r\n private PaymentMethodRef _defaultPaymentMethod;\r\n \r\n private FinancialAccountRef _financialAccount;\r\n \r\n private PaymentPlan[] _paymentPlan;\r\n \r\n private RelatedParty[] _relatedParty;\r\n \r\n private AccountTaxExemption[] _taxExemption;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _type;\r\n \r\n private System.Int32? _ratingType;\r\n \r\n private System.Int32? _id;\r\n \r\n private string _format;\r\n \r\n private string _accept_Language;\r\n \r\n private string _system;\r\n \r\n private System.Int32? _registrCatID;\r\n \r\n private string _x_ms_client_request_id;\r\n \r\n private Note[] _note;\r\n \r\n private System.Int32? _iDType;\r\n \r\n /// <summary>\r\n /// Core account type identifier (multi-language). LOV: Value, provided by BSS template\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"accountType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? accountType\r\n {\r\n get\r\n {\r\n return this._accountType;\r\n }\r\n set\r\n {\r\n this._accountType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Record for the history of the account. LOV: String value greater than or equal to 10 characters\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"description\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string description\r\n {\r\n get\r\n {\r\n return this._description;\r\n }\r\n set\r\n {\r\n this._description = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Effective Date for operation (differs from current for the past)\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"lastModified\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? lastModified\r\n {\r\n get\r\n {\r\n return this._lastModified;\r\n }\r\n set\r\n {\r\n this._lastModified = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Core account number\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The condition of the account, such as due, paid, in arrears.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"paymentStatus\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string paymentStatus\r\n {\r\n get\r\n {\r\n return this._paymentStatus;\r\n }\r\n set\r\n {\r\n this._paymentStatus = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Customers entity status code. LOV: Сharacteristic value, provided by BSS template\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"state\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string state\r\n {\r\n get\r\n {\r\n return this._state;\r\n }\r\n set\r\n {\r\n this._state = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Balance amount related information. LOV: A List of object\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"accountBalance\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public AccountBalance[] accountBalance\r\n {\r\n get\r\n {\r\n return this._accountBalance;\r\n }\r\n set\r\n {\r\n this._accountBalance = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"accountRelationship\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public AccountRelationship[] accountRelationship\r\n {\r\n get\r\n {\r\n return this._accountRelationship;\r\n }\r\n set\r\n {\r\n this._accountRelationship = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The structure of the bill for Billing Accounts. LOV: An object\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"billStructure\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public BillStructure billStructure\r\n {\r\n get\r\n {\r\n return this._billStructure;\r\n }\r\n set\r\n {\r\n this._billStructure = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"contact\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public Contact[] contact\r\n {\r\n get\r\n {\r\n return this._contact;\r\n }\r\n set\r\n {\r\n this._contact = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A base / value business entity used to represent money\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"creditLimit\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public Money creditLimit\r\n {\r\n get\r\n {\r\n return this._creditLimit;\r\n }\r\n set\r\n {\r\n this._creditLimit = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// PaymentMethod reference. A payment method defines a specific mean of payment (e.g direct debit).\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"defaultPaymentMethod\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public PaymentMethodRef defaultPaymentMethod\r\n {\r\n get\r\n {\r\n return this._defaultPaymentMethod;\r\n }\r\n set\r\n {\r\n this._defaultPaymentMethod = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// AccountReceivable reference. An account of money owed by a party to another entity in exchange for goods or services that have been delivered or used. An account receivable aggregates the amounts of one or more party accounts (billing or settlement) owned by a given party.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"financialAccount\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public FinancialAccountRef financialAccount\r\n {\r\n get\r\n {\r\n return this._financialAccount;\r\n }\r\n set\r\n {\r\n this._financialAccount = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Type of payment plan. LOV: A List of object\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"paymentPlan\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public PaymentPlan[] paymentPlan\r\n {\r\n get\r\n {\r\n return this._paymentPlan;\r\n }\r\n set\r\n {\r\n this._paymentPlan = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A Related Party for this operation. LOV: A List of object\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"relatedParty\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public RelatedParty[] relatedParty\r\n {\r\n get\r\n {\r\n return this._relatedParty;\r\n }\r\n set\r\n {\r\n this._relatedParty = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A list of account tax exemptions (TaxExemption [*]). Proof of freedom from taxes imposed by a taxing jurisdiction. LOV: A List of object\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"taxExemption\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public AccountTaxExemption[] taxExemption\r\n {\r\n get\r\n {\r\n return this._taxExemption;\r\n }\r\n set\r\n {\r\n this._taxExemption = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The @type attribute represents the actual class type of an entity. LOV: supported value is \"BillingAccount\"\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [FromRoute(Name=\"@type\")]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n [Natec.Workflow.Runtime.PluginParticipation(GenerateMethodArgument=false)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Core account category identifier. LOV: Value, provided by BSS template\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"ratingType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? ratingType\r\n {\r\n get\r\n {\r\n return this._ratingType;\r\n }\r\n set\r\n {\r\n this._ratingType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Account ID. LOV: Internal identifier value\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [FromRoute(Name=\"id\")]\r\n public System.Int32? id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Error output format. LOV: supported value is json\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"format\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [FromRoute(Name=\"format\")]\r\n public string format\r\n {\r\n get\r\n {\r\n return this._format;\r\n }\r\n set\r\n {\r\n this._format = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Specifying a language for a multi-language dataset. LOV: supported value are en-English, uk-Ukrainian, ru-russian\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"Accept-Language\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [FromHeader(Name=\"Accept-Language\")]\r\n public string Accept_Language\r\n {\r\n get\r\n {\r\n return this._accept_Language;\r\n }\r\n set\r\n {\r\n this._accept_Language = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// External system code. LOV: integer greater than zero\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"System\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [FromHeader(Name=\"System\")]\r\n public string System\r\n {\r\n get\r\n {\r\n return this._system;\r\n }\r\n set\r\n {\r\n this._system = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Registration Category ID. LOV: value, provided by BSS template\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"RegistrCatID\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? RegistrCatID\r\n {\r\n get\r\n {\r\n return this._registrCatID;\r\n }\r\n set\r\n {\r\n this._registrCatID = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A unique identifier for the search request, used for the GET operation.. LOV: generally a GUID value\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"x-ms-client-request-id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [FromHeader(Name=\"x-ms-client-request-id\")]\r\n public string x_ms_client_request_id\r\n {\r\n get\r\n {\r\n return this._x_ms_client_request_id;\r\n }\r\n set\r\n {\r\n this._x_ms_client_request_id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Structure for logging changes. LOV: A List of object\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"note\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public Note[] note\r\n {\r\n get\r\n {\r\n return this._note;\r\n }\r\n set\r\n {\r\n this._note = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Sign of passing an external ID value. LOV: 1 - external ID, 0 - internal ID\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"IDType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? IDType\r\n {\r\n get\r\n {\r\n return this._iDType;\r\n }\r\n set\r\n {\r\n this._iDType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "AccountRelationship", "definition": "/// <summary>\r\n/// Significant connection between accounts. For instance an aggregating account for a list of shop branches each having its own billing account.\r\n/// </summary>\r\npublic sealed class AccountRelationship\r\n{\r\n \r\n private string _relationshipType;\r\n \r\n private AccountRef _account;\r\n \r\n private TimePeriod _validFor;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _type;\r\n \r\n /// <summary>\r\n /// Type of relationship\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"relationshipType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string relationshipType\r\n {\r\n get\r\n {\r\n return this._relationshipType;\r\n }\r\n set\r\n {\r\n this._relationshipType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Account reference. A account may be a party account or a financial account.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"account\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public AccountRef account\r\n {\r\n get\r\n {\r\n return this._account;\r\n }\r\n set\r\n {\r\n this._account = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A period of time, either as a deadline (endDateTime only) a startDateTime only, or both\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"validFor\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public TimePeriod validFor\r\n {\r\n get\r\n {\r\n return this._validFor;\r\n }\r\n set\r\n {\r\n this._validFor = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class entity name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n [Natec.Workflow.Runtime.PluginParticipation(GenerateMethodArgument=false)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "AccountRef", "definition": "/// <summary>\r\n/// Account reference. A account may be a party account or a financial account.\r\n/// </summary>\r\npublic sealed class AccountRef\r\n{\r\n \r\n private string _id;\r\n \r\n private string _href;\r\n \r\n private string _description;\r\n \r\n private string _name;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _type;\r\n \r\n private string _referredType;\r\n \r\n /// <summary>\r\n /// Unique identifier of the account\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Reference of the account\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Detailed description of the account\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"description\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string description\r\n {\r\n get\r\n {\r\n return this._description;\r\n }\r\n set\r\n {\r\n this._description = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the account\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class entity name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n [Natec.Workflow.Runtime.PluginParticipation(GenerateMethodArgument=false)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "Contact", "definition": "/// <summary>\r\n/// An individual or an organization used as a contact point for a given account and accessed via some contact medium.\r\n/// </summary>\r\npublic sealed class Contact\r\n{\r\n \r\n private string _contactName;\r\n \r\n private string _contactType;\r\n \r\n private string _partyRoleType;\r\n \r\n private ContactMedium[] _contactMedium;\r\n \r\n private RelatedParty _relatedParty;\r\n \r\n private TimePeriod _validFor;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _type;\r\n \r\n /// <summary>\r\n /// A displayable name for that contact\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"contactName\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string contactName\r\n {\r\n get\r\n {\r\n return this._contactName;\r\n }\r\n set\r\n {\r\n this._contactName = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Type of contact (primary, secondary...)\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"contactType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string contactType\r\n {\r\n get\r\n {\r\n return this._contactType;\r\n }\r\n set\r\n {\r\n this._contactType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Identifies what kind of party role type is linked to the contact (a account manager...)\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"partyRoleType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string partyRoleType\r\n {\r\n get\r\n {\r\n return this._partyRoleType;\r\n }\r\n set\r\n {\r\n this._partyRoleType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"contactMedium\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public ContactMedium[] contactMedium\r\n {\r\n get\r\n {\r\n return this._contactMedium;\r\n }\r\n set\r\n {\r\n this._contactMedium = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Related Entity reference. A related party defines party or party role linked to a specific entity.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"relatedParty\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public RelatedParty relatedParty\r\n {\r\n get\r\n {\r\n return this._relatedParty;\r\n }\r\n set\r\n {\r\n this._relatedParty = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A period of time, either as a deadline (endDateTime only) a startDateTime only, or both\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"validFor\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public TimePeriod validFor\r\n {\r\n get\r\n {\r\n return this._validFor;\r\n }\r\n set\r\n {\r\n this._validFor = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class entity name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n [Natec.Workflow.Runtime.PluginParticipation(GenerateMethodArgument=false)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "ContactMedium", "definition": "/// <summary>\r\n/// Indicates the contact medium that could be used to contact the party.\r\n/// </summary>\r\npublic sealed class ContactMedium\r\n{\r\n \r\n private string _mediumType;\r\n \r\n private System.Boolean? _preferred;\r\n \r\n private MediumCharacteristic _characteristic;\r\n \r\n private TimePeriod _validFor;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _type;\r\n \r\n /// <summary>\r\n /// Type of the contact medium, such as: email address, telephone number, postal address\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"mediumType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string mediumType\r\n {\r\n get\r\n {\r\n return this._mediumType;\r\n }\r\n set\r\n {\r\n this._mediumType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// If true, indicates that is the preferred contact medium\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"preferred\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public System.Boolean? preferred\r\n {\r\n get\r\n {\r\n return this._preferred;\r\n }\r\n set\r\n {\r\n this._preferred = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Describes the contact medium characteristics that could be used to contact a party (an individual or an organization)\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"characteristic\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public MediumCharacteristic characteristic\r\n {\r\n get\r\n {\r\n return this._characteristic;\r\n }\r\n set\r\n {\r\n this._characteristic = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A period of time, either as a deadline (endDateTime only) a startDateTime only, or both\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"validFor\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public TimePeriod validFor\r\n {\r\n get\r\n {\r\n return this._validFor;\r\n }\r\n set\r\n {\r\n this._validFor = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class entity name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n [Natec.Workflow.Runtime.PluginParticipation(GenerateMethodArgument=false)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "MediumCharacteristic", "definition": "/// <summary>\r\n/// Describes the contact medium characteristics that could be used to contact a party (an individual or an organization)\r\n/// </summary>\r\npublic sealed class MediumCharacteristic\r\n{\r\n \r\n private string _city;\r\n \r\n private string _contactType;\r\n \r\n private string _country;\r\n \r\n private string _emailAddress;\r\n \r\n private string _faxNumber;\r\n \r\n private string _phoneNumber;\r\n \r\n private string _postCode;\r\n \r\n private string _socialNetworkId;\r\n \r\n private string _stateOrProvince;\r\n \r\n private string _street1;\r\n \r\n private string _street2;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _type;\r\n \r\n /// <summary>\r\n /// The city\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"city\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string city\r\n {\r\n get\r\n {\r\n return this._city;\r\n }\r\n set\r\n {\r\n this._city = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The type of contact, for example: phone number such as mobile, fixed home, fixed office. postal address such as shipping instalation…\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"contactType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string contactType\r\n {\r\n get\r\n {\r\n return this._contactType;\r\n }\r\n set\r\n {\r\n this._contactType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The country\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"country\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string country\r\n {\r\n get\r\n {\r\n return this._country;\r\n }\r\n set\r\n {\r\n this._country = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Full email address in standard format\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"emailAddress\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string emailAddress\r\n {\r\n get\r\n {\r\n return this._emailAddress;\r\n }\r\n set\r\n {\r\n this._emailAddress = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The fax number of the contact\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"faxNumber\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string faxNumber\r\n {\r\n get\r\n {\r\n return this._faxNumber;\r\n }\r\n set\r\n {\r\n this._faxNumber = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The primary phone number of the contact\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"phoneNumber\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string phoneNumber\r\n {\r\n get\r\n {\r\n return this._phoneNumber;\r\n }\r\n set\r\n {\r\n this._phoneNumber = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Postcode\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"postCode\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string postCode\r\n {\r\n get\r\n {\r\n return this._postCode;\r\n }\r\n set\r\n {\r\n this._postCode = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Identifier as a member of a social network\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"socialNetworkId\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string socialNetworkId\r\n {\r\n get\r\n {\r\n return this._socialNetworkId;\r\n }\r\n set\r\n {\r\n this._socialNetworkId = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// State or province\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"stateOrProvince\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string stateOrProvince\r\n {\r\n get\r\n {\r\n return this._stateOrProvince;\r\n }\r\n set\r\n {\r\n this._stateOrProvince = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Describes the street\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"street1\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string street1\r\n {\r\n get\r\n {\r\n return this._street1;\r\n }\r\n set\r\n {\r\n this._street1 = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Complementary street description\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"street2\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string street2\r\n {\r\n get\r\n {\r\n return this._street2;\r\n }\r\n set\r\n {\r\n this._street2 = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class entity name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n [Natec.Workflow.Runtime.PluginParticipation(GenerateMethodArgument=false)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "FinancialAccountRef", "definition": "/// <summary>\r\n/// AccountReceivable reference. An account of money owed by a party to another entity in exchange for goods or services that have been delivered or used. An account receivable aggregates the amounts of one or more party accounts (billing or settlement) owned by a given party.\r\n/// </summary>\r\npublic sealed class FinancialAccountRef\r\n{\r\n \r\n private string _id;\r\n \r\n private string _href;\r\n \r\n private string _name;\r\n \r\n private AccountBalance _accountBalance;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _type;\r\n \r\n private string _referredType;\r\n \r\n /// <summary>\r\n /// Unique identifier of the account\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Unique reference of the account\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"href\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string href\r\n {\r\n get\r\n {\r\n return this._href;\r\n }\r\n set\r\n {\r\n this._href = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Name of the account\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Balances linked to the account\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"accountBalance\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public AccountBalance accountBalance\r\n {\r\n get\r\n {\r\n return this._accountBalance;\r\n }\r\n set\r\n {\r\n this._accountBalance = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the sub-class entity name\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n [Natec.Workflow.Runtime.PluginParticipation(GenerateMethodArgument=false)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The actual type of the target instance when needed for disambiguation.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@referredType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string @referredType\r\n {\r\n get\r\n {\r\n return this._referredType;\r\n }\r\n set\r\n {\r\n this._referredType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "BillingAccount_Update", "definition": "/// <summary>\r\n/// A party account used for billing purposes. It includes a description of the bill structure (frequency, presentation media, format and so on). It is a specialization of entity PartyAccount.\n///Skipped properties: id,href,accountBalance\r\n/// </summary>\r\npublic sealed class BillingAccount_Update\r\n{\r\n \r\n private System.Int32? _accountType;\r\n \r\n private string _description;\r\n \r\n private System.DateTime? _lastModified;\r\n \r\n private string _name;\r\n \r\n private string _paymentStatus;\r\n \r\n private string _state;\r\n \r\n private AccountRelationship[] _accountRelationship;\r\n \r\n private BillStructure _billStructure;\r\n \r\n private Contact[] _contact;\r\n \r\n private Money _creditLimit;\r\n \r\n private PaymentMethodRef _defaultPaymentMethod;\r\n \r\n private FinancialAccountRef _financialAccount;\r\n \r\n private PaymentPlan[] _paymentPlan;\r\n \r\n private RelatedParty[] _relatedParty;\r\n \r\n private AccountTaxExemption[] _taxExemption;\r\n \r\n private string _baseType;\r\n \r\n private string _schemaLocation;\r\n \r\n private string _type;\r\n \r\n private System.Int32? _ratingType;\r\n \r\n private AccountBalance[] _accountBalance;\r\n \r\n private System.Int32? _id;\r\n \r\n private string _format;\r\n \r\n private string _accept_Language;\r\n \r\n private string _system;\r\n \r\n private System.Int32? _registrCatID;\r\n \r\n private string _x_ms_client_request_id;\r\n \r\n private Note[] _note;\r\n \r\n private System.Int32? _iDType;\r\n \r\n /// <summary>\r\n /// Core account type identifier (multi-language). LOV: Value, provided by BSS template\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"accountType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? accountType\r\n {\r\n get\r\n {\r\n return this._accountType;\r\n }\r\n set\r\n {\r\n this._accountType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Record for the history of the account. LOV: String value greater than or equal to 10 characters\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"description\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string description\r\n {\r\n get\r\n {\r\n return this._description;\r\n }\r\n set\r\n {\r\n this._description = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Effective Date for operation (differs from current for the past)\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"lastModified\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.DateTime? lastModified\r\n {\r\n get\r\n {\r\n return this._lastModified;\r\n }\r\n set\r\n {\r\n this._lastModified = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Core account number\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The condition of the account, such as due, paid, in arrears.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"paymentStatus\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string paymentStatus\r\n {\r\n get\r\n {\r\n return this._paymentStatus;\r\n }\r\n set\r\n {\r\n this._paymentStatus = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Customers entity status code. LOV: Сharacteristic value, provided by BSS template\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"state\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string state\r\n {\r\n get\r\n {\r\n return this._state;\r\n }\r\n set\r\n {\r\n this._state = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"accountRelationship\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public AccountRelationship[] accountRelationship\r\n {\r\n get\r\n {\r\n return this._accountRelationship;\r\n }\r\n set\r\n {\r\n this._accountRelationship = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The structure of the bill for Billing Accounts. LOV: An object\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"billStructure\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public BillStructure billStructure\r\n {\r\n get\r\n {\r\n return this._billStructure;\r\n }\r\n set\r\n {\r\n this._billStructure = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// \r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"contact\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public Contact[] contact\r\n {\r\n get\r\n {\r\n return this._contact;\r\n }\r\n set\r\n {\r\n this._contact = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A base / value business entity used to represent money\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"creditLimit\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public Money creditLimit\r\n {\r\n get\r\n {\r\n return this._creditLimit;\r\n }\r\n set\r\n {\r\n this._creditLimit = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// PaymentMethod reference. A payment method defines a specific mean of payment (e.g direct debit).\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"defaultPaymentMethod\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public PaymentMethodRef defaultPaymentMethod\r\n {\r\n get\r\n {\r\n return this._defaultPaymentMethod;\r\n }\r\n set\r\n {\r\n this._defaultPaymentMethod = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// AccountReceivable reference. An account of money owed by a party to another entity in exchange for goods or services that have been delivered or used. An account receivable aggregates the amounts of one or more party accounts (billing or settlement) owned by a given party.\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"financialAccount\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public FinancialAccountRef financialAccount\r\n {\r\n get\r\n {\r\n return this._financialAccount;\r\n }\r\n set\r\n {\r\n this._financialAccount = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Type of payment plan. LOV: A List of object\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"paymentPlan\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public PaymentPlan[] paymentPlan\r\n {\r\n get\r\n {\r\n return this._paymentPlan;\r\n }\r\n set\r\n {\r\n this._paymentPlan = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A Related Party for this operation. LOV: A List of object\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"relatedParty\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public RelatedParty[] relatedParty\r\n {\r\n get\r\n {\r\n return this._relatedParty;\r\n }\r\n set\r\n {\r\n this._relatedParty = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A list of account tax exemptions (TaxExemption [*]). Proof of freedom from taxes imposed by a taxing jurisdiction. LOV: A List of object\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"taxExemption\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public AccountTaxExemption[] taxExemption\r\n {\r\n get\r\n {\r\n return this._taxExemption;\r\n }\r\n set\r\n {\r\n this._taxExemption = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// When sub-classing, this defines the super-class\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@baseType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string @baseType\r\n {\r\n get\r\n {\r\n return this._baseType;\r\n }\r\n set\r\n {\r\n this._baseType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A URI to a JSON-Schema file that defines additional attributes and relationships\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@schemaLocation\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string @schemaLocation\r\n {\r\n get\r\n {\r\n return this._schemaLocation;\r\n }\r\n set\r\n {\r\n this._schemaLocation = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The @type attribute represents the actual class type of an entity. LOV: supported value is \"BillingAccount\"\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [FromRoute(Name=\"@type\")]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n [Natec.Workflow.Runtime.PluginParticipation(GenerateMethodArgument=false)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Core account category identifier. LOV: Value, provided by BSS template\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"ratingType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? ratingType\r\n {\r\n get\r\n {\r\n return this._ratingType;\r\n }\r\n set\r\n {\r\n this._ratingType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Balance amount related information. LOV: A List of object\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"accountBalance\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public AccountBalance[] accountBalance\r\n {\r\n get\r\n {\r\n return this._accountBalance;\r\n }\r\n set\r\n {\r\n this._accountBalance = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Account ID. LOV: Internal identifier value\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [FromRoute(Name=\"id\")]\r\n public System.Int32? id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Error output format. LOV: supported value is json\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"format\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [FromRoute(Name=\"format\")]\r\n public string format\r\n {\r\n get\r\n {\r\n return this._format;\r\n }\r\n set\r\n {\r\n this._format = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Specifying a language for a multi-language dataset. LOV: supported value are en-English, uk-Ukrainian, ru-russian\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"Accept-Language\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [FromHeader(Name=\"Accept-Language\")]\r\n public string Accept_Language\r\n {\r\n get\r\n {\r\n return this._accept_Language;\r\n }\r\n set\r\n {\r\n this._accept_Language = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// External system code. LOV: integer greater than zero\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"System\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [FromHeader(Name=\"System\")]\r\n public string System\r\n {\r\n get\r\n {\r\n return this._system;\r\n }\r\n set\r\n {\r\n this._system = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Registration Category ID. LOV: value, provided by BSS template\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"RegistrCatID\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? RegistrCatID\r\n {\r\n get\r\n {\r\n return this._registrCatID;\r\n }\r\n set\r\n {\r\n this._registrCatID = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A unique identifier for the search request, used for the GET operation.. LOV: generally a GUID value\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"x-ms-client-request-id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [FromHeader(Name=\"x-ms-client-request-id\")]\r\n public string x_ms_client_request_id\r\n {\r\n get\r\n {\r\n return this._x_ms_client_request_id;\r\n }\r\n set\r\n {\r\n this._x_ms_client_request_id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Structure for logging changes. LOV: A List of object\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"note\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public Note[] note\r\n {\r\n get\r\n {\r\n return this._note;\r\n }\r\n set\r\n {\r\n this._note = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Sign of passing an external ID value. LOV: 1 - external ID, 0 - internal ID\r\n /// <c>p_ucp_set_BillingAccount_Dbss</c>\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"IDType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? IDType\r\n {\r\n get\r\n {\r\n return this._iDType;\r\n }\r\n set\r\n {\r\n this._iDType = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "BillingAccount_Response_SET", "definition": "/// <summary>\r\n/// &lt;empty description&gt;\r\n/// </summary>\r\npublic sealed class BillingAccount_Response_SET\r\n{\r\n \r\n private System.Int32? _id;\r\n \r\n private string _name;\r\n \r\n private RelatedParty[] _relatedParty;\r\n \r\n private string _state;\r\n \r\n private string _accept_Language;\r\n \r\n private string _type;\r\n \r\n private string _x_ms_client_request_id;\r\n \r\n private System.Int32? _iDType;\r\n \r\n private PaymentPlan[] _paymentPlan;\r\n \r\n /// <summary>\r\n /// Account ID. LOV: Internal identifier value\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Core account number\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A Related Party for this operation. LOV: A List of object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"relatedParty\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public RelatedParty[] relatedParty\r\n {\r\n get\r\n {\r\n return this._relatedParty;\r\n }\r\n set\r\n {\r\n this._relatedParty = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Customers entity status code. LOV: Сharacteristic value, provided by BSS template\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"state\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string state\r\n {\r\n get\r\n {\r\n return this._state;\r\n }\r\n set\r\n {\r\n this._state = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Specifying a language for a multi-language dataset. LOV: supported value are en-English, uk-Ukrainian, ru-russian\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"Accept-Language\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string Accept_Language\r\n {\r\n get\r\n {\r\n return this._accept_Language;\r\n }\r\n set\r\n {\r\n this._accept_Language = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The @type attribute represents the actual class type of an entity. LOV: supported value is \"BillingAccount\"\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A unique identifier for the search request, used for the GET operation.. LOV: generally a GUID value\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"x-ms-client-request-id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public string x_ms_client_request_id\r\n {\r\n get\r\n {\r\n return this._x_ms_client_request_id;\r\n }\r\n set\r\n {\r\n this._x_ms_client_request_id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Sign of passing an external ID value. LOV: 1 - external ID, 0 - internal ID\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"IDType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public System.Int32? IDType\r\n {\r\n get\r\n {\r\n return this._iDType;\r\n }\r\n set\r\n {\r\n this._iDType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Type of payment plan. LOV: A List of object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"paymentPlan\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n public PaymentPlan[] paymentPlan\r\n {\r\n get\r\n {\r\n return this._paymentPlan;\r\n }\r\n set\r\n {\r\n this._paymentPlan = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "BillingAccount_Response_POST", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class BillingAccount_Response_POST\r\n{\r\n \r\n private System.Int32? _id;\r\n \r\n private string _name;\r\n \r\n private RelatedParty[] _relatedParty;\r\n \r\n private string _state;\r\n \r\n private string _accept_Language;\r\n \r\n private string _type;\r\n \r\n private string _x_ms_client_request_id;\r\n \r\n private System.Int32? _iDType;\r\n \r\n private PaymentPlan[] _paymentPlan;\r\n \r\n /// <summary>\r\n /// Account ID. LOV: Internal identifier value\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public System.Int32? id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Core account number\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A Related Party for this operation. LOV: A List of object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"relatedParty\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public RelatedParty[] relatedParty\r\n {\r\n get\r\n {\r\n return this._relatedParty;\r\n }\r\n set\r\n {\r\n this._relatedParty = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Customers entity status code. LOV: Сharacteristic value, provided by BSS template\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"state\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string state\r\n {\r\n get\r\n {\r\n return this._state;\r\n }\r\n set\r\n {\r\n this._state = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Specifying a language for a multi-language dataset. LOV: supported value are en-English, uk-Ukrainian, ru-russian\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"Accept-Language\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string Accept_Language\r\n {\r\n get\r\n {\r\n return this._accept_Language;\r\n }\r\n set\r\n {\r\n this._accept_Language = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The @type attribute represents the actual class type of an entity. LOV: supported value is \"BillingAccount\"\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n [Natec.Workflow.Runtime.PluginParticipation(GenerateMethodArgument=false)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A unique identifier for the search request, used for the GET operation.. LOV: generally a GUID value\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"x-ms-client-request-id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string x_ms_client_request_id\r\n {\r\n get\r\n {\r\n return this._x_ms_client_request_id;\r\n }\r\n set\r\n {\r\n this._x_ms_client_request_id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Sign of passing an external ID value. LOV: 1 - external ID, 0 - internal ID\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"IDType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public System.Int32? IDType\r\n {\r\n get\r\n {\r\n return this._iDType;\r\n }\r\n set\r\n {\r\n this._iDType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Type of payment plan. LOV: A List of object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"paymentPlan\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public PaymentPlan[] paymentPlan\r\n {\r\n get\r\n {\r\n return this._paymentPlan;\r\n }\r\n set\r\n {\r\n this._paymentPlan = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }, { "name": "BillingAccount_Response_PUT", "definition": "/// <summary>\r\n/// \r\n/// </summary>\r\npublic sealed class BillingAccount_Response_PUT\r\n{\r\n \r\n private System.Int32? _id;\r\n \r\n private string _name;\r\n \r\n private RelatedParty[] _relatedParty;\r\n \r\n private string _state;\r\n \r\n private string _accept_Language;\r\n \r\n private string _type;\r\n \r\n private string _x_ms_client_request_id;\r\n \r\n private System.Int32? _iDType;\r\n \r\n private PaymentPlan[] _paymentPlan;\r\n \r\n /// <summary>\r\n /// Account ID. LOV: Internal identifier value\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public System.Int32? id\r\n {\r\n get\r\n {\r\n return this._id;\r\n }\r\n set\r\n {\r\n this._id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Core account number\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"name\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string name\r\n {\r\n get\r\n {\r\n return this._name;\r\n }\r\n set\r\n {\r\n this._name = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A Related Party for this operation. LOV: A List of object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"relatedParty\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public RelatedParty[] relatedParty\r\n {\r\n get\r\n {\r\n return this._relatedParty;\r\n }\r\n set\r\n {\r\n this._relatedParty = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Customers entity status code. LOV: Сharacteristic value, provided by BSS template\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"state\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string state\r\n {\r\n get\r\n {\r\n return this._state;\r\n }\r\n set\r\n {\r\n this._state = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Specifying a language for a multi-language dataset. LOV: supported value are en-English, uk-Ukrainian, ru-russian\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"Accept-Language\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string Accept_Language\r\n {\r\n get\r\n {\r\n return this._accept_Language;\r\n }\r\n set\r\n {\r\n this._accept_Language = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// The @type attribute represents the actual class type of an entity. LOV: supported value is \"BillingAccount\"\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"@type\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n [Natec.Workflow.Runtime.PluginParticipation(GenerateMethodArgument=false)]\r\n public string @type\r\n {\r\n get\r\n {\r\n return this._type;\r\n }\r\n set\r\n {\r\n this._type = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// A unique identifier for the search request, used for the GET operation.. LOV: generally a GUID value\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"x-ms-client-request-id\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public string x_ms_client_request_id\r\n {\r\n get\r\n {\r\n return this._x_ms_client_request_id;\r\n }\r\n set\r\n {\r\n this._x_ms_client_request_id = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Sign of passing an external ID value. LOV: 1 - external ID, 0 - internal ID\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"IDType\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public System.Int32? IDType\r\n {\r\n get\r\n {\r\n return this._iDType;\r\n }\r\n set\r\n {\r\n this._iDType = value;\r\n }\r\n }\r\n \r\n /// <summary>\r\n /// Type of payment plan. LOV: A List of object\r\n /// </summary>\r\n // \r\n [Newtonsoft.Json.JsonPropertyAttribute(PropertyName=\"paymentPlan\", NullValueHandling=Newtonsoft.Json.NullValueHandling.Ignore)]\r\n [UCP.Common.Plugin.Attributes.DocIgnore()]\r\n public PaymentPlan[] paymentPlan\r\n {\r\n get\r\n {\r\n return this._paymentPlan;\r\n }\r\n set\r\n {\r\n this._paymentPlan = value;\r\n }\r\n }\r\n}\r\n", "isNativeDefinition": true }] [] - [ { "name": "HandleException", "initCode": "Error HandleException (\n\t\tPassingResult prevData\n\t) \n {\n try\n {\n //investigate the Exception \n Logger.LogInformation($\"Exception name : {prevData.Exception?.GetType()?.Name}\");\n\n Error result = new Error(){ status = \"500\"};\n if (prevData.Exception != null)\n {\n result = prevData.Exception.GetError(\"500\");\n }\n \n int statusCode = 500;\n int.TryParse(result?.status, out statusCode);\n \n WorkflowEnvironment.Variables[\"StatusCode\"] = 500; \n if (WorkflowEnvironment.Variables.TryGetValue (\"HttpResponse\", out object httpResponseObj))\n {\n Microsoft.AspNetCore.Http.HttpResponse response = httpResponseObj as Microsoft.AspNetCore.Http.HttpResponse;\n response.StatusCode = statusCode;\n } \n return result;\n }\n catch (Exception e) \n {\n Logger.LogError($\"HandleException:: error {e}\");\n if (WorkflowEnvironment.Variables.TryGetValue (\"HttpResponse\", out object httpResponseObj))\n {\n Microsoft.AspNetCore.Http.HttpResponse response = httpResponseObj as Microsoft.AspNetCore.Http.HttpResponse;\n //Parameters.x_ms_client_request_id\n response.StatusCode = 500;\n } \n return new Error() \n { \n status = \"500\",\n message = $\"Error while handle error ! {e.Message}\"\n };\n }\n }", "initParameters": [ { "name": "Result", "type": "Error", "required": false, "defaultValue": null }, { "name": "prevData", "type": "PassingResult", "required": true, "defaultValue": null } ] }, { "name": "CodeActionExample", "initCode": "string CodeActionExample (\n\t) \n {\n try \n { \n \n Logger.LogInformation($\"CodeActionExample:: started\");\n // TODO Insert your code here\n Logger.LogInformation($\"CodeActionExample:: finished\");\n \n var procedure = \"[dbo].[GET_WorkflowEventConfig]\";\n var values = new\n {\n Name = \"test\",\n PurposeId = 1,\n TypeId = 1,\n Filter = \"filter\"\n };\n \n string _connectionString = \"Data Source=sqlserv;Initial Catalog=ucp;User ID=login;Password=password;MultipleActiveResultSets=true;Encrypt=True;TrustServerCertificate=True;Command Timeout=3600\";\n\n var dynamicParameters = new DynamicParameters();\n dynamicParameters.AddDynamicParams(values);\n IEnumerable<dynamic> dynamicRes = null;\n\n using (var connection = new SqlConnection(_connectionString))\n {\n dynamicRes = connection.Query(procedure, dynamicParameters, commandType: CommandType.StoredProcedure);\n }\n \n \n return \"Ok\";\n }\n catch (Exception e) {\n Logger.LogError($\"CodeActionExample:: error {e}\");\n throw new Exception($\"CodeActionExample:: error {e}\");\n }\n \n }", "initParameters": [ { "name": "Result", "type": "string", "required": false, "defaultValue": null } ] }, { "name": "proceedSessionParameters", "initCode": "Json proceedSessionParameters (\n\t) \n {\n string v_author = null;\n string v_hostname = null;\n Note[] notes = null;\n \n if(WorkflowEnvironment.RuntimeName == \"Plugin\")\n {\n if (this.WorkflowEnvironment.Variables.TryGetValue (\"ApiContext\", out object apiContextObj))\n {\n IApiContext apiContext = apiContextObj as IApiContext;\n v_author = apiContext.DataBag.UserName;\n v_hostname = apiContext.DataBag.From;\n }\n\n if (WorkflowEnvironment.Variables.TryGetValue (\"HttpRequest\", out object httpRequestObj))\n {\n Microsoft.AspNetCore.Http.HttpRequest req = httpRequestObj as Microsoft.AspNetCore.Http .HttpRequest;\n if (req.Headers.TryGetValue(\"x_ms_client_request_id\", out var reqIdValues))\n {\n Parameters.x_ms_client_request_id = reqIdValues .FirstOrDefault();\n }\n \n UriBuilder ub = new UriBuilder(req.Scheme, req.Host.Host, req.Host.Port.GetValueOrDefault(), req.Path.ToString());\n var ls = ub.Uri.Segments.LastOrDefault();\n if (int.TryParse(ls, out int i))\n {\n Parameters.Acnt_Id = i;\n } \n }\n\t\t\t\tvar note = Input.note?.Select(n => new Note()\n\t\t\t\t{\n\t\t\t\t\tauthor = n.author,\n\t\t\t\t\thostname = n.hostname,\n\t\t\t\t\ttext = n.text\n\t\t\t\t})?.FirstOrDefault() ?? new Note();\n\t\t\t\t\n\t\t\t\tnote.author = v_author;\n\t\t\t\tnote.hostname = v_hostname;\n\t\t\t\t\n notes = new Note[1]{note};\n }\n else\n {\n Parameters.x_ms_client_request_id = Input.x_ms_client_request_id;\n notes = Input.note; \n }\n return new JSON(notes); \n }", "initParameters": [ { "name": "Result", "type": "Json", "required": false, "defaultValue": null } ] }, { "name": "p_ucp_set_BillingAccount_Dbss", "initCode": "BillingAccount_Response_SET p_ucp_set_BillingAccount_Dbss (\n\t\tInt? Actp_ID,\n\t\tstring Remark,\n\t\tdatetime? lastModified,\n\t\tstring Acnt_Number,\n\t\tstring state,\n\t\tstring accountBalance,\n\t\tstring delivery,\n\t\tInt? Aptp_ID,\n\t\tstring Accl_ID,\n\t\tstring relatedParty,\n\t\tstring atype,\n\t\tInt? Acat_ID,\n\t\tInt? Acnt_ID,\n\t\tstring ErrFormat,\n\t\tstring Lang,\n\t\tstring ExternalSystemCode,\n\t\tInt? RegistrCatID,\n\t\tstring x_ms_client_request_id,\n\t\tstring note,\n\t\tInt? idType\n\t) \r\n{\r\n var p = new DynamicParameters();\r\np.Add(\"Actp_ID\", value: Actp_ID, dbType: DbType.Int32, direction:ParameterDirection.Input);\r\np.Add(\"Remark\", value: Remark, dbType: DbType.String, direction:ParameterDirection.Input, size:400);\r\np.Add(\"lastModified\", value: lastModified, dbType: DbType.DateTime2, direction:ParameterDirection.Input);\r\np.Add(\"Acnt_Number\", value: Acnt_Number, dbType: DbType.String, direction:ParameterDirection.InputOutput, size:12);\r\np.Add(\"state\", value: state, dbType: DbType.String, direction:ParameterDirection.InputOutput, size:-1);\r\np.Add(\"accountBalance\", value: accountBalance, dbType: DbType.String, direction:ParameterDirection.Input, size:-1);\r\np.Add(\"delivery\", value: delivery, dbType: DbType.String, direction:ParameterDirection.Input, size:-1);\r\np.Add(\"Aptp_ID\", value: Aptp_ID, dbType: DbType.Int32, direction:ParameterDirection.InputOutput);\r\np.Add(\"Accl_ID\", value: Accl_ID, dbType: DbType.String, direction:ParameterDirection.InputOutput, size:10);\r\np.Add(\"Aptp_ID\", value: Aptp_ID, dbType: DbType.Int32, direction:ParameterDirection.InputOutput);\r\np.Add(\"relatedParty\", value: relatedParty, dbType: DbType.String, direction:ParameterDirection.InputOutput, size:-1);\r\np.Add(\"atype\", value: atype, dbType: DbType.String, direction:ParameterDirection.InputOutput, size:50);\r\np.Add(\"Acat_ID\", value: Acat_ID, dbType: DbType.Int32, direction:ParameterDirection.Input);\r\np.Add(\"Acnt_ID\", value: Acnt_ID, dbType: DbType.Int32, direction:ParameterDirection.InputOutput);\r\np.Add(\"ErrFormat\", value: ErrFormat, dbType: DbType.String, direction:ParameterDirection.Input, size:25);\r\np.Add(\"Lang\", value: Lang, dbType: DbType.String, direction:ParameterDirection.Input, size:3);\r\np.Add(\"ExternalSystemCode\", value: ExternalSystemCode, dbType: DbType.String, direction:ParameterDirection.Input, size:3);\r\np.Add(\"RegistrCatID\", value: RegistrCatID, dbType: DbType.Int32, direction:ParameterDirection.Input);\r\np.Add(\"x_ms_client_request_id\", value: x_ms_client_request_id, dbType: DbType.String, direction:ParameterDirection.InputOutput, size:32);\r\np.Add(\"note\", value: note, dbType: DbType.String, direction:ParameterDirection.Input, size:-1);\r\np.Add(\"idType\", value: idType, dbType: DbType.Int32, direction:ParameterDirection.InputOutput);\r\n\r\nstring sqlConnectionString = Parameters.sqlConnectionString;\r\nif (this.WorkflowEnvironment.Variables.TryGetValue(\"ConfigString\", out object configStr))\r\n{\r\n var configJson = new JSON(configStr).Cast<ServiceConfig>();\r\n if(!string.IsNullOrEmpty(configJson?.ConnectionString))\r\n {\r\n sqlConnectionString = configJson.ConnectionString;\r\n }\r\n};\r\n\r\nvar procedure = \"[dbo].[p_ucp_set_BillingAccount_Dbss]\";\r\nusing (var connection = new SqlConnection(sqlConnectionString))\r\n{\r\n connection.Execute(procedure, p, commandType: CommandType.StoredProcedure, commandTimeout:0);\r\n}\r\n// fill output params\r\nBillingAccount_Response_SET result = new BillingAccount_Response_SET();\r\nresult.id = p.Get<System.Int32?>(\"Acnt_ID\");\r\nresult.name = p.Get<System.String>(\"Acnt_Number\");\r\nresult.relatedParty = string.IsNullOrEmpty(p.Get<string>(\"relatedParty\"))?new RelatedParty[]{new RelatedParty()}:new JSON(p.Get<string>(\"relatedParty\")).Cast<RelatedParty[]>();\r\nresult.state = p.Get<System.String>(\"state\");\r\nresult.Accept_Language = p.Get<System.String>(\"Lang\");\r\nresult.@type = p.Get<System.String>(\"atype\");\r\nresult.x_ms_client_request_id = p.Get<System.String>(\"x_ms_client_request_id\");\r\nresult.IDType = p.Get<System.Int32?>(\"idType\");\r\nresult.paymentPlan = new PaymentPlan[]{new PaymentPlan()};\r\nresult.paymentPlan[0].paymentMethod = new PaymentMethodRef();\r\nresult.paymentPlan[0].paymentMethod.id = p.Get<System.Int32?>(\"Aptp_ID\");\r\nresult.paymentPlan = new PaymentPlan[]{new PaymentPlan()};\r\nresult.paymentPlan[0].planType = p.Get<System.String>(\"Accl_ID\");\r\n\r\n if (WorkflowEnvironment.RuntimeName == \"Plugin\")\r\n {\r\n if (WorkflowEnvironment.Variables.TryGetValue(\"HttpResponse\", out object httpResponseObj))\r\n {\r\n Microsoft.AspNetCore.Http.HttpResponse response = httpResponseObj as Microsoft.AspNetCore.Http.HttpResponse;\r\n response.Headers[\"Accept-Language\"] = result.Accept_Language;\r\n result.Accept_Language = null;\r\n response.Headers[\"x-ms-client-request-id\"] = result.x_ms_client_request_id;\r\n result.x_ms_client_request_id = null;\r\n }\r\n }\r\n\r\nreturn result;\r\n}\r\n", "initParameters": [ { "name": "Actp_ID", "type": "Int?", "required": false, "defaultValue": null }, { "name": "Remark", "type": "string", "required": false, "defaultValue": null }, { "name": "lastModified", "type": "datetime?", "required": false, "defaultValue": null }, { "name": "Acnt_Number", "type": "string", "required": false, "defaultValue": null }, { "name": "state", "type": "string", "required": false, "defaultValue": null }, { "name": "accountBalance", "type": "string", "required": false, "defaultValue": null }, { "name": "delivery", "type": "string", "required": false, "defaultValue": null }, { "name": "Aptp_ID", "type": "Int?", "required": false, "defaultValue": null }, { "name": "Accl_ID", "type": "string", "required": false, "defaultValue": null }, { "name": "relatedParty", "type": "string", "required": false, "defaultValue": null }, { "name": "atype", "type": "string", "required": false, "defaultValue": null }, { "name": "Acat_ID", "type": "Int?", "required": false, "defaultValue": null }, { "name": "Acnt_ID", "type": "Int?", "required": false, "defaultValue": null }, { "name": "ErrFormat", "type": "string", "required": false, "defaultValue": null }, { "name": "Lang", "type": "string", "required": false, "defaultValue": null }, { "name": "ExternalSystemCode", "type": "string", "required": false, "defaultValue": null }, { "name": "RegistrCatID", "type": "Int?", "required": false, "defaultValue": null }, { "name": "x_ms_client_request_id", "type": "string", "required": false, "defaultValue": null }, { "name": "note", "type": "string", "required": false, "defaultValue": null }, { "name": "idType", "type": "Int?", "required": false, "defaultValue": null }, { "name": "Result", "type": "BillingAccount_Response_SET", "required": false, "defaultValue": null } ] }, { "name": "formValidationError", "initCode": "Error formValidationError (\n\t) \n {\n if (WorkflowEnvironment.Variables.TryGetValue (\"HttpResponse\", out object httpResponseObj))\n {\n Microsoft.AspNetCore.Http.HttpResponse response = httpResponseObj as Microsoft.AspNetCore.Http.HttpResponse;\n //Parameters.x_ms_client_request_id\n response.StatusCode = 404;\n } \n return new Error() \n { \n status = \"404\",\n message = $\"Validation error : id must be greater than 0\",\n reason = \"not found\"\n };\n }", "initParameters": [ { "name": "Result", "type": "Error" } ] }] + [ { "name": "HandleException", "initCode": "Error HandleException (\n\t\tPassingResult prevData\n\t) \n {\n try\n {\n //investigate the Exception \n Logger.LogInformation($\"Exception name : {prevData.Exception?.GetType()?.Name}\");\n\n Error result = new Error(){ status = \"500\"};\n if (prevData.Exception != null)\n {\n result = prevData.Exception.GetError(\"500\");\n }\n \n int statusCode = 500;\n int.TryParse(result?.status, out statusCode);\n \n WorkflowEnvironment.Variables[\"StatusCode\"] = 500; \n if (WorkflowEnvironment.Variables.TryGetValue (\"HttpResponse\", out object httpResponseObj))\n {\n Microsoft.AspNetCore.Http.HttpResponse response = httpResponseObj as Microsoft.AspNetCore.Http.HttpResponse;\n response.StatusCode = statusCode;\n } \n return result;\n }\n catch (Exception e) \n {\n Logger.LogError($\"HandleException:: error {e}\");\n if (WorkflowEnvironment.Variables.TryGetValue (\"HttpResponse\", out object httpResponseObj))\n {\n Microsoft.AspNetCore.Http.HttpResponse response = httpResponseObj as Microsoft.AspNetCore.Http.HttpResponse;\n //Parameters.x_ms_client_request_id\n response.StatusCode = 500;\n } \n return new Error() \n { \n status = \"500\",\n message = $\"Error while handle error ! {e.Message}\"\n };\n }\n }", "initParameters": [ { "name": "Result", "type": "Error", "required": false, "defaultValue": null }, { "name": "prevData", "type": "PassingResult", "required": true, "defaultValue": null } ] }, { "name": "CodeActionExample", "initCode": "string CodeActionExample (\n\t) \n {\n try \n { \n \n Logger.LogInformation($\"CodeActionExample:: started\");\n // TODO Insert your code here\n Logger.LogInformation($\"CodeActionExample:: finished\");\n \n var procedure = \"[dbo].[GET_WorkflowEventConfig]\";\n var values = new\n {\n Name = \"test\",\n PurposeId = 1,\n TypeId = 1,\n Filter = \"filter\"\n };\n \n string _connectionString = \"Data Source=localhost;Initial Catalog=examples;User ID=login;Password=;MultipleActiveResultSets=true;Encrypt=True;TrustServerCertificate=True;Command Timeout=3600\";\n\n var dynamicParameters = new DynamicParameters();\n dynamicParameters.AddDynamicParams(values);\n IEnumerable<dynamic> dynamicRes = null;\n\n using (var connection = new SqlConnection(_connectionString))\n {\n dynamicRes = connection.Query(procedure, dynamicParameters, commandType: CommandType.StoredProcedure);\n }\n \n \n return \"Ok\";\n }\n catch (Exception e) {\n Logger.LogError($\"CodeActionExample:: error {e}\");\n throw new Exception($\"CodeActionExample:: error {e}\");\n }\n \n }", "initParameters": [ { "name": "Result", "type": "string", "required": false, "defaultValue": null } ] }, { "name": "proceedSessionParameters", "initCode": "Json proceedSessionParameters (\n\t) \n {\n string v_author = null;\n string v_hostname = null;\n Note[] notes = null;\n \n if(WorkflowEnvironment.RuntimeName == \"Plugin\")\n {\n if (this.WorkflowEnvironment.Variables.TryGetValue (\"ApiContext\", out object apiContextObj))\n {\n IApiContext apiContext = apiContextObj as IApiContext;\n v_author = apiContext.DataBag.UserName;\n v_hostname = apiContext.DataBag.From;\n }\n\n if (WorkflowEnvironment.Variables.TryGetValue (\"HttpRequest\", out object httpRequestObj))\n {\n Microsoft.AspNetCore.Http.HttpRequest req = httpRequestObj as Microsoft.AspNetCore.Http .HttpRequest;\n if (req.Headers.TryGetValue(\"x_ms_client_request_id\", out var reqIdValues))\n {\n Parameters.x_ms_client_request_id = reqIdValues .FirstOrDefault();\n }\n \n UriBuilder ub = new UriBuilder(req.Scheme, req.Host.Host, req.Host.Port.GetValueOrDefault(), req.Path.ToString());\n var ls = ub.Uri.Segments.LastOrDefault();\n if (int.TryParse(ls, out int i))\n {\n Parameters.Acnt_Id = i;\n } \n }\n\t\t\t\tvar note = Input.note?.Select(n => new Note()\n\t\t\t\t{\n\t\t\t\t\tauthor = n.author,\n\t\t\t\t\thostname = n.hostname,\n\t\t\t\t\ttext = n.text\n\t\t\t\t})?.FirstOrDefault() ?? new Note();\n\t\t\t\t\n\t\t\t\tnote.author = v_author;\n\t\t\t\tnote.hostname = v_hostname;\n\t\t\t\t\n notes = new Note[1]{note};\n }\n else\n {\n Parameters.x_ms_client_request_id = Input.x_ms_client_request_id;\n notes = Input.note; \n }\n return new JSON(notes); \n }", "initParameters": [ { "name": "Result", "type": "Json", "required": false, "defaultValue": null } ] }, { "name": "p_ucp_set_BillingAccount_Dbss", "initCode": "BillingAccount_Response_SET p_ucp_set_BillingAccount_Dbss (\n\t\tInt? Actp_ID,\n\t\tstring Remark,\n\t\tdatetime? lastModified,\n\t\tstring Acnt_Number,\n\t\tstring state,\n\t\tstring accountBalance,\n\t\tstring delivery,\n\t\tInt? Aptp_ID,\n\t\tstring Accl_ID,\n\t\tstring relatedParty,\n\t\tstring atype,\n\t\tInt? Acat_ID,\n\t\tInt? Acnt_ID,\n\t\tstring ErrFormat,\n\t\tstring Lang,\n\t\tstring ExternalSystemCode,\n\t\tInt? RegistrCatID,\n\t\tstring x_ms_client_request_id,\n\t\tstring note,\n\t\tInt? idType\n\t) \r\n{\r\n var p = new DynamicParameters();\r\np.Add(\"Actp_ID\", value: Actp_ID, dbType: DbType.Int32, direction:ParameterDirection.Input);\r\np.Add(\"Remark\", value: Remark, dbType: DbType.String, direction:ParameterDirection.Input, size:400);\r\np.Add(\"lastModified\", value: lastModified, dbType: DbType.DateTime2, direction:ParameterDirection.Input);\r\np.Add(\"Acnt_Number\", value: Acnt_Number, dbType: DbType.String, direction:ParameterDirection.InputOutput, size:12);\r\np.Add(\"state\", value: state, dbType: DbType.String, direction:ParameterDirection.InputOutput, size:-1);\r\np.Add(\"accountBalance\", value: accountBalance, dbType: DbType.String, direction:ParameterDirection.Input, size:-1);\r\np.Add(\"delivery\", value: delivery, dbType: DbType.String, direction:ParameterDirection.Input, size:-1);\r\np.Add(\"Aptp_ID\", value: Aptp_ID, dbType: DbType.Int32, direction:ParameterDirection.InputOutput);\r\np.Add(\"Accl_ID\", value: Accl_ID, dbType: DbType.String, direction:ParameterDirection.InputOutput, size:10);\r\np.Add(\"Aptp_ID\", value: Aptp_ID, dbType: DbType.Int32, direction:ParameterDirection.InputOutput);\r\np.Add(\"relatedParty\", value: relatedParty, dbType: DbType.String, direction:ParameterDirection.InputOutput, size:-1);\r\np.Add(\"atype\", value: atype, dbType: DbType.String, direction:ParameterDirection.InputOutput, size:50);\r\np.Add(\"Acat_ID\", value: Acat_ID, dbType: DbType.Int32, direction:ParameterDirection.Input);\r\np.Add(\"Acnt_ID\", value: Acnt_ID, dbType: DbType.Int32, direction:ParameterDirection.InputOutput);\r\np.Add(\"ErrFormat\", value: ErrFormat, dbType: DbType.String, direction:ParameterDirection.Input, size:25);\r\np.Add(\"Lang\", value: Lang, dbType: DbType.String, direction:ParameterDirection.Input, size:3);\r\np.Add(\"ExternalSystemCode\", value: ExternalSystemCode, dbType: DbType.String, direction:ParameterDirection.Input, size:3);\r\np.Add(\"RegistrCatID\", value: RegistrCatID, dbType: DbType.Int32, direction:ParameterDirection.Input);\r\np.Add(\"x_ms_client_request_id\", value: x_ms_client_request_id, dbType: DbType.String, direction:ParameterDirection.InputOutput, size:32);\r\np.Add(\"note\", value: note, dbType: DbType.String, direction:ParameterDirection.Input, size:-1);\r\np.Add(\"idType\", value: idType, dbType: DbType.Int32, direction:ParameterDirection.InputOutput);\r\n\r\nstring sqlConnectionString = Parameters.sqlConnectionString;\r\nif (this.WorkflowEnvironment.Variables.TryGetValue(\"ConfigString\", out object configStr))\r\n{\r\n var configJson = new JSON(configStr).Cast<ServiceConfig>();\r\n if(!string.IsNullOrEmpty(configJson?.ConnectionString))\r\n {\r\n sqlConnectionString = configJson.ConnectionString;\r\n }\r\n};\r\n\r\nvar procedure = \"[dbo].[p_ucp_set_BillingAccount_Dbss]\";\r\nusing (var connection = new SqlConnection(sqlConnectionString))\r\n{\r\n connection.Execute(procedure, p, commandType: CommandType.StoredProcedure, commandTimeout:0);\r\n}\r\n// fill output params\r\nBillingAccount_Response_SET result = new BillingAccount_Response_SET();\r\nresult.id = p.Get<System.Int32?>(\"Acnt_ID\");\r\nresult.name = p.Get<System.String>(\"Acnt_Number\");\r\nresult.relatedParty = string.IsNullOrEmpty(p.Get<string>(\"relatedParty\"))?new RelatedParty[]{new RelatedParty()}:new JSON(p.Get<string>(\"relatedParty\")).Cast<RelatedParty[]>();\r\nresult.state = p.Get<System.String>(\"state\");\r\nresult.Accept_Language = p.Get<System.String>(\"Lang\");\r\nresult.@type = p.Get<System.String>(\"atype\");\r\nresult.x_ms_client_request_id = p.Get<System.String>(\"x_ms_client_request_id\");\r\nresult.IDType = p.Get<System.Int32?>(\"idType\");\r\nresult.paymentPlan = new PaymentPlan[]{new PaymentPlan()};\r\nresult.paymentPlan[0].paymentMethod = new PaymentMethodRef();\r\nresult.paymentPlan[0].paymentMethod.id = p.Get<System.Int32?>(\"Aptp_ID\");\r\nresult.paymentPlan = new PaymentPlan[]{new PaymentPlan()};\r\nresult.paymentPlan[0].planType = p.Get<System.String>(\"Accl_ID\");\r\n\r\n if (WorkflowEnvironment.RuntimeName == \"Plugin\")\r\n {\r\n if (WorkflowEnvironment.Variables.TryGetValue(\"HttpResponse\", out object httpResponseObj))\r\n {\r\n Microsoft.AspNetCore.Http.HttpResponse response = httpResponseObj as Microsoft.AspNetCore.Http.HttpResponse;\r\n response.Headers[\"Accept-Language\"] = result.Accept_Language;\r\n result.Accept_Language = null;\r\n response.Headers[\"x-ms-client-request-id\"] = result.x_ms_client_request_id;\r\n result.x_ms_client_request_id = null;\r\n }\r\n }\r\n\r\nreturn result;\r\n}\r\n", "initParameters": [ { "name": "Actp_ID", "type": "Int?", "required": false, "defaultValue": null }, { "name": "Remark", "type": "string", "required": false, "defaultValue": null }, { "name": "lastModified", "type": "datetime?", "required": false, "defaultValue": null }, { "name": "Acnt_Number", "type": "string", "required": false, "defaultValue": null }, { "name": "state", "type": "string", "required": false, "defaultValue": null }, { "name": "accountBalance", "type": "string", "required": false, "defaultValue": null }, { "name": "delivery", "type": "string", "required": false, "defaultValue": null }, { "name": "Aptp_ID", "type": "Int?", "required": false, "defaultValue": null }, { "name": "Accl_ID", "type": "string", "required": false, "defaultValue": null }, { "name": "relatedParty", "type": "string", "required": false, "defaultValue": null }, { "name": "atype", "type": "string", "required": false, "defaultValue": null }, { "name": "Acat_ID", "type": "Int?", "required": false, "defaultValue": null }, { "name": "Acnt_ID", "type": "Int?", "required": false, "defaultValue": null }, { "name": "ErrFormat", "type": "string", "required": false, "defaultValue": null }, { "name": "Lang", "type": "string", "required": false, "defaultValue": null }, { "name": "ExternalSystemCode", "type": "string", "required": false, "defaultValue": null }, { "name": "RegistrCatID", "type": "Int?", "required": false, "defaultValue": null }, { "name": "x_ms_client_request_id", "type": "string", "required": false, "defaultValue": null }, { "name": "note", "type": "string", "required": false, "defaultValue": null }, { "name": "idType", "type": "Int?", "required": false, "defaultValue": null }, { "name": "Result", "type": "BillingAccount_Response_SET", "required": false, "defaultValue": null } ] }, { "name": "formValidationError", "initCode": "Error formValidationError (\n\t) \n {\n if (WorkflowEnvironment.Variables.TryGetValue (\"HttpResponse\", out object httpResponseObj))\n {\n Microsoft.AspNetCore.Http.HttpResponse response = httpResponseObj as Microsoft.AspNetCore.Http.HttpResponse;\n //Parameters.x_ms_client_request_id\n response.StatusCode = 404;\n } \n return new Error() \n { \n status = \"404\",\n message = $\"Validation error : id must be greater than 0\",\n reason = \"not found\"\n };\n }", "initParameters": [ { "name": "Result", "type": "Error" } ] }] [] [ { "name": "RestApi", "initCode": "functions://default/RestApi", "initParameters": [ { "name": "Uri", "type": "Uri", "required": true, "oldName": "Uri", "defaultValue": "http://servername:port/resource" }, { "name": "Method", "type": "string", "required": true, "oldName": "Method", "defaultValue": "GET" }, { "name": "Login", "type": "string", "required": false, "oldName": "Login", "defaultValue": null }, { "name": "Password", "type": "string", "required": false, "oldName": "Password", "defaultValue": null }, { "name": "Headers", "type": "StringDictionary", "required": false, "oldName": "Headers", "defaultValue": "{\r\n \"Content-Type\":\"application/json;charset=utf-16\",\r\n \"system\":\"204\",\r\n \"global_unique_id\":\"6a297fcb-956e-4228-8c11-017e9bacd629\"\r\n }" }, { "name": "Body", "type": "string", "required": false, "oldName": "Body", "defaultValue": "{}" }, { "name": "Encoding", "type": "string", "required": false, "oldName": "Encoding", "defaultValue": "utf-8" }, { "name": "Result", "type": "HttpResponse", "required": false, "oldName": "Result", "defaultValue": null } ], "oldName": "RestApi" }, { "name": "RestApi_Get", "initCode": "functions://default/RestApi/Get", "initParameters": [ { "name": "Uri", "type": "Uri", "required": true, "oldName": "Uri", "defaultValue": "http://servername:port/resource" }, { "name": "Login", "type": "string", "required": false, "oldName": "Login", "defaultValue": null }, { "name": "Password", "type": "string", "required": false, "oldName": "Password", "defaultValue": null }, { "name": "Headers", "type": "StringDictionary", "required": false, "oldName": "Headers", "defaultValue": "{\r\n \"Content-Type\":\"application/json;charset=utf-16\",\r\n \"system\":\"204\",\r\n \"global_unique_id\":\"6a297fcb-956e-4228-8c11-017e9bacd629\"\r\n }" }, { "name": "Encoding", "type": "string", "required": false, "oldName": "Encoding", "defaultValue": "utf-8" }, { "name": "Result", "type": "HttpResponse", "required": false, "oldName": "Result", "defaultValue": null } ], "oldName": "RestApi_Get" }, { "name": "JsonPath", "initCode": "functions://default//JsonPath", "initParameters": [ { "name": "Response", "type": "HttpResponse", "required": true, "oldName": "Response", "defaultValue": null }, { "name": "Path", "type": "string", "required": false, "oldName": "Path", "defaultValue": "$" }, { "name": "Result", "type": "Json", "required": false, "oldName": "Result", "defaultValue": null } ], "oldName": "JsonPath" }, { "name": "SaveVariable", "initCode": "functions://default//SaveVariable", "initParameters": [ { "name": "VariableName", "type": "string", "required": true, "oldName": "VariableName", "defaultValue": "varName" }, { "name": "Data", "type": "object", "required": true, "oldName": "Data", "defaultValue": "#previous" } ], "oldName": "SaveVariable" }, { "name": "Wait", "initCode": "functions://default//Wait", "initParameters": [ { "name": "millisecondsTimeout", "type": "int", "required": true, "oldName": "millisecondsTimeout", "defaultValue": "1000" } ], "oldName": "Wait" }, { "name": "SQL_Oracle_Query", "initCode": "functions://default//SQL/Oracle/Query", "initParameters": [ { "name": "userID", "type": "string", "required": true, "oldName": "userID", "defaultValue": null }, { "name": "password", "type": "string", "required": false, "oldName": "password", "defaultValue": null }, { "name": "dataSource", "type": "string", "required": false, "oldName": "dataSource", "defaultValue": null }, { "name": "query", "type": "string", "required": false, "oldName": "query", "defaultValue": null }, { "name": "Result", "type": "Collection", "required": false, "oldName": "Result", "defaultValue": null } ], "oldName": "SQL_Oracle_Query" }, { "name": "SQL_Oracle_Command", "initCode": "functions://default//SQL/Oracle/Command", "initParameters": [ { "name": "userID", "type": "string", "required": true, "oldName": "userID", "defaultValue": null }, { "name": "password", "type": "string", "required": false, "oldName": "password", "defaultValue": null }, { "name": "dataSource", "type": "string", "required": false, "oldName": "dataSource", "defaultValue": null }, { "name": "command", "type": "string", "required": false, "oldName": "command", "defaultValue": null }, { "name": "Result", "type": "int", "required": false, "oldName": "Result", "defaultValue": null } ], "oldName": "SQL_Oracle_Command" }] [] - [ { "name": "httpConfig", "type": "HttpConfig", "initialValue": "{\r\n \"host\":\"https://10.29.101.122\",\r\n \"port\":\"6992\",\r\n \"login\":\"login\",\r\n \"password\":\"password\",\r\n \"encoding\":\"utf-8\",\r\n \"headers\":{\r\n \"Content-Type\":\"application/vnd.api+json\",\r\n \"Accept\":\"application/vnd.api+json\"\r\n }\r\n}\r\n" }, { "name": "sqlConnectionString", "type": "string", "initialValue": "Data Source=sqlserv;Initial Catalog=unibill;User ID=login;Password=password;MultipleActiveResultSets=true;Encrypt=True;TrustServerCertificate=True;Command Timeout=3600" }, { "name": "x_ms_client_request_id", "type": "string", "initialValue": "" }, { "name": "Acnt_Id", "type": "Int", "initialValue": "" }] - { "name": "10000000100", "IDType": "1", "description": "This billing account ...", "state": "synced", "accountType": "1001", "ratingType": "2", "RegistrCatID": 0, "lastModified": "2023-11-01T00:00:00Z", "note": [ { "author": "domain+username", "hostname": "192.156.7.77", "text": "This is a M2M Advanced activation", "@type": "Note" } ], "billStructure": { "presentationMedia": [ { "id": "3", "deliveryZone": "45" } ] }, "paymentPlan": [ { "planType": "1", "paymentMethod": { "id": "2" } } ], "relatedParty": [ { "@referredType": "Associations", "id": "6838", "IDType": 1 } ], "accountBalance": [ { "amount": { "unit": "UAH" }, "balanceType": "Main", "validFor": { "startDateTime": "2023-11-01T00:00:00Z" } } ]} + [ { "name": "httpConfig", "type": "HttpConfig", "initialValue": "{\r\n \"host\":\"https://localhost\",\r\n \"port\":\"6992\",\r\n \"login\":\"login\",\r\n \"password\":\"password\",\r\n \"encoding\":\"utf-8\",\r\n \"headers\":{\r\n \"Content-Type\":\"application/vnd.api+json\",\r\n \"Accept\":\"application/vnd.api+json\"\r\n }\r\n}\r\n" }, { "name": "sqlConnectionString", "type": "string", "initialValue": "Data Source=localhost;Initial Catalog=examples;User ID=login;Password=;MultipleActiveResultSets=true;Encrypt=True;TrustServerCertificate=True;Command Timeout=3600" }, { "name": "x_ms_client_request_id", "type": "string", "initialValue": "" }, { "name": "Acnt_Id", "type": "Int", "initialValue": "" }] + { "name": "10000000100", "IDType": "1", "description": "This billing account ...", "state": "synced", "accountType": "1001", "ratingType": "2", "RegistrCatID": 0, "lastModified": "2023-11-01T00:00:00Z", "note": [ { "author": "domain+username", "hostname": "localhost", "text": "This is a M2M Advanced activation", "@type": "Note" } ], "billStructure": { "presentationMedia": [ { "id": "3", "deliveryZone": "45" } ] }, "paymentPlan": [ { "planType": "1", "paymentMethod": { "id": "2" } } ], "relatedParty": [ { "@referredType": "Associations", "id": "6838", "IDType": 1 } ], "accountBalance": [ { "amount": { "unit": "UAH" }, "balanceType": "Main", "validFor": { "startDateTime": "2023-11-01T00:00:00Z" } } ]} - { "status": "HttpRequestAttributes", "method": "PUT", "route": "{id:int}", "summary": "Test Summary", "remarks": "Test Remarks", "requestName": "Test Request name", "examples": { "Updates a BillingAccount": { "summary": "", "description": "", "value": "{\n \"idType\":\"1\",\n \"description\":\"This billing account ...\",\n \"state\":\"synced\", \n \"accountType\":\"1001\",\n \"ratingType\":\"2\",\n \"RegistrCatID\":0,\n \"note\":[\n {\n \"author\":\"domain+username\", \n \"hostname\":\"192.156.7.77\", \n \"text\":\"This is a M2M Advanced activation\", \n \"@type\":\"Note\"\n }\n ],\n \"billStructure\":{\n \"presentationMedia\":[\n {\n \"id\":\"3\",\n \"deliveryZone\":\"45\"\n }\n ]\n },\n \"paymentPlan\":[\n {\n \"planType\":\"1\",\n \"paymentMethod\":{\n \"id\":\"2\"\n }\n }\n ],\n \"relatedParty\":[\n {\n \"@referredType\":\"Associations\",\n \"id\":\"6838\",\n \"IDType\":1\n }\n ],\n \"accountBalance\":[\n {\n \"amount\":{\n \"unit\":\"UAH\"\n },\n \"balanceType\":\"Main\",\n \"validFor\":{\n \"startDateTime\":\"2023-11-01T00:00:00.000Z\"\n }\n }\n ]\n}\n" } }} + { "status": "HttpRequestAttributes", "method": "PUT", "route": "{id:int}", "summary": "Test Summary", "remarks": "Test Remarks", "requestName": "Test Request name", "examples": { "Updates a BillingAccount": { "summary": "", "description": "", "value": "{\n \"idType\":\"1\",\n \"description\":\"This billing account ...\",\n \"state\":\"synced\", \n \"accountType\":\"1001\",\n \"ratingType\":\"2\",\n \"RegistrCatID\":0,\n \"note\":[\n {\n \"author\":\"domain+username\", \n \"hostname\":\"localhost\", \n \"text\":\"This is a M2M Advanced activation\", \n \"@type\":\"Note\"\n }\n ],\n \"billStructure\":{\n \"presentationMedia\":[\n {\n \"id\":\"3\",\n \"deliveryZone\":\"45\"\n }\n ]\n },\n \"paymentPlan\":[\n {\n \"planType\":\"1\",\n \"paymentMethod\":{\n \"id\":\"2\"\n }\n }\n ],\n \"relatedParty\":[\n {\n \"@referredType\":\"Associations\",\n \"id\":\"6838\",\n \"IDType\":1\n }\n ],\n \"accountBalance\":[\n {\n \"amount\":{\n \"unit\":\"UAH\"\n },\n \"balanceType\":\"Main\",\n \"validFor\":{\n \"startDateTime\":\"2023-11-01T00:00:00.000Z\"\n }\n }\n ]\n}\n" } }} Flow_0xuw6mo diff --git a/tmforum-apis/TMF677_Usage_Consumption_Management/TMF677_Get_QueryUsageConsumption.bpmn b/tmforum-apis/TMF677_Usage_Consumption_Management/TMF677_Get_QueryUsageConsumption.bpmn index 94d477f..f1757a6 100644 --- a/tmforum-apis/TMF677_Usage_Consumption_Management/TMF677_Get_QueryUsageConsumption.bpmn +++ b/tmforum-apis/TMF677_Usage_Consumption_Management/TMF677_Get_QueryUsageConsumption.bpmn @@ -8,7 +8,7 @@ [] [ { "name": "RestApi", "initCode": "functions://default/RestApi", "initParameters": [ { "name": "Uri", "type": "Uri", "required": true, "oldName": "Uri", "oldType": "Uri", "defaultValue": "http://servername:port/resource" }, { "name": "Method", "type": "string", "required": true, "oldName": "Method", "oldType": "string", "defaultValue": "GET" }, { "name": "Login", "type": "string", "required": false, "oldName": "Login", "oldType": "string", "defaultValue": null }, { "name": "Password", "type": "string", "required": false, "oldName": "Password", "oldType": "string", "defaultValue": null }, { "name": "Headers", "type": "StringDictionary", "required": false, "oldName": "Headers", "oldType": "StringDictionary", "defaultValue": "{\r\n \"Content-Type\":\"application/json;charset=utf-16\",\r\n \"system\":\"204\",\r\n \"global_unique_id\":\"6a297fcb-956e-4228-8c11-017e9bacd629\"\r\n }" }, { "name": "Body", "type": "string", "required": false, "oldName": "Body", "oldType": "string", "defaultValue": "{}" }, { "name": "Encoding", "type": "string", "required": false, "oldName": "Encoding", "oldType": "string", "defaultValue": "utf-8" }, { "name": "Timeout", "type": "int", "required": false, "oldName": "Timeout", "oldType": "int", "defaultValue": "0" }, { "name": "Result", "type": "HttpResponse", "required": false, "oldName": "Result", "oldType": "HttpResponse", "defaultValue": null } ], "oldName": "RestApi" }, { "name": "RestApi/GET", "initCode": "functions://default/RestApi/Get", "initParameters": [ { "name": "Uri", "type": "Uri", "required": true, "oldName": "Uri", "oldType": "Uri", "defaultValue": "http://servername:port/resource" }, { "name": "Login", "type": "string", "required": false, "oldName": "Login", "oldType": "string", "defaultValue": null }, { "name": "Password", "type": "string", "required": false, "oldName": "Password", "oldType": "string", "defaultValue": null }, { "name": "Headers", "type": "StringDictionary", "required": false, "oldName": "Headers", "oldType": "StringDictionary", "defaultValue": "{\r\n \"Content-Type\":\"application/json;charset=utf-16\",\r\n \"system\":\"204\",\r\n \"global_unique_id\":\"6a297fcb-956e-4228-8c11-017e9bacd629\"\r\n }" }, { "name": "Encoding", "type": "string", "required": false, "oldName": "Encoding", "oldType": "string", "defaultValue": "utf-8" }, { "name": "Timeout", "type": "int", "required": false, "oldName": "Timeout", "oldType": "int", "defaultValue": "0" }, { "name": "Result", "type": "HttpResponse", "required": false, "oldName": "Result", "oldType": "HttpResponse", "defaultValue": null } ], "oldName": "RestApi/GET" }, { "name": "JsonPath", "initCode": "functions://default//JsonPath", "initParameters": [ { "name": "Response", "type": "HttpResponse", "required": true, "oldName": "Response", "oldType": "HttpResponse", "defaultValue": null }, { "name": "Path", "type": "string", "required": false, "oldName": "Path", "oldType": "string", "defaultValue": "$" }, { "name": "Result", "type": "Json", "required": false, "oldName": "Result", "oldType": "Json", "defaultValue": null } ], "oldName": "JsonPath" }, { "name": "SaveVariable", "initCode": "functions://default//SaveVariable", "initParameters": [ { "name": "VariableName", "type": "string", "required": true, "oldName": "VariableName", "oldType": "string", "defaultValue": "varName" }, { "name": "Data", "type": "object", "required": true, "oldName": "Data", "oldType": "object", "defaultValue": "#previous" } ], "oldName": "SaveVariable" }, { "name": "SQL/Oracle/Query", "initCode": "functions://default//SQL/Oracle/Query", "initParameters": [ { "name": "userID", "type": "string", "required": true, "oldName": "userID", "oldType": "string", "defaultValue": null }, { "name": "password", "type": "string", "required": false, "oldName": "password", "oldType": "string", "defaultValue": null }, { "name": "dataSource", "type": "string", "required": false, "oldName": "dataSource", "oldType": "string", "defaultValue": null }, { "name": "query", "type": "string", "required": false, "oldName": "query", "oldType": "string", "defaultValue": null }, { "name": "Result", "type": "Collection", "required": false, "oldName": "Result", "oldType": "Collection", "defaultValue": null } ], "oldName": "SQL/Oracle/Query" }, { "name": "SQL/Oracle/Command", "initCode": "functions://default//SQL/Oracle/Command", "initParameters": [ { "name": "userID", "type": "string", "required": true, "oldName": "userID", "oldType": "string", "defaultValue": null }, { "name": "password", "type": "string", "required": false, "oldName": "password", "oldType": "string", "defaultValue": null }, { "name": "dataSource", "type": "string", "required": false, "oldName": "dataSource", "oldType": "string", "defaultValue": null }, { "name": "command", "type": "string", "required": false, "oldName": "command", "oldType": "string", "defaultValue": null }, { "name": "Result", "type": "int", "required": false, "oldName": "Result", "oldType": "int", "defaultValue": null } ], "oldName": "SQL/Oracle/Command" }] [] - [ { "name": "cacheStatus", "type": "string", "initialValue": "" }, { "name": "getCacheId", "type": "string", "initialValue": "" }, { "name": "httpConfig", "type": "HttpConfig", "initialValue": "{\r\n \"host\":\"https://10.29.101.122\",\r\n \"port\":\"6992\",\r\n \"login\":\"login\",\r\n \"password\":\"password\",\r\n \"encoding\":\"utf-8\",\r\n \"headers\":{\r\n \"Content-Type\":\"application/vnd.api+json\",\r\n \"Accept\":\"application/vnd.api+json\"\r\n }\r\n}\r\n" }, { "name": "oracleConfig", "type": "OracleConfig", "initialValue": "{\r\n \"userId\":\"login\",\r\n \"password\":\"password\",\r\n \"dataSource\":\"10.49.1.198:1521/bisdb_prm.kyivstar.ua\"\r\n}\r\n" }, { "name": "postCacheId", "type": "string", "initialValue": "" }, { "name": "sqlConnectionString", "type": "string", "initialValue": "Data Source=sqlserv;Initial Catalog=unibill;User ID=login;Password=password;MultipleActiveResultSets=true;Encrypt=True;TrustServerCertificate=True;Command Timeout=3600" }, { "name": "sqlType", "type": "string", "initialValue": "dataset" }, { "name": "statusCode", "type": "int", "initialValue": "" }, { "name": "x_page_count", "type": "int", "initialValue": "" }] + [ { "name": "cacheStatus", "type": "string", "initialValue": "" }, { "name": "getCacheId", "type": "string", "initialValue": "" }, { "name": "httpConfig", "type": "HttpConfig", "initialValue": "{\r\n \"host\":\"https://localhost\",\r\n \"port\":\"6992\",\r\n \"login\":\"login\",\r\n \"password\":\"password\",\r\n \"encoding\":\"utf-8\",\r\n \"headers\":{\r\n \"Content-Type\":\"application/vnd.api+json\",\r\n \"Accept\":\"application/vnd.api+json\"\r\n }\r\n}\r\n" }, { "name": "oracleConfig", "type": "OracleConfig", "initialValue": "{\r\n \"userId\":\"login\",\r\n \"password\":\"password\",\r\n \"dataSource\":\"localhost:1521/XEPDB1\"\r\n}\r\n" }, { "name": "postCacheId", "type": "string", "initialValue": "" }, { "name": "sqlConnectionString", "type": "string", "initialValue": "Data Source=localhost;Initial Catalog=examples;User ID=login;Password=;MultipleActiveResultSets=true;Encrypt=True;TrustServerCertificate=True;Command Timeout=3600" }, { "name": "sqlType", "type": "string", "initialValue": "dataset" }, { "name": "statusCode", "type": "int", "initialValue": "" }, { "name": "x_page_count", "type": "int", "initialValue": "" }] { "limit": 2, "offset": 1, "id": "64e4d3f7-0bdd-4024-9473-610cecdb", "x-ms-client-request-id": null} diff --git a/tmforum-apis/TMF677_Usage_Consumption_Management/TMF677_Post_QueryUsageConsumption.bpmn b/tmforum-apis/TMF677_Usage_Consumption_Management/TMF677_Post_QueryUsageConsumption.bpmn index 89de84d..0b1b8fd 100644 --- a/tmforum-apis/TMF677_Usage_Consumption_Management/TMF677_Post_QueryUsageConsumption.bpmn +++ b/tmforum-apis/TMF677_Usage_Consumption_Management/TMF677_Post_QueryUsageConsumption.bpmn @@ -7,7 +7,7 @@ [] [ { "name": "RestApi", "initCode": "functions://default/RestApi", "initParameters": [ { "name": "Uri", "type": "Uri", "required": true, "oldName": "Uri", "oldType": "Uri", "defaultValue": "http://servername:port/resource" }, { "name": "Method", "type": "string", "required": true, "oldName": "Method", "oldType": "string", "defaultValue": "GET" }, { "name": "Login", "type": "string", "required": false, "oldName": "Login", "oldType": "string", "defaultValue": null }, { "name": "Password", "type": "string", "required": false, "oldName": "Password", "oldType": "string", "defaultValue": null }, { "name": "Headers", "type": "StringDictionary", "required": false, "oldName": "Headers", "oldType": "StringDictionary", "defaultValue": "{\r\n \"Content-Type\":\"application/json;charset=utf-16\",\r\n \"system\":\"204\",\r\n \"global_unique_id\":\"6a297fcb-956e-4228-8c11-017e9bacd629\"\r\n }" }, { "name": "Body", "type": "string", "required": false, "oldName": "Body", "oldType": "string", "defaultValue": "{}" }, { "name": "Encoding", "type": "string", "required": false, "oldName": "Encoding", "oldType": "string", "defaultValue": "utf-8" }, { "name": "Timeout", "type": "int", "required": false, "oldName": "Timeout", "oldType": "int", "defaultValue": "0" }, { "name": "Result", "type": "HttpResponse", "required": false, "oldName": "Result", "oldType": "HttpResponse", "defaultValue": null } ], "oldName": "RestApi" }, { "name": "RestApi/GET", "initCode": "functions://default/RestApi/Get", "initParameters": [ { "name": "Uri", "type": "Uri", "required": true, "oldName": "Uri", "oldType": "Uri", "defaultValue": "http://servername:port/resource" }, { "name": "Login", "type": "string", "required": false, "oldName": "Login", "oldType": "string", "defaultValue": null }, { "name": "Password", "type": "string", "required": false, "oldName": "Password", "oldType": "string", "defaultValue": null }, { "name": "Headers", "type": "StringDictionary", "required": false, "oldName": "Headers", "oldType": "StringDictionary", "defaultValue": "{\r\n \"Content-Type\":\"application/json;charset=utf-16\",\r\n \"system\":\"204\",\r\n \"global_unique_id\":\"6a297fcb-956e-4228-8c11-017e9bacd629\"\r\n }" }, { "name": "Encoding", "type": "string", "required": false, "oldName": "Encoding", "oldType": "string", "defaultValue": "utf-8" }, { "name": "Timeout", "type": "int", "required": false, "oldName": "Timeout", "oldType": "int", "defaultValue": "0" }, { "name": "Result", "type": "HttpResponse", "required": false, "oldName": "Result", "oldType": "HttpResponse", "defaultValue": null } ], "oldName": "RestApi/GET" }, { "name": "JsonPath", "initCode": "functions://default//JsonPath", "initParameters": [ { "name": "Response", "type": "HttpResponse", "required": true, "oldName": "Response", "oldType": "HttpResponse", "defaultValue": null }, { "name": "Path", "type": "string", "required": false, "oldName": "Path", "oldType": "string", "defaultValue": "$" }, { "name": "Result", "type": "Json", "required": false, "oldName": "Result", "oldType": "Json", "defaultValue": null } ], "oldName": "JsonPath" }, { "name": "SaveVariable", "initCode": "functions://default//SaveVariable", "initParameters": [ { "name": "VariableName", "type": "string", "required": true, "oldName": "VariableName", "oldType": "string", "defaultValue": "varName" }, { "name": "Data", "type": "object", "required": true, "oldName": "Data", "oldType": "object", "defaultValue": "#previous" } ], "oldName": "SaveVariable" }, { "name": "SQL/Oracle/Query", "initCode": "functions://default//SQL/Oracle/Query", "initParameters": [ { "name": "userID", "type": "string", "required": true, "oldName": "userID", "oldType": "string", "defaultValue": null }, { "name": "password", "type": "string", "required": false, "oldName": "password", "oldType": "string", "defaultValue": null }, { "name": "dataSource", "type": "string", "required": false, "oldName": "dataSource", "oldType": "string", "defaultValue": null }, { "name": "query", "type": "string", "required": false, "oldName": "query", "oldType": "string", "defaultValue": null }, { "name": "Result", "type": "Collection", "required": false, "oldName": "Result", "oldType": "Collection", "defaultValue": null } ], "oldName": "SQL/Oracle/Query" }, { "name": "SQL/Oracle/Command", "initCode": "functions://default//SQL/Oracle/Command", "initParameters": [ { "name": "userID", "type": "string", "required": true, "oldName": "userID", "oldType": "string", "defaultValue": null }, { "name": "password", "type": "string", "required": false, "oldName": "password", "oldType": "string", "defaultValue": null }, { "name": "dataSource", "type": "string", "required": false, "oldName": "dataSource", "oldType": "string", "defaultValue": null }, { "name": "command", "type": "string", "required": false, "oldName": "command", "oldType": "string", "defaultValue": null }, { "name": "Result", "type": "int", "required": false, "oldName": "Result", "oldType": "int", "defaultValue": null } ], "oldName": "SQL/Oracle/Command" }] [] - [ { "name": "cacheId", "type": "string", "initialValue": "" }, { "name": "cacheStatus", "type": "string", "initialValue": "" }, { "name": "sqlConnectionString", "type": "string", "initialValue": "Data Source=sqlserv;Initial Catalog=unibill;User ID=login;Password=password;MultipleActiveResultSets=true;Encrypt=True;TrustServerCertificate=True;Command Timeout=3600" }, { "name": "sqlType", "type": "string", "initialValue": "dataset" }, { "name": "correctRequest", "type": "QueryUsageConsumption_Create", "initialValue": "" }] + [ { "name": "cacheId", "type": "string", "initialValue": "" }, { "name": "cacheStatus", "type": "string", "initialValue": "" }, { "name": "sqlConnectionString", "type": "string", "initialValue": "Data Source=localhost;Initial Catalog=examples;User ID=login;Password=;MultipleActiveResultSets=true;Encrypt=True;TrustServerCertificate=True;Command Timeout=3600" }, { "name": "sqlType", "type": "string", "initialValue": "dataset" }, { "name": "correctRequest", "type": "QueryUsageConsumption_Create", "initialValue": "" }] { "limit": 2, "offset": 0, "searchCriteria": { "relatedParty": [ { "@referredType": "Associations", "id": "6838", "IDType": 1 } ] }, "sortCriteria": { "bucketRefOrValue": [ { "usageType": "data" } ] }, "sort": "-usageConsumption.bucketRefOrValue.reservedValue.amount"} diff --git a/tmforum-apis/TMF677_Usage_Consumption_Management/TMF677_Usage_Consumption.postman_collection.json b/tmforum-apis/TMF677_Usage_Consumption_Management/TMF677_Usage_Consumption.postman_collection.json index bd5368e..03d8452 100644 --- a/tmforum-apis/TMF677_Usage_Consumption_Management/TMF677_Usage_Consumption.postman_collection.json +++ b/tmforum-apis/TMF677_Usage_Consumption_Management/TMF677_Usage_Consumption.postman_collection.json @@ -1313,7 +1313,7 @@ "variable": [ { "key": "API", - "value": "https://team-api.wcb-tst.kyivstar.ua" + "value": "https://localhost" } ] } \ No newline at end of file diff --git a/tmforum-apis/TMF678_Customer_Bill_Management/TMF678_BillingCycle.bpmn b/tmforum-apis/TMF678_Customer_Bill_Management/TMF678_BillingCycle.bpmn index ef1019c..66cac24 100644 --- a/tmforum-apis/TMF678_Customer_Bill_Management/TMF678_BillingCycle.bpmn +++ b/tmforum-apis/TMF678_Customer_Bill_Management/TMF678_BillingCycle.bpmn @@ -7,7 +7,7 @@ [] [ { "name": "RestApi", "initCode": "functions://default/RestApi", "initParameters": [ { "name": "Uri", "type": "Uri", "required": true, "oldName": "Uri", "oldType": "Uri", "defaultValue": "http://servername:port/resource" }, { "name": "Method", "type": "string", "required": true, "oldName": "Method", "oldType": "string", "defaultValue": "GET" }, { "name": "Login", "type": "string", "required": false, "oldName": "Login", "oldType": "string", "defaultValue": null }, { "name": "Password", "type": "string", "required": false, "oldName": "Password", "oldType": "string", "defaultValue": null }, { "name": "Headers", "type": "StringDictionary", "required": false, "oldName": "Headers", "oldType": "StringDictionary", "defaultValue": "{\r\n \"Content-Type\":\"application/json;charset=utf-16\",\r\n \"system\":\"204\",\r\n \"global_unique_id\":\"6a297fcb-956e-4228-8c11-017e9bacd629\"\r\n }" }, { "name": "Body", "type": "string", "required": false, "oldName": "Body", "oldType": "string", "defaultValue": "{}" }, { "name": "Encoding", "type": "string", "required": false, "oldName": "Encoding", "oldType": "string", "defaultValue": "utf-8" }, { "name": "Result", "type": "HttpResponse", "required": false, "oldName": "Result", "oldType": "HttpResponse", "defaultValue": null } ], "oldName": "RestApi" }, { "name": "RestApi_Get", "initCode": "functions://default/RestApi/Get", "initParameters": [ { "name": "Uri", "type": "Uri", "required": true, "oldName": "Uri", "oldType": "Uri", "defaultValue": "http://servername:port/resource" }, { "name": "Login", "type": "string", "required": false, "oldName": "Login", "oldType": "string", "defaultValue": null }, { "name": "Password", "type": "string", "required": false, "oldName": "Password", "oldType": "string", "defaultValue": null }, { "name": "Headers", "type": "StringDictionary", "required": false, "oldName": "Headers", "oldType": "StringDictionary", "defaultValue": "{\r\n \"Content-Type\":\"application/json;charset=utf-16\",\r\n \"system\":\"204\",\r\n \"global_unique_id\":\"6a297fcb-956e-4228-8c11-017e9bacd629\"\r\n }" }, { "name": "Encoding", "type": "string", "required": false, "oldName": "Encoding", "oldType": "string", "defaultValue": "utf-8" }, { "name": "Result", "type": "HttpResponse", "required": false, "oldName": "Result", "oldType": "HttpResponse", "defaultValue": null } ], "oldName": "RestApi_Get" }, { "name": "JsonPath", "initCode": "functions://default//JsonPath", "initParameters": [ { "name": "Response", "type": "HttpResponse", "required": true, "oldName": "Response", "oldType": "HttpResponse", "defaultValue": null }, { "name": "Path", "type": "string", "required": false, "oldName": "Path", "oldType": "string", "defaultValue": "$" }, { "name": "Result", "type": "Json", "required": false, "oldName": "Result", "oldType": "Json", "defaultValue": null } ], "oldName": "JsonPath" }, { "name": "SaveVariable", "initCode": "functions://default//SaveVariable", "initParameters": [ { "name": "VariableName", "type": "string", "required": true, "oldName": "VariableName", "oldType": "string", "defaultValue": "varName" }, { "name": "Data", "type": "object", "required": true, "oldName": "Data", "oldType": "object", "defaultValue": "#previous" } ], "oldName": "SaveVariable" }, { "name": "Wait", "initCode": "functions://default//Wait", "initParameters": [ { "name": "millisecondsTimeout", "type": "int", "required": true, "oldName": "millisecondsTimeout", "oldType": "int", "defaultValue": "1000" } ], "oldName": "Wait" }, { "name": "SQL_Oracle_Query", "initCode": "functions://default//SQL/Oracle/Query", "initParameters": [ { "name": "userID", "type": "string", "required": true, "oldName": "userID", "oldType": "string", "defaultValue": null }, { "name": "password", "type": "string", "required": false, "oldName": "password", "oldType": "string", "defaultValue": null }, { "name": "dataSource", "type": "string", "required": false, "oldName": "dataSource", "oldType": "string", "defaultValue": null }, { "name": "query", "type": "string", "required": false, "oldName": "query", "oldType": "string", "defaultValue": null }, { "name": "Result", "type": "Collection", "required": false, "oldName": "Result", "oldType": "Collection", "defaultValue": null } ], "oldName": "SQL_Oracle_Query" }, { "name": "SQL_Oracle_Command", "initCode": "functions://default//SQL/Oracle/Command", "initParameters": [ { "name": "userID", "type": "string", "required": true, "oldName": "userID", "oldType": "string", "defaultValue": null }, { "name": "password", "type": "string", "required": false, "oldName": "password", "oldType": "string", "defaultValue": null }, { "name": "dataSource", "type": "string", "required": false, "oldName": "dataSource", "oldType": "string", "defaultValue": null }, { "name": "command", "type": "string", "required": false, "oldName": "command", "oldType": "string", "defaultValue": null }, { "name": "Result", "type": "int", "required": false, "oldName": "Result", "oldType": "int", "defaultValue": null } ], "oldName": "SQL_Oracle_Command" }] [] - [ { "name": "oracleConfig", "type": "OracleConfig", "initialValue": "{\r\n \"userId\":\"login\",\r\n \"password\":\"password\",\r\n \"dataSource\":\"10.49.1.198:1521/bisdb_prm.kyivstar.ua\"\r\n}\r\n" }, { "name": "httpConfig", "type": "HttpConfig", "initialValue": "{\r\n \"host\":\"https://10.29.101.122\",\r\n \"port\":\"6992\",\r\n \"login\":\"login\",\r\n \"password\":\"password\",\r\n \"encoding\":\"utf-8\",\r\n \"headers\":{\r\n \"Content-Type\":\"application/vnd.api+json\",\r\n \"Accept\":\"application/vnd.api+json\"\r\n }\r\n}\r\n" }, { "name": "sqlConnectionString", "type": "string", "initialValue": "Data Source=sqlserv;Initial Catalog=unibill;User ID=login;Password=password;MultipleActiveResultSets=true;Encrypt=True;TrustServerCertificate=True;Command Timeout=3600" }, { "name": "cacheId", "type": "string", "initialValue": null }, { "name": "cacheStatus", "type": "string", "initialValue": null }, { "name": "x_page_count", "type": "Int", "initialValue": "" }] + [ { "name": "oracleConfig", "type": "OracleConfig", "initialValue": "{\r\n \"userId\":\"login\",\r\n \"password\":\"password\",\r\n \"dataSource\":\"localhost:1521/XEPDB1\"\r\n}\r\n" }, { "name": "httpConfig", "type": "HttpConfig", "initialValue": "{\r\n \"host\":\"https://localhost\",\r\n \"port\":\"6992\",\r\n \"login\":\"login\",\r\n \"password\":\"password\",\r\n \"encoding\":\"utf-8\",\r\n \"headers\":{\r\n \"Content-Type\":\"application/vnd.api+json\",\r\n \"Accept\":\"application/vnd.api+json\"\r\n }\r\n}\r\n" }, { "name": "sqlConnectionString", "type": "string", "initialValue": "Data Source=localhost;Initial Catalog=examples;User ID=login;Password=;MultipleActiveResultSets=true;Encrypt=True;TrustServerCertificate=True;Command Timeout=3600" }, { "name": "cacheId", "type": "string", "initialValue": null }, { "name": "cacheStatus", "type": "string", "initialValue": null }, { "name": "x_page_count", "type": "Int", "initialValue": "" }] { "offset": 1, "limit": 50, "externalId": [ { "@type": "externalId", "externalIdentifierType": "Extentions", "id": "456" } ], "relatedParty": [ { "@referredType": "Customers", "id": 7702142, "IDType": 0 } ], "sort": "-id"} diff --git a/tmforum-apis/TMF678_Customer_Bill_Management/TMF678_Customer_Bill.postman_collection.json b/tmforum-apis/TMF678_Customer_Bill_Management/TMF678_Customer_Bill.postman_collection.json index 6fe5fdd..0ba71cd 100644 --- a/tmforum-apis/TMF678_Customer_Bill_Management/TMF678_Customer_Bill.postman_collection.json +++ b/tmforum-apis/TMF678_Customer_Bill_Management/TMF678_Customer_Bill.postman_collection.json @@ -762,7 +762,7 @@ } ], "cookie": [], - "body": "[\n{\n \"appliedBillingRateSubType\": \"recurringCharge\",\n \"appliedBillingRateType\": \"appliedBillingCharge\",\n \"bill\": {\n \"@referredType\": \"CustomerBill\",\n \"@type\": \"CustomerBillRef\",\n \"id\": \"1418687100\",\n \"name\": \"624410403\"\n },\n \"billingAccount\": {\n \"@referredType\": \"BillingAccount\",\n \"@type\": \"BillingAccountRef\",\n \"id\": \"6836892\",\n \"name\": \"75001739432\"\n },\n \"billCycleNo\": \"10030952\",\n \"characteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"characteristicRelationship\": {\n \"@type\": \"CharacteristicRelationship\",\n \"id\": \"1\",\n \"relationshipType\": \"billedAs\"\n },\n \"id\": \"srg_ID_bll\",\n \"name\": \"srg_ID_bll\",\n \"value\": \"215\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sech_DiscountAmount\",\n \"name\": \"sech_DiscountAmount\",\n \"value\": \"0.0\",\n \"valueType\": \"number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sech_DayCount\",\n \"name\": \"sech_DayCount\",\n \"value\": \"30\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sct_ID\",\n \"name\": \"sct_ID\",\n \"value\": \"2\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srg_ID\",\n \"name\": \"srg_ID\",\n \"value\": \"215\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grt_ID\",\n \"name\": \"grt_ID\",\n \"value\": \"153\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"dnm_ID\",\n \"name\": \"dnm_ID\",\n \"value\": \"260\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grt_ExternalID\",\n \"name\": \"grt_ExternalID\",\n \"value\": \"12000\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"idTariffPlan\",\n \"name\": \"idTariffPlan\",\n \"value\": \"6225\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sctd_Name\",\n \"name\": \"sctd_Name\",\n \"value\": \"Subscription fee\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srgd_Name\",\n \"name\": \"srgd_Name\",\n \"value\": \"M2M monthly payment\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srv_Code\",\n \"name\": \"srv_Code\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grtd_Name\",\n \"name\": \"grtd_Name\",\n \"value\": \"M2M Advanced\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"tp_Code\",\n \"name\": \"tp_Code\",\n \"value\": \"1821105\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"dnm_Name\",\n \"name\": \"dnm_Name\",\n \"value\": \"АП за ТП без ПДВ та ПФ\",\n \"valueType\": \"string\"\n }\n ],\n \"date\": \"2024-07-25T23:59:59\",\n \"description\": \"АП за месяц\",\n \"id\": 1021995195,\n \"isBilled\": true,\n \"logicalResource\": [\n {\n \"name\": \"MSISDN\",\n \"value\": \"380673093180\"\n }\n ],\n \"name\": \"M2M Monthly Fee\",\n \"note\": [\n {\n \"author\": \"wcb_etl_process\",\n \"date\": \"2024-07-12T14:28:00.117\",\n \"hostname\": \"RDP-NAPTEC\"\n }\n ],\n \"periodCoverage\": {\n \"startDateTime\": \"2024-06-26T00:00:00\",\n \"endDateTime\": \"2024-07-25T23:59:59\"\n },\n \"product\": {\n \"@referredType\": \"TariffPackage\",\n \"@type\": \"ProductRef\",\n \"id\": \"03-6225\",\n \"name\": \"IoT Platform 30\"\n },\n \"relatedParty\": [\n {\n \"@referredType\": \"Customers\",\n \"id\": \"8662819\",\n \"IDType\": 0\n }\n ],\n \"state\": \"normal\",\n \"taxExcludedAmount\": {\n \"unit\": \"UAH\",\n \"value\": 23.53\n },\n \"taxIncludedAmount\": {\n \"unit\": \"UAH\",\n \"value\": 23.53\n }\n},\n{\n \"appliedBillingRateSubType\": \"recurringCharge\",\n \"appliedBillingRateType\": \"appliedBillingCharge\",\n \"bill\": {\n \"@referredType\": \"CustomerBill\",\n \"@type\": \"CustomerBillRef\",\n \"id\": \"1418687098\",\n \"name\": \"624410401\"\n },\n \"billingAccount\": {\n \"@referredType\": \"BillingAccount\",\n \"@type\": \"BillingAccountRef\",\n \"id\": \"6572421\",\n \"name\": \"75001346535\"\n },\n \"billCycleNo\": \"10030952\",\n \"characteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"characteristicRelationship\": {\n \"@type\": \"CharacteristicRelationship\",\n \"id\": \"1\",\n \"relationshipType\": \"billedAs\"\n },\n \"id\": \"srg_ID_bll\",\n \"name\": \"srg_ID_bll\",\n \"value\": \"215\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sech_DiscountAmount\",\n \"name\": \"sech_DiscountAmount\",\n \"value\": \"0.0\",\n \"valueType\": \"number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sech_DayCount\",\n \"name\": \"sech_DayCount\",\n \"value\": \"30\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sct_ID\",\n \"name\": \"sct_ID\",\n \"value\": \"2\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srg_ID\",\n \"name\": \"srg_ID\",\n \"value\": \"215\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grt_ID\",\n \"name\": \"grt_ID\",\n \"value\": \"153\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"dnm_ID\",\n \"name\": \"dnm_ID\",\n \"value\": \"260\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grt_ExternalID\",\n \"name\": \"grt_ExternalID\",\n \"value\": \"12000\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"idTariffPlan\",\n \"name\": \"idTariffPlan\",\n \"value\": \"6225\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sctd_Name\",\n \"name\": \"sctd_Name\",\n \"value\": \"Subscription fee\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srgd_Name\",\n \"name\": \"srgd_Name\",\n \"value\": \"M2M monthly payment\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srv_Code\",\n \"name\": \"srv_Code\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grtd_Name\",\n \"name\": \"grtd_Name\",\n \"value\": \"M2M Advanced\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"tp_Code\",\n \"name\": \"tp_Code\",\n \"value\": \"1821105\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"dnm_Name\",\n \"name\": \"dnm_Name\",\n \"value\": \"АП за ТП без ПДВ та ПФ\",\n \"valueType\": \"string\"\n }\n ],\n \"date\": \"2024-07-25T23:59:59\",\n \"description\": \"АП за месяц\",\n \"id\": 1021995196,\n \"isBilled\": true,\n \"logicalResource\": [\n {\n \"name\": \"MSISDN\",\n \"value\": \"380673990982\"\n }\n ],\n \"name\": \"M2M Monthly Fee\",\n \"note\": [\n {\n \"author\": \"wcb_etl_process\",\n \"date\": \"2024-07-12T14:28:46.103\",\n \"hostname\": \"RDP-NAPTEC\"\n }\n ],\n \"periodCoverage\": {\n \"startDateTime\": \"2024-06-26T00:00:00\",\n \"endDateTime\": \"2024-07-25T23:59:59\"\n },\n \"product\": {\n \"@referredType\": \"TariffPackage\",\n \"@type\": \"ProductRef\",\n \"id\": \"03-6225\",\n \"name\": \"IoT Platform 30\"\n },\n \"relatedParty\": [\n {\n \"@referredType\": \"Customers\",\n \"id\": \"8380607\",\n \"IDType\": 0\n }\n ],\n \"state\": \"normal\",\n \"taxExcludedAmount\": {\n \"unit\": \"UAH\",\n \"value\": 23.53\n },\n \"taxIncludedAmount\": {\n \"unit\": \"UAH\",\n \"value\": 23.53\n }\n},\n{\n \"appliedBillingRateSubType\": \"recurringCharge\",\n \"appliedBillingRateType\": \"appliedBillingCharge\",\n \"bill\": {\n \"@referredType\": \"CustomerBill\",\n \"@type\": \"CustomerBillRef\",\n \"id\": \"1418687098\",\n \"name\": \"624410401\"\n },\n \"billingAccount\": {\n \"@referredType\": \"BillingAccount\",\n \"@type\": \"BillingAccountRef\",\n \"id\": \"6572421\",\n \"name\": \"75001346535\"\n },\n \"billCycleNo\": \"10030952\",\n \"characteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"characteristicRelationship\": {\n \"@type\": \"CharacteristicRelationship\",\n \"id\": \"1\",\n \"relationshipType\": \"billedAs\"\n },\n \"id\": \"srg_ID_bll\",\n \"name\": \"srg_ID_bll\",\n \"value\": \"216\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sech_DiscountAmount\",\n \"name\": \"sech_DiscountAmount\",\n \"value\": \"0.0\",\n \"valueType\": \"number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sech_DayCount\",\n \"name\": \"sech_DayCount\",\n \"value\": \"30\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sct_ID\",\n \"name\": \"sct_ID\",\n \"value\": \"2\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srg_ID\",\n \"name\": \"srg_ID\",\n \"value\": \"216\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grt_ID\",\n \"name\": \"grt_ID\",\n \"value\": \"153\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"dnm_ID\",\n \"name\": \"dnm_ID\",\n \"value\": \"216\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grt_ExternalID\",\n \"name\": \"grt_ExternalID\",\n \"value\": \"12000\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"idTariffPlan\",\n \"name\": \"idTariffPlan\",\n \"value\": \"6225\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sctd_Name\",\n \"name\": \"sctd_Name\",\n \"value\": \"Subscription fee\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srgd_Name\",\n \"name\": \"srgd_Name\",\n \"value\": \"M2M monthly payment traffic\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srv_Code\",\n \"name\": \"srv_Code\",\n \"value\": \"9301\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grtd_Name\",\n \"name\": \"grtd_Name\",\n \"value\": \"M2M Advanced\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"tp_Code\",\n \"name\": \"tp_Code\",\n \"value\": \"1821105\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"dnm_Name\",\n \"name\": \"dnm_Name\",\n \"value\": \"Передача даних в Україні\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"dtg_UsageType\",\n \"name\": \"dtg_UsageType\",\n \"value\": \"data\",\n \"valueType\": \"string\"\n }\n ],\n \"date\": \"2024-07-25T23:59:59\",\n \"description\": \"by counter\",\n \"id\": 1021995197,\n \"isBilled\": true,\n \"logicalResource\": [\n {\n \"name\": \"MSISDN\",\n \"value\": \"380673990982\"\n }\n ],\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\n \"note\": [\n {\n \"author\": \"wcb_etl_process\",\n \"date\": \"2024-07-12T14:28:46.107\",\n \"hostname\": \"RDP-NAPTEC\"\n }\n ],\n \"periodCoverage\": {\n \"startDateTime\": \"2024-06-26T00:00:00\",\n \"endDateTime\": \"2024-07-25T23:59:59\"\n },\n \"product\": {\n \"@referredType\": \"TariffPackage\",\n \"@type\": \"ProductRef\",\n \"id\": \"03-6225\",\n \"name\": \"IoT Platform 30\"\n },\n \"relatedParty\": [\n {\n \"@referredType\": \"Customers\",\n \"id\": \"8380607\",\n \"IDType\": 0\n }\n ],\n \"state\": \"normal\",\n \"taxExcludedAmount\": {\n \"unit\": \"UAH\",\n \"value\": 27.45\n },\n \"taxIncludedAmount\": {\n \"unit\": \"UAH\",\n \"value\": 27.45\n }\n},\n{\n \"appliedBillingRateSubType\": \"recurringCharge\",\n \"appliedBillingRateType\": \"appliedBillingCharge\",\n \"bill\": {\n \"@referredType\": \"CustomerBill\",\n \"@type\": \"CustomerBillRef\",\n \"id\": \"1418687096\",\n \"name\": \"624410399\"\n },\n \"billingAccount\": {\n \"@referredType\": \"BillingAccount\",\n \"@type\": \"BillingAccountRef\",\n \"id\": \"3374286\",\n \"name\": \"7440433\"\n },\n \"billCycleNo\": \"10030952\",\n \"characteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"characteristicRelationship\": {\n \"@type\": \"CharacteristicRelationship\",\n \"id\": \"1\",\n \"relationshipType\": \"billedAs\"\n },\n \"id\": \"srg_ID_bll\",\n \"name\": \"srg_ID_bll\",\n \"value\": \"215\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sech_DiscountAmount\",\n \"name\": \"sech_DiscountAmount\",\n \"value\": \"0.0\",\n \"valueType\": \"number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sech_DayCount\",\n \"name\": \"sech_DayCount\",\n \"value\": \"30\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sct_ID\",\n \"name\": \"sct_ID\",\n \"value\": \"2\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srg_ID\",\n \"name\": \"srg_ID\",\n \"value\": \"215\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grt_ID\",\n \"name\": \"grt_ID\",\n \"value\": \"153\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"dnm_ID\",\n \"name\": \"dnm_ID\",\n \"value\": \"260\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grt_ExternalID\",\n \"name\": \"grt_ExternalID\",\n \"value\": \"12000\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"idTariffPlan\",\n \"name\": \"idTariffPlan\",\n \"value\": \"6225\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sctd_Name\",\n \"name\": \"sctd_Name\",\n \"value\": \"Subscription fee\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srgd_Name\",\n \"name\": \"srgd_Name\",\n \"value\": \"M2M monthly payment\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srv_Code\",\n \"name\": \"srv_Code\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grtd_Name\",\n \"name\": \"grtd_Name\",\n \"value\": \"M2M Advanced\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"tp_Code\",\n \"name\": \"tp_Code\",\n \"value\": \"1821105\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"dnm_Name\",\n \"name\": \"dnm_Name\",\n \"value\": \"АП за ТП без ПДВ та ПФ\",\n \"valueType\": \"string\"\n }\n ],\n \"date\": \"2024-07-25T23:59:59\",\n \"description\": \"АП за месяц\",\n \"id\": 1021995198,\n \"isBilled\": true,\n \"logicalResource\": [\n {\n \"name\": \"MSISDN\",\n \"value\": \"380674591570\"\n }\n ],\n \"name\": \"M2M Monthly Fee\",\n \"note\": [\n {\n \"author\": \"wcb_etl_process\",\n \"date\": \"2024-07-12T14:29:18.427\",\n \"hostname\": \"RDP-NAPTEC\"\n }\n ],\n \"periodCoverage\": {\n \"startDateTime\": \"2024-06-26T00:00:00\",\n \"endDateTime\": \"2024-07-25T23:59:59\"\n },\n \"product\": {\n \"@referredType\": \"TariffPackage\",\n \"@type\": \"ProductRef\",\n \"id\": \"03-6225\",\n \"name\": \"IoT Platform 30\"\n },\n \"relatedParty\": [\n {\n \"@referredType\": \"Customers\",\n \"id\": \"5173700\",\n \"IDType\": 0\n }\n ],\n \"state\": \"normal\",\n \"taxExcludedAmount\": {\n \"unit\": \"UAH\",\n \"value\": 23.53\n },\n \"taxIncludedAmount\": {\n \"unit\": \"UAH\",\n \"value\": 23.53\n }\n},\n{\n \"appliedBillingRateSubType\": \"recurringCharge\",\n \"appliedBillingRateType\": \"appliedBillingCharge\",\n \"bill\": {\n \"@referredType\": \"CustomerBill\",\n \"@type\": \"CustomerBillRef\",\n \"id\": \"1418687096\",\n \"name\": \"624410399\"\n },\n \"billingAccount\": {\n \"@referredType\": \"BillingAccount\",\n \"@type\": \"BillingAccountRef\",\n \"id\": \"3374286\",\n \"name\": \"7440433\"\n },\n \"billCycleNo\": \"10030952\",\n \"characteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"characteristicRelationship\": {\n \"@type\": \"CharacteristicRelationship\",\n \"id\": \"1\",\n \"relationshipType\": \"billedAs\"\n },\n \"id\": \"srg_ID_bll\",\n \"name\": \"srg_ID_bll\",\n \"value\": \"215\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sech_DiscountAmount\",\n \"name\": \"sech_DiscountAmount\",\n \"value\": \"0.0\",\n \"valueType\": \"number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sech_DayCount\",\n \"name\": \"sech_DayCount\",\n \"value\": \"30\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sct_ID\",\n \"name\": \"sct_ID\",\n \"value\": \"2\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srg_ID\",\n \"name\": \"srg_ID\",\n \"value\": \"215\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grt_ID\",\n \"name\": \"grt_ID\",\n \"value\": \"153\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"dnm_ID\",\n \"name\": \"dnm_ID\",\n \"value\": \"260\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grt_ExternalID\",\n \"name\": \"grt_ExternalID\",\n \"value\": \"12000\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"idTariffPlan\",\n \"name\": \"idTariffPlan\",\n \"value\": \"6225\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sctd_Name\",\n \"name\": \"sctd_Name\",\n \"value\": \"Subscription fee\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srgd_Name\",\n \"name\": \"srgd_Name\",\n \"value\": \"M2M monthly payment\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srv_Code\",\n \"name\": \"srv_Code\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grtd_Name\",\n \"name\": \"grtd_Name\",\n \"value\": \"M2M Advanced\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"tp_Code\",\n \"name\": \"tp_Code\",\n \"value\": \"1821105\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"dnm_Name\",\n \"name\": \"dnm_Name\",\n \"value\": \"АП за ТП без ПДВ та ПФ\",\n \"valueType\": \"string\"\n }\n ],\n \"date\": \"2024-07-25T23:59:59\",\n \"description\": \"АП за месяц\",\n \"id\": 1021995199,\n \"isBilled\": true,\n \"logicalResource\": [\n {\n \"name\": \"MSISDN\",\n \"value\": \"380674592648\"\n }\n ],\n \"name\": \"M2M Monthly Fee\",\n \"note\": [\n {\n \"author\": \"wcb_etl_process\",\n \"date\": \"2024-07-12T14:29:39.44\",\n \"hostname\": \"RDP-NAPTEC\"\n }\n ],\n \"periodCoverage\": {\n \"startDateTime\": \"2024-06-26T00:00:00\",\n \"endDateTime\": \"2024-07-25T23:59:59\"\n },\n \"product\": {\n \"@referredType\": \"TariffPackage\",\n \"@type\": \"ProductRef\",\n \"id\": \"03-6225\",\n \"name\": \"IoT Platform 30\"\n },\n \"relatedParty\": [\n {\n \"@referredType\": \"Customers\",\n \"id\": \"5173700\",\n \"IDType\": 0\n }\n ],\n \"state\": \"normal\",\n \"taxExcludedAmount\": {\n \"unit\": \"UAH\",\n \"value\": 23.53\n },\n \"taxIncludedAmount\": {\n \"unit\": \"UAH\",\n \"value\": 23.53\n }\n},\n{\n \"appliedBillingRateSubType\": \"recurringCharge\",\n \"appliedBillingRateType\": \"appliedBillingCharge\",\n \"bill\": {\n \"@referredType\": \"CustomerBill\",\n \"@type\": \"CustomerBillRef\",\n \"id\": \"1418687097\",\n \"name\": \"624410400\"\n },\n \"billingAccount\": {\n \"@referredType\": \"BillingAccount\",\n \"@type\": \"BillingAccountRef\",\n \"id\": \"4067719\",\n \"name\": \"11338610\"\n },\n \"billCycleNo\": \"10030952\",\n \"characteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"characteristicRelationship\": {\n \"@type\": \"CharacteristicRelationship\",\n \"id\": \"1\",\n \"relationshipType\": \"billedAs\"\n },\n \"id\": \"srg_ID_bll\",\n \"name\": \"srg_ID_bll\",\n \"value\": \"215\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sech_DiscountAmount\",\n \"name\": \"sech_DiscountAmount\",\n \"value\": \"0.0\",\n \"valueType\": \"number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sech_DayCount\",\n \"name\": \"sech_DayCount\",\n \"value\": \"30\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sct_ID\",\n \"name\": \"sct_ID\",\n \"value\": \"2\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srg_ID\",\n \"name\": \"srg_ID\",\n \"value\": \"215\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grt_ID\",\n \"name\": \"grt_ID\",\n \"value\": \"153\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"dnm_ID\",\n \"name\": \"dnm_ID\",\n \"value\": \"260\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grt_ExternalID\",\n \"name\": \"grt_ExternalID\",\n \"value\": \"12000\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"idTariffPlan\",\n \"name\": \"idTariffPlan\",\n \"value\": \"6225\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sctd_Name\",\n \"name\": \"sctd_Name\",\n \"value\": \"Subscription fee\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srgd_Name\",\n \"name\": \"srgd_Name\",\n \"value\": \"M2M monthly payment\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srv_Code\",\n \"name\": \"srv_Code\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grtd_Name\",\n \"name\": \"grtd_Name\",\n \"value\": \"M2M Advanced\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"tp_Code\",\n \"name\": \"tp_Code\",\n \"value\": \"1821105\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"dnm_Name\",\n \"name\": \"dnm_Name\",\n \"value\": \"АП за ТП без ПДВ та ПФ\",\n \"valueType\": \"string\"\n }\n ],\n \"date\": \"2024-07-25T23:59:59\",\n \"description\": \"АП за месяц\",\n \"id\": 1021995201,\n \"isBilled\": true,\n \"logicalResource\": [\n {\n \"name\": \"MSISDN\",\n \"value\": \"380674920757\"\n }\n ],\n \"name\": \"M2M Monthly Fee\",\n \"note\": [\n {\n \"author\": \"wcb_etl_process\",\n \"date\": \"2024-07-12T14:30:09.783\",\n \"hostname\": \"RDP-NAPTEC\"\n }\n ],\n \"periodCoverage\": {\n \"startDateTime\": \"2024-06-26T00:00:00\",\n \"endDateTime\": \"2024-07-25T23:59:59\"\n },\n \"product\": {\n \"@referredType\": \"TariffPackage\",\n \"@type\": \"ProductRef\",\n \"id\": \"03-6225\",\n \"name\": \"IoT Platform 30\"\n },\n \"relatedParty\": [\n {\n \"@referredType\": \"Customers\",\n \"id\": \"5867133\",\n \"IDType\": 0\n }\n ],\n \"state\": \"normal\",\n \"taxExcludedAmount\": {\n \"unit\": \"UAH\",\n \"value\": 23.53\n },\n \"taxIncludedAmount\": {\n \"unit\": \"UAH\",\n \"value\": 23.53\n }\n},\n{\n \"appliedBillingRateSubType\": \"recurringCharge\",\n \"appliedBillingRateType\": \"appliedBillingCharge\",\n \"bill\": {\n \"@referredType\": \"CustomerBill\",\n \"@type\": \"CustomerBillRef\",\n \"id\": \"1418687097\",\n \"name\": \"624410400\"\n },\n \"billingAccount\": {\n \"@referredType\": \"BillingAccount\",\n \"@type\": \"BillingAccountRef\",\n \"id\": \"4067719\",\n \"name\": \"11338610\"\n },\n \"billCycleNo\": \"10030952\",\n \"characteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"characteristicRelationship\": {\n \"@type\": \"CharacteristicRelationship\",\n \"id\": \"1\",\n \"relationshipType\": \"billedAs\"\n },\n \"id\": \"srg_ID_bll\",\n \"name\": \"srg_ID_bll\",\n \"value\": \"216\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sech_DiscountAmount\",\n \"name\": \"sech_DiscountAmount\",\n \"value\": \"0.0\",\n \"valueType\": \"number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sech_DayCount\",\n \"name\": \"sech_DayCount\",\n \"value\": \"30\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sct_ID\",\n \"name\": \"sct_ID\",\n \"value\": \"2\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srg_ID\",\n \"name\": \"srg_ID\",\n \"value\": \"216\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grt_ID\",\n \"name\": \"grt_ID\",\n \"value\": \"153\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"dnm_ID\",\n \"name\": \"dnm_ID\",\n \"value\": \"216\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grt_ExternalID\",\n \"name\": \"grt_ExternalID\",\n \"value\": \"12000\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"idTariffPlan\",\n \"name\": \"idTariffPlan\",\n \"value\": \"6225\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sctd_Name\",\n \"name\": \"sctd_Name\",\n \"value\": \"Subscription fee\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srgd_Name\",\n \"name\": \"srgd_Name\",\n \"value\": \"M2M monthly payment traffic\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srv_Code\",\n \"name\": \"srv_Code\",\n \"value\": \"9301\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grtd_Name\",\n \"name\": \"grtd_Name\",\n \"value\": \"M2M Advanced\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"tp_Code\",\n \"name\": \"tp_Code\",\n \"value\": \"1821105\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"dnm_Name\",\n \"name\": \"dnm_Name\",\n \"value\": \"Передача даних в Україні\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"dtg_UsageType\",\n \"name\": \"dtg_UsageType\",\n \"value\": \"data\",\n \"valueType\": \"string\"\n }\n ],\n \"date\": \"2024-07-25T23:59:59\",\n \"description\": \"by counter\",\n \"id\": 1021995202,\n \"isBilled\": true,\n \"logicalResource\": [\n {\n \"name\": \"MSISDN\",\n \"value\": \"380674920757\"\n }\n ],\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\n \"note\": [\n {\n \"author\": \"wcb_etl_process\",\n \"date\": \"2024-07-12T14:30:09.787\",\n \"hostname\": \"RDP-NAPTEC\"\n }\n ],\n \"periodCoverage\": {\n \"startDateTime\": \"2024-06-26T00:00:00\",\n \"endDateTime\": \"2024-07-25T23:59:59\"\n },\n \"product\": {\n \"@referredType\": \"TariffPackage\",\n \"@type\": \"ProductRef\",\n \"id\": \"03-6225\",\n \"name\": \"IoT Platform 30\"\n },\n \"relatedParty\": [\n {\n \"@referredType\": \"Customers\",\n \"id\": \"5867133\",\n \"IDType\": 0\n }\n ],\n \"state\": \"normal\",\n \"taxExcludedAmount\": {\n \"unit\": \"UAH\",\n \"value\": 7.84\n },\n \"taxIncludedAmount\": {\n \"unit\": \"UAH\",\n \"value\": 7.84\n }\n},\n{\n \"appliedBillingRateSubType\": \"recurringCharge\",\n \"appliedBillingRateType\": \"appliedBillingCharge\",\n \"bill\": {\n \"@referredType\": \"CustomerBill\",\n \"@type\": \"CustomerBillRef\",\n \"id\": \"1418687097\",\n \"name\": \"624410400\"\n },\n \"billingAccount\": {\n \"@referredType\": \"BillingAccount\",\n \"@type\": \"BillingAccountRef\",\n \"id\": \"4067719\",\n \"name\": \"11338610\"\n },\n \"billCycleNo\": \"10030952\",\n \"characteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"characteristicRelationship\": {\n \"@type\": \"CharacteristicRelationship\",\n \"id\": \"1\",\n \"relationshipType\": \"billedAs\"\n },\n \"id\": \"srg_ID_bll\",\n \"name\": \"srg_ID_bll\",\n \"value\": \"215\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sech_DiscountAmount\",\n \"name\": \"sech_DiscountAmount\",\n \"value\": \"0.0\",\n \"valueType\": \"number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sech_DayCount\",\n \"name\": \"sech_DayCount\",\n \"value\": \"30\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sct_ID\",\n \"name\": \"sct_ID\",\n \"value\": \"2\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srg_ID\",\n \"name\": \"srg_ID\",\n \"value\": \"215\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grt_ID\",\n \"name\": \"grt_ID\",\n \"value\": \"153\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"dnm_ID\",\n \"name\": \"dnm_ID\",\n \"value\": \"260\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grt_ExternalID\",\n \"name\": \"grt_ExternalID\",\n \"value\": \"12000\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"idTariffPlan\",\n \"name\": \"idTariffPlan\",\n \"value\": \"6225\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sctd_Name\",\n \"name\": \"sctd_Name\",\n \"value\": \"Subscription fee\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srgd_Name\",\n \"name\": \"srgd_Name\",\n \"value\": \"M2M monthly payment\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srv_Code\",\n \"name\": \"srv_Code\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grtd_Name\",\n \"name\": \"grtd_Name\",\n \"value\": \"M2M Advanced\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"tp_Code\",\n \"name\": \"tp_Code\",\n \"value\": \"1821105\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"dnm_Name\",\n \"name\": \"dnm_Name\",\n \"value\": \"АП за ТП без ПДВ та ПФ\",\n \"valueType\": \"string\"\n }\n ],\n \"date\": \"2024-07-25T23:59:59\",\n \"description\": \"АП за месяц\",\n \"id\": 1021995203,\n \"isBilled\": true,\n \"logicalResource\": [\n {\n \"name\": \"MSISDN\",\n \"value\": \"380674920759\"\n }\n ],\n \"name\": \"M2M Monthly Fee\",\n \"note\": [\n {\n \"author\": \"wcb_etl_process\",\n \"date\": \"2024-07-12T14:31:16.94\",\n \"hostname\": \"RDP-NAPTEC\"\n }\n ],\n \"periodCoverage\": {\n \"startDateTime\": \"2024-06-26T00:00:00\",\n \"endDateTime\": \"2024-07-25T23:59:59\"\n },\n \"product\": {\n \"@referredType\": \"TariffPackage\",\n \"@type\": \"ProductRef\",\n \"id\": \"03-6225\",\n \"name\": \"IoT Platform 30\"\n },\n \"relatedParty\": [\n {\n \"@referredType\": \"Customers\",\n \"id\": \"5867133\",\n \"IDType\": 0\n }\n ],\n \"state\": \"normal\",\n \"taxExcludedAmount\": {\n \"unit\": \"UAH\",\n \"value\": 23.53\n },\n \"taxIncludedAmount\": {\n \"unit\": \"UAH\",\n \"value\": 23.53\n }\n},\n{\n \"appliedBillingRateSubType\": \"recurringCharge\",\n \"appliedBillingRateType\": \"appliedBillingCharge\",\n \"bill\": {\n \"@referredType\": \"CustomerBill\",\n \"@type\": \"CustomerBillRef\",\n \"id\": \"1418687097\",\n \"name\": \"624410400\"\n },\n \"billingAccount\": {\n \"@referredType\": \"BillingAccount\",\n \"@type\": \"BillingAccountRef\",\n \"id\": \"4067719\",\n \"name\": \"11338610\"\n },\n \"billCycleNo\": \"10030952\",\n \"characteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"characteristicRelationship\": {\n \"@type\": \"CharacteristicRelationship\",\n \"id\": \"1\",\n \"relationshipType\": \"billedAs\"\n },\n \"id\": \"srg_ID_bll\",\n \"name\": \"srg_ID_bll\",\n \"value\": \"215\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sech_DiscountAmount\",\n \"name\": \"sech_DiscountAmount\",\n \"value\": \"0.0\",\n \"valueType\": \"number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sech_DayCount\",\n \"name\": \"sech_DayCount\",\n \"value\": \"30\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sct_ID\",\n \"name\": \"sct_ID\",\n \"value\": \"2\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srg_ID\",\n \"name\": \"srg_ID\",\n \"value\": \"215\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grt_ID\",\n \"name\": \"grt_ID\",\n \"value\": \"153\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"dnm_ID\",\n \"name\": \"dnm_ID\",\n \"value\": \"260\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grt_ExternalID\",\n \"name\": \"grt_ExternalID\",\n \"value\": \"12000\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"idTariffPlan\",\n \"name\": \"idTariffPlan\",\n \"value\": \"6225\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sctd_Name\",\n \"name\": \"sctd_Name\",\n \"value\": \"Subscription fee\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srgd_Name\",\n \"name\": \"srgd_Name\",\n \"value\": \"M2M monthly payment\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srv_Code\",\n \"name\": \"srv_Code\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grtd_Name\",\n \"name\": \"grtd_Name\",\n \"value\": \"M2M Advanced\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"tp_Code\",\n \"name\": \"tp_Code\",\n \"value\": \"1821105\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"dnm_Name\",\n \"name\": \"dnm_Name\",\n \"value\": \"АП за ТП без ПДВ та ПФ\",\n \"valueType\": \"string\"\n }\n ],\n \"date\": \"2024-07-25T23:59:59\",\n \"description\": \"АП за месяц\",\n \"id\": 1021995204,\n \"isBilled\": true,\n \"logicalResource\": [\n {\n \"name\": \"MSISDN\",\n \"value\": \"380674920765\"\n }\n ],\n \"name\": \"M2M Monthly Fee\",\n \"note\": [\n {\n \"author\": \"wcb_etl_process\",\n \"date\": \"2024-07-12T14:31:45.097\",\n \"hostname\": \"RDP-NAPTEC\"\n }\n ],\n \"periodCoverage\": {\n \"startDateTime\": \"2024-06-26T00:00:00\",\n \"endDateTime\": \"2024-07-25T23:59:59\"\n },\n \"product\": {\n \"@referredType\": \"TariffPackage\",\n \"@type\": \"ProductRef\",\n \"id\": \"03-6225\",\n \"name\": \"IoT Platform 30\"\n },\n \"relatedParty\": [\n {\n \"@referredType\": \"Customers\",\n \"id\": \"5867133\",\n \"IDType\": 0\n }\n ],\n \"state\": \"normal\",\n \"taxExcludedAmount\": {\n \"unit\": \"UAH\",\n \"value\": 23.53\n },\n \"taxIncludedAmount\": {\n \"unit\": \"UAH\",\n \"value\": 23.53\n }\n},\n{\n \"appliedBillingRateSubType\": \"recurringCharge\",\n \"appliedBillingRateType\": \"appliedBillingCharge\",\n \"bill\": {\n \"@referredType\": \"CustomerBill\",\n \"@type\": \"CustomerBillRef\",\n \"id\": \"1418687100\",\n \"name\": \"624410403\"\n },\n \"billingAccount\": {\n \"@referredType\": \"BillingAccount\",\n \"@type\": \"BillingAccountRef\",\n \"id\": \"6836892\",\n \"name\": \"75001739432\"\n },\n \"billCycleNo\": \"10030952\",\n \"characteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"characteristicRelationship\": {\n \"@type\": \"CharacteristicRelationship\",\n \"id\": \"1\",\n \"relationshipType\": \"billedAs\"\n },\n \"id\": \"srg_ID_bll\",\n \"name\": \"srg_ID_bll\",\n \"value\": \"215\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sech_DiscountAmount\",\n \"name\": \"sech_DiscountAmount\",\n \"value\": \"0.0\",\n \"valueType\": \"number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sech_DayCount\",\n \"name\": \"sech_DayCount\",\n \"value\": \"30\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sct_ID\",\n \"name\": \"sct_ID\",\n \"value\": \"2\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srg_ID\",\n \"name\": \"srg_ID\",\n \"value\": \"215\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grt_ID\",\n \"name\": \"grt_ID\",\n \"value\": \"153\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"dnm_ID\",\n \"name\": \"dnm_ID\",\n \"value\": \"260\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grt_ExternalID\",\n \"name\": \"grt_ExternalID\",\n \"value\": \"12000\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"idTariffPlan\",\n \"name\": \"idTariffPlan\",\n \"value\": \"6225\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sctd_Name\",\n \"name\": \"sctd_Name\",\n \"value\": \"Subscription fee\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srgd_Name\",\n \"name\": \"srgd_Name\",\n \"value\": \"M2M monthly payment\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srv_Code\",\n \"name\": \"srv_Code\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grtd_Name\",\n \"name\": \"grtd_Name\",\n \"value\": \"M2M Advanced\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"tp_Code\",\n \"name\": \"tp_Code\",\n \"value\": \"1821105\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"dnm_Name\",\n \"name\": \"dnm_Name\",\n \"value\": \"АП за ТП без ПДВ та ПФ\",\n \"valueType\": \"string\"\n }\n ],\n \"date\": \"2024-07-25T23:59:59\",\n \"description\": \"АП за месяц\",\n \"id\": 1021995205,\n \"isBilled\": true,\n \"logicalResource\": [\n {\n \"name\": \"MSISDN\",\n \"value\": \"380674984472\"\n }\n ],\n \"name\": \"M2M Monthly Fee\",\n \"note\": [\n {\n \"author\": \"wcb_etl_process\",\n \"date\": \"2024-07-12T14:32:07.603\",\n \"hostname\": \"RDP-NAPTEC\"\n }\n ],\n \"periodCoverage\": {\n \"startDateTime\": \"2024-06-26T00:00:00\",\n \"endDateTime\": \"2024-07-25T23:59:59\"\n },\n \"product\": {\n \"@referredType\": \"TariffPackage\",\n \"@type\": \"ProductRef\",\n \"id\": \"03-6225\",\n \"name\": \"IoT Platform 30\"\n },\n \"relatedParty\": [\n {\n \"@referredType\": \"Customers\",\n \"id\": \"8662819\",\n \"IDType\": 0\n }\n ],\n \"state\": \"normal\",\n \"taxExcludedAmount\": {\n \"unit\": \"UAH\",\n \"value\": 23.53\n },\n \"taxIncludedAmount\": {\n \"unit\": \"UAH\",\n \"value\": 23.53\n }\n},\n{\n \"appliedBillingRateSubType\": \"recurringCharge\",\n \"appliedBillingRateType\": \"appliedBillingCharge\",\n \"bill\": {\n \"@referredType\": \"CustomerBill\",\n \"@type\": \"CustomerBillRef\",\n \"id\": \"1418687100\",\n \"name\": \"624410403\"\n },\n \"billingAccount\": {\n \"@referredType\": \"BillingAccount\",\n \"@type\": \"BillingAccountRef\",\n \"id\": \"6836892\",\n \"name\": \"75001739432\"\n },\n \"billCycleNo\": \"10030952\",\n \"characteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"characteristicRelationship\": {\n \"@type\": \"CharacteristicRelationship\",\n \"id\": \"1\",\n \"relationshipType\": \"billedAs\"\n },\n \"id\": \"srg_ID_bll\",\n \"name\": \"srg_ID_bll\",\n \"value\": \"215\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sech_DiscountAmount\",\n \"name\": \"sech_DiscountAmount\",\n \"value\": \"0.0\",\n \"valueType\": \"number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sech_DayCount\",\n \"name\": \"sech_DayCount\",\n \"value\": \"30\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sct_ID\",\n \"name\": \"sct_ID\",\n \"value\": \"2\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srg_ID\",\n \"name\": \"srg_ID\",\n \"value\": \"215\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grt_ID\",\n \"name\": \"grt_ID\",\n \"value\": \"153\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"dnm_ID\",\n \"name\": \"dnm_ID\",\n \"value\": \"260\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grt_ExternalID\",\n \"name\": \"grt_ExternalID\",\n \"value\": \"12000\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"idTariffPlan\",\n \"name\": \"idTariffPlan\",\n \"value\": \"6225\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sctd_Name\",\n \"name\": \"sctd_Name\",\n \"value\": \"Subscription fee\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srgd_Name\",\n \"name\": \"srgd_Name\",\n \"value\": \"M2M monthly payment\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srv_Code\",\n \"name\": \"srv_Code\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grtd_Name\",\n \"name\": \"grtd_Name\",\n \"value\": \"M2M Advanced\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"tp_Code\",\n \"name\": \"tp_Code\",\n \"value\": \"1821105\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"dnm_Name\",\n \"name\": \"dnm_Name\",\n \"value\": \"АП за ТП без ПДВ та ПФ\",\n \"valueType\": \"string\"\n }\n ],\n \"date\": \"2024-07-25T23:59:59\",\n \"description\": \"АП за месяц\",\n \"id\": 1021995206,\n \"isBilled\": true,\n \"logicalResource\": [\n {\n \"name\": \"MSISDN\",\n \"value\": \"380674985350\"\n }\n ],\n \"name\": \"M2M Monthly Fee\",\n \"note\": [\n {\n \"author\": \"wcb_etl_process\",\n \"date\": \"2024-07-12T14:32:29.39\",\n \"hostname\": \"RDP-NAPTEC\"\n }\n ],\n \"periodCoverage\": {\n \"startDateTime\": \"2024-06-26T00:00:00\",\n \"endDateTime\": \"2024-07-25T23:59:59\"\n },\n \"product\": {\n \"@referredType\": \"TariffPackage\",\n \"@type\": \"ProductRef\",\n \"id\": \"03-6225\",\n \"name\": \"IoT Platform 30\"\n },\n \"relatedParty\": [\n {\n \"@referredType\": \"Customers\",\n \"id\": \"8662819\",\n \"IDType\": 0\n }\n ],\n \"state\": \"normal\",\n \"taxExcludedAmount\": {\n \"unit\": \"UAH\",\n \"value\": 23.53\n },\n \"taxIncludedAmount\": {\n \"unit\": \"UAH\",\n \"value\": 23.53\n }\n},\n{\n \"appliedBillingRateSubType\": \"recurringCharge\",\n \"appliedBillingRateType\": \"appliedBillingCharge\",\n \"bill\": {\n \"@referredType\": \"CustomerBill\",\n \"@type\": \"CustomerBillRef\",\n \"id\": \"1418687100\",\n \"name\": \"624410403\"\n },\n \"billingAccount\": {\n \"@referredType\": \"BillingAccount\",\n \"@type\": \"BillingAccountRef\",\n \"id\": \"6836892\",\n \"name\": \"75001739432\"\n },\n \"billCycleNo\": \"10030952\",\n \"characteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"characteristicRelationship\": {\n \"@type\": \"CharacteristicRelationship\",\n \"id\": \"1\",\n \"relationshipType\": \"billedAs\"\n },\n \"id\": \"srg_ID_bll\",\n \"name\": \"srg_ID_bll\",\n \"value\": \"215\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sech_DiscountAmount\",\n \"name\": \"sech_DiscountAmount\",\n \"value\": \"0.0\",\n \"valueType\": \"number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sech_DayCount\",\n \"name\": \"sech_DayCount\",\n \"value\": \"30\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sct_ID\",\n \"name\": \"sct_ID\",\n \"value\": \"2\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srg_ID\",\n \"name\": \"srg_ID\",\n \"value\": \"215\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grt_ID\",\n \"name\": \"grt_ID\",\n \"value\": \"153\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"dnm_ID\",\n \"name\": \"dnm_ID\",\n \"value\": \"260\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grt_ExternalID\",\n \"name\": \"grt_ExternalID\",\n \"value\": \"12000\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"idTariffPlan\",\n \"name\": \"idTariffPlan\",\n \"value\": \"6225\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sctd_Name\",\n \"name\": \"sctd_Name\",\n \"value\": \"Subscription fee\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srgd_Name\",\n \"name\": \"srgd_Name\",\n \"value\": \"M2M monthly payment\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srv_Code\",\n \"name\": \"srv_Code\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grtd_Name\",\n \"name\": \"grtd_Name\",\n \"value\": \"M2M Advanced\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"tp_Code\",\n \"name\": \"tp_Code\",\n \"value\": \"1821105\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"dnm_Name\",\n \"name\": \"dnm_Name\",\n \"value\": \"АП за ТП без ПДВ та ПФ\",\n \"valueType\": \"string\"\n }\n ],\n \"date\": \"2024-07-25T23:59:59\",\n \"description\": \"АП за месяц\",\n \"id\": 1021995207,\n \"isBilled\": true,\n \"logicalResource\": [\n {\n \"name\": \"MSISDN\",\n \"value\": \"380675255616\"\n }\n ],\n \"name\": \"M2M Monthly Fee\",\n \"note\": [\n {\n \"author\": \"wcb_etl_process\",\n \"date\": \"2024-07-12T14:32:44.857\",\n \"hostname\": \"RDP-NAPTEC\"\n }\n ],\n \"periodCoverage\": {\n \"startDateTime\": \"2024-06-26T00:00:00\",\n \"endDateTime\": \"2024-07-25T23:59:59\"\n },\n \"product\": {\n \"@referredType\": \"TariffPackage\",\n \"@type\": \"ProductRef\",\n \"id\": \"03-6225\",\n \"name\": \"IoT Platform 30\"\n },\n \"relatedParty\": [\n {\n \"@referredType\": \"Customers\",\n \"id\": \"8662819\",\n \"IDType\": 0\n }\n ],\n \"state\": \"normal\",\n \"taxExcludedAmount\": {\n \"unit\": \"UAH\",\n \"value\": 23.53\n },\n \"taxIncludedAmount\": {\n \"unit\": \"UAH\",\n \"value\": 23.53\n }\n},\n{\n \"appliedBillingRateSubType\": \"recurringCharge\",\n \"appliedBillingRateType\": \"appliedBillingCharge\",\n \"bill\": {\n \"@referredType\": \"CustomerBill\",\n \"@type\": \"CustomerBillRef\",\n \"id\": \"1418687100\",\n \"name\": \"624410403\"\n },\n \"billingAccount\": {\n \"@referredType\": \"BillingAccount\",\n \"@type\": \"BillingAccountRef\",\n \"id\": \"6836892\",\n \"name\": \"75001739432\"\n },\n \"billCycleNo\": \"10030952\",\n \"characteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"characteristicRelationship\": {\n \"@type\": \"CharacteristicRelationship\",\n \"id\": \"1\",\n \"relationshipType\": \"billedAs\"\n },\n \"id\": \"srg_ID_bll\",\n \"name\": \"srg_ID_bll\",\n \"value\": \"216\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sech_DiscountAmount\",\n \"name\": \"sech_DiscountAmount\",\n \"value\": \"0.0\",\n \"valueType\": \"number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sech_DayCount\",\n \"name\": \"sech_DayCount\",\n \"value\": \"30\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sct_ID\",\n \"name\": \"sct_ID\",\n \"value\": \"2\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srg_ID\",\n \"name\": \"srg_ID\",\n \"value\": \"216\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grt_ID\",\n \"name\": \"grt_ID\",\n \"value\": \"153\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"dnm_ID\",\n \"name\": \"dnm_ID\",\n \"value\": \"216\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grt_ExternalID\",\n \"name\": \"grt_ExternalID\",\n \"value\": \"12000\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"idTariffPlan\",\n \"name\": \"idTariffPlan\",\n \"value\": \"6225\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sctd_Name\",\n \"name\": \"sctd_Name\",\n \"value\": \"Subscription fee\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srgd_Name\",\n \"name\": \"srgd_Name\",\n \"value\": \"M2M monthly payment traffic\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srv_Code\",\n \"name\": \"srv_Code\",\n \"value\": \"9301\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grtd_Name\",\n \"name\": \"grtd_Name\",\n \"value\": \"M2M Advanced\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"tp_Code\",\n \"name\": \"tp_Code\",\n \"value\": \"1821105\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"dnm_Name\",\n \"name\": \"dnm_Name\",\n \"value\": \"Передача даних в Україні\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"dtg_UsageType\",\n \"name\": \"dtg_UsageType\",\n \"value\": \"data\",\n \"valueType\": \"string\"\n }\n ],\n \"date\": \"2024-07-25T23:59:59\",\n \"description\": \"by counter\",\n \"id\": 1021995208,\n \"isBilled\": true,\n \"logicalResource\": [\n {\n \"name\": \"MSISDN\",\n \"value\": \"380675255616\"\n }\n ],\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\n \"note\": [\n {\n \"author\": \"wcb_etl_process\",\n \"date\": \"2024-07-12T14:32:44.86\",\n \"hostname\": \"RDP-NAPTEC\"\n }\n ],\n \"periodCoverage\": {\n \"startDateTime\": \"2024-06-26T00:00:00\",\n \"endDateTime\": \"2024-07-25T23:59:59\"\n },\n \"product\": {\n \"@referredType\": \"TariffPackage\",\n \"@type\": \"ProductRef\",\n \"id\": \"03-6225\",\n \"name\": \"IoT Platform 30\"\n },\n \"relatedParty\": [\n {\n \"@referredType\": \"Customers\",\n \"id\": \"8662819\",\n \"IDType\": 0\n }\n ],\n \"state\": \"normal\",\n \"taxExcludedAmount\": {\n \"unit\": \"UAH\",\n \"value\": 35.29\n },\n \"taxIncludedAmount\": {\n \"unit\": \"UAH\",\n \"value\": 35.29\n }\n},\n{\n \"appliedBillingRateSubType\": \"recurringCharge\",\n \"appliedBillingRateType\": \"appliedBillingCharge\",\n \"bill\": {\n \"@referredType\": \"CustomerBill\",\n \"@type\": \"CustomerBillRef\",\n \"id\": \"1418687100\",\n \"name\": \"624410403\"\n },\n \"billingAccount\": {\n \"@referredType\": \"BillingAccount\",\n \"@type\": \"BillingAccountRef\",\n \"id\": \"6836892\",\n \"name\": \"75001739432\"\n },\n \"billCycleNo\": \"10030952\",\n \"characteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"characteristicRelationship\": {\n \"@type\": \"CharacteristicRelationship\",\n \"id\": \"1\",\n \"relationshipType\": \"billedAs\"\n },\n \"id\": \"srg_ID_bll\",\n \"name\": \"srg_ID_bll\",\n \"value\": \"215\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sech_DiscountAmount\",\n \"name\": \"sech_DiscountAmount\",\n \"value\": \"0.0\",\n \"valueType\": \"number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sech_DayCount\",\n \"name\": \"sech_DayCount\",\n \"value\": \"30\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sct_ID\",\n \"name\": \"sct_ID\",\n \"value\": \"2\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srg_ID\",\n \"name\": \"srg_ID\",\n \"value\": \"215\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grt_ID\",\n \"name\": \"grt_ID\",\n \"value\": \"153\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"dnm_ID\",\n \"name\": \"dnm_ID\",\n \"value\": \"260\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grt_ExternalID\",\n \"name\": \"grt_ExternalID\",\n \"value\": \"12000\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"idTariffPlan\",\n \"name\": \"idTariffPlan\",\n \"value\": \"6225\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sctd_Name\",\n \"name\": \"sctd_Name\",\n \"value\": \"Subscription fee\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srgd_Name\",\n \"name\": \"srgd_Name\",\n \"value\": \"M2M monthly payment\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srv_Code\",\n \"name\": \"srv_Code\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grtd_Name\",\n \"name\": \"grtd_Name\",\n \"value\": \"M2M Advanced\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"tp_Code\",\n \"name\": \"tp_Code\",\n \"value\": \"1821105\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"dnm_Name\",\n \"name\": \"dnm_Name\",\n \"value\": \"АП за ТП без ПДВ та ПФ\",\n \"valueType\": \"string\"\n }\n ],\n \"date\": \"2024-07-25T23:59:59\",\n \"description\": \"АП за месяц\",\n \"id\": 1021995209,\n \"isBilled\": true,\n \"logicalResource\": [\n {\n \"name\": \"MSISDN\",\n \"value\": \"380675255618\"\n }\n ],\n \"name\": \"M2M Monthly Fee\",\n \"note\": [\n {\n \"author\": \"wcb_etl_process\",\n \"date\": \"2024-07-12T14:33:11.9\",\n \"hostname\": \"RDP-NAPTEC\"\n }\n ],\n \"periodCoverage\": {\n \"startDateTime\": \"2024-06-26T00:00:00\",\n \"endDateTime\": \"2024-07-25T23:59:59\"\n },\n \"product\": {\n \"@referredType\": \"TariffPackage\",\n \"@type\": \"ProductRef\",\n \"id\": \"03-6225\",\n \"name\": \"IoT Platform 30\"\n },\n \"relatedParty\": [\n {\n \"@referredType\": \"Customers\",\n \"id\": \"8662819\",\n \"IDType\": 0\n }\n ],\n \"state\": \"normal\",\n \"taxExcludedAmount\": {\n \"unit\": \"UAH\",\n \"value\": 23.53\n },\n \"taxIncludedAmount\": {\n \"unit\": \"UAH\",\n \"value\": 23.53\n }\n},\n{\n \"appliedBillingRateSubType\": \"recurringCharge\",\n \"appliedBillingRateType\": \"appliedBillingCharge\",\n \"bill\": {\n \"@referredType\": \"CustomerBill\",\n \"@type\": \"CustomerBillRef\",\n \"id\": \"1418687100\",\n \"name\": \"624410403\"\n },\n \"billingAccount\": {\n \"@referredType\": \"BillingAccount\",\n \"@type\": \"BillingAccountRef\",\n \"id\": \"6836892\",\n \"name\": \"75001739432\"\n },\n \"billCycleNo\": \"10030952\",\n \"characteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"characteristicRelationship\": {\n \"@type\": \"CharacteristicRelationship\",\n \"id\": \"1\",\n \"relationshipType\": \"billedAs\"\n },\n \"id\": \"srg_ID_bll\",\n \"name\": \"srg_ID_bll\",\n \"value\": \"215\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sech_DiscountAmount\",\n \"name\": \"sech_DiscountAmount\",\n \"value\": \"0.0\",\n \"valueType\": \"number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sech_DayCount\",\n \"name\": \"sech_DayCount\",\n \"value\": \"30\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sct_ID\",\n \"name\": \"sct_ID\",\n \"value\": \"2\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srg_ID\",\n \"name\": \"srg_ID\",\n \"value\": \"215\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grt_ID\",\n \"name\": \"grt_ID\",\n \"value\": \"153\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"dnm_ID\",\n \"name\": \"dnm_ID\",\n \"value\": \"260\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grt_ExternalID\",\n \"name\": \"grt_ExternalID\",\n \"value\": \"12000\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"idTariffPlan\",\n \"name\": \"idTariffPlan\",\n \"value\": \"6225\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sctd_Name\",\n \"name\": \"sctd_Name\",\n \"value\": \"Subscription fee\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srgd_Name\",\n \"name\": \"srgd_Name\",\n \"value\": \"M2M monthly payment\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srv_Code\",\n \"name\": \"srv_Code\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grtd_Name\",\n \"name\": \"grtd_Name\",\n \"value\": \"M2M Advanced\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"tp_Code\",\n \"name\": \"tp_Code\",\n \"value\": \"1821105\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"dnm_Name\",\n \"name\": \"dnm_Name\",\n \"value\": \"АП за ТП без ПДВ та ПФ\",\n \"valueType\": \"string\"\n }\n ],\n \"date\": \"2024-07-25T23:59:59\",\n \"description\": \"АП за месяц\",\n \"id\": 1021995210,\n \"isBilled\": true,\n \"logicalResource\": [\n {\n \"name\": \"MSISDN\",\n \"value\": \"380675255733\"\n }\n ],\n \"name\": \"M2M Monthly Fee\",\n \"note\": [\n {\n \"author\": \"wcb_etl_process\",\n \"date\": \"2024-07-12T14:33:33.263\",\n \"hostname\": \"RDP-NAPTEC\"\n }\n ],\n \"periodCoverage\": {\n \"startDateTime\": \"2024-06-26T00:00:00\",\n \"endDateTime\": \"2024-07-25T23:59:59\"\n },\n \"product\": {\n \"@referredType\": \"TariffPackage\",\n \"@type\": \"ProductRef\",\n \"id\": \"03-6225\",\n \"name\": \"IoT Platform 30\"\n },\n \"relatedParty\": [\n {\n \"@referredType\": \"Customers\",\n \"id\": \"8662819\",\n \"IDType\": 0\n }\n ],\n \"state\": \"normal\",\n \"taxExcludedAmount\": {\n \"unit\": \"UAH\",\n \"value\": 23.53\n },\n \"taxIncludedAmount\": {\n \"unit\": \"UAH\",\n \"value\": 23.53\n }\n},\n{\n \"appliedBillingRateSubType\": \"recurringCharge\",\n \"appliedBillingRateType\": \"appliedBillingCharge\",\n \"bill\": {\n \"@referredType\": \"CustomerBill\",\n \"@type\": \"CustomerBillRef\",\n \"id\": \"1418687100\",\n \"name\": \"624410403\"\n },\n \"billingAccount\": {\n \"@referredType\": \"BillingAccount\",\n \"@type\": \"BillingAccountRef\",\n \"id\": \"6836892\",\n \"name\": \"75001739432\"\n },\n \"billCycleNo\": \"10030952\",\n \"characteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"characteristicRelationship\": {\n \"@type\": \"CharacteristicRelationship\",\n \"id\": \"1\",\n \"relationshipType\": \"billedAs\"\n },\n \"id\": \"srg_ID_bll\",\n \"name\": \"srg_ID_bll\",\n \"value\": \"215\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sech_DiscountAmount\",\n \"name\": \"sech_DiscountAmount\",\n \"value\": \"0.0\",\n \"valueType\": \"number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sech_DayCount\",\n \"name\": \"sech_DayCount\",\n \"value\": \"30\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sct_ID\",\n \"name\": \"sct_ID\",\n \"value\": \"2\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srg_ID\",\n \"name\": \"srg_ID\",\n \"value\": \"215\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grt_ID\",\n \"name\": \"grt_ID\",\n \"value\": \"153\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"dnm_ID\",\n \"name\": \"dnm_ID\",\n \"value\": \"260\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grt_ExternalID\",\n \"name\": \"grt_ExternalID\",\n \"value\": \"12000\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"idTariffPlan\",\n \"name\": \"idTariffPlan\",\n \"value\": \"6225\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sctd_Name\",\n \"name\": \"sctd_Name\",\n \"value\": \"Subscription fee\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srgd_Name\",\n \"name\": \"srgd_Name\",\n \"value\": \"M2M monthly payment\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srv_Code\",\n \"name\": \"srv_Code\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grtd_Name\",\n \"name\": \"grtd_Name\",\n \"value\": \"M2M Advanced\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"tp_Code\",\n \"name\": \"tp_Code\",\n \"value\": \"1821105\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"dnm_Name\",\n \"name\": \"dnm_Name\",\n \"value\": \"АП за ТП без ПДВ та ПФ\",\n \"valueType\": \"string\"\n }\n ],\n \"date\": \"2024-07-25T23:59:59\",\n \"description\": \"АП за месяц\",\n \"id\": 1021995211,\n \"isBilled\": true,\n \"logicalResource\": [\n {\n \"name\": \"MSISDN\",\n \"value\": \"380675255761\"\n }\n ],\n \"name\": \"M2M Monthly Fee\",\n \"note\": [\n {\n \"author\": \"wcb_etl_process\",\n \"date\": \"2024-07-12T14:33:52.06\",\n \"hostname\": \"RDP-NAPTEC\"\n }\n ],\n \"periodCoverage\": {\n \"startDateTime\": \"2024-06-26T00:00:00\",\n \"endDateTime\": \"2024-07-25T23:59:59\"\n },\n \"product\": {\n \"@referredType\": \"TariffPackage\",\n \"@type\": \"ProductRef\",\n \"id\": \"03-6225\",\n \"name\": \"IoT Platform 30\"\n },\n \"relatedParty\": [\n {\n \"@referredType\": \"Customers\",\n \"id\": \"8662819\",\n \"IDType\": 0\n }\n ],\n \"state\": \"normal\",\n \"taxExcludedAmount\": {\n \"unit\": \"UAH\",\n \"value\": 23.53\n },\n \"taxIncludedAmount\": {\n \"unit\": \"UAH\",\n \"value\": 23.53\n }\n},\n{\n \"appliedBillingRateSubType\": \"recurringCharge\",\n \"appliedBillingRateType\": \"appliedBillingCharge\",\n \"bill\": {\n \"@referredType\": \"CustomerBill\",\n \"@type\": \"CustomerBillRef\",\n \"id\": \"1418687100\",\n \"name\": \"624410403\"\n },\n \"billingAccount\": {\n \"@referredType\": \"BillingAccount\",\n \"@type\": \"BillingAccountRef\",\n \"id\": \"6836892\",\n \"name\": \"75001739432\"\n },\n \"billCycleNo\": \"10030952\",\n \"characteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"characteristicRelationship\": {\n \"@type\": \"CharacteristicRelationship\",\n \"id\": \"1\",\n \"relationshipType\": \"billedAs\"\n },\n \"id\": \"srg_ID_bll\",\n \"name\": \"srg_ID_bll\",\n \"value\": \"215\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sech_DiscountAmount\",\n \"name\": \"sech_DiscountAmount\",\n \"value\": \"0.0\",\n \"valueType\": \"number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sech_DayCount\",\n \"name\": \"sech_DayCount\",\n \"value\": \"30\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sct_ID\",\n \"name\": \"sct_ID\",\n \"value\": \"2\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srg_ID\",\n \"name\": \"srg_ID\",\n \"value\": \"215\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grt_ID\",\n \"name\": \"grt_ID\",\n \"value\": \"153\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"dnm_ID\",\n \"name\": \"dnm_ID\",\n \"value\": \"260\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grt_ExternalID\",\n \"name\": \"grt_ExternalID\",\n \"value\": \"12000\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"idTariffPlan\",\n \"name\": \"idTariffPlan\",\n \"value\": \"6225\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sctd_Name\",\n \"name\": \"sctd_Name\",\n \"value\": \"Subscription fee\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srgd_Name\",\n \"name\": \"srgd_Name\",\n \"value\": \"M2M monthly payment\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srv_Code\",\n \"name\": \"srv_Code\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grtd_Name\",\n \"name\": \"grtd_Name\",\n \"value\": \"M2M Advanced\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"tp_Code\",\n \"name\": \"tp_Code\",\n \"value\": \"1821105\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"dnm_Name\",\n \"name\": \"dnm_Name\",\n \"value\": \"АП за ТП без ПДВ та ПФ\",\n \"valueType\": \"string\"\n }\n ],\n \"date\": \"2024-07-25T23:59:59\",\n \"description\": \"АП за месяц\",\n \"id\": 1021995212,\n \"isBilled\": true,\n \"logicalResource\": [\n {\n \"name\": \"MSISDN\",\n \"value\": \"380675255857\"\n }\n ],\n \"name\": \"M2M Monthly Fee\",\n \"note\": [\n {\n \"author\": \"wcb_etl_process\",\n \"date\": \"2024-07-12T14:34:11.25\",\n \"hostname\": \"RDP-NAPTEC\"\n }\n ],\n \"periodCoverage\": {\n \"startDateTime\": \"2024-06-26T00:00:00\",\n \"endDateTime\": \"2024-07-25T23:59:59\"\n },\n \"product\": {\n \"@referredType\": \"TariffPackage\",\n \"@type\": \"ProductRef\",\n \"id\": \"03-6225\",\n \"name\": \"IoT Platform 30\"\n },\n \"relatedParty\": [\n {\n \"@referredType\": \"Customers\",\n \"id\": \"8662819\",\n \"IDType\": 0\n }\n ],\n \"state\": \"normal\",\n \"taxExcludedAmount\": {\n \"unit\": \"UAH\",\n \"value\": 23.53\n },\n \"taxIncludedAmount\": {\n \"unit\": \"UAH\",\n \"value\": 23.53\n }\n},\n{\n \"appliedBillingRateSubType\": \"recurringCharge\",\n \"appliedBillingRateType\": \"appliedBillingCharge\",\n \"bill\": {\n \"@referredType\": \"CustomerBill\",\n \"@type\": \"CustomerBillRef\",\n \"id\": \"1418687100\",\n \"name\": \"624410403\"\n },\n \"billingAccount\": {\n \"@referredType\": \"BillingAccount\",\n \"@type\": \"BillingAccountRef\",\n \"id\": \"6836892\",\n \"name\": \"75001739432\"\n },\n \"billCycleNo\": \"10030952\",\n \"characteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"characteristicRelationship\": {\n \"@type\": \"CharacteristicRelationship\",\n \"id\": \"1\",\n \"relationshipType\": \"billedAs\"\n },\n \"id\": \"srg_ID_bll\",\n \"name\": \"srg_ID_bll\",\n \"value\": \"215\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sech_DiscountAmount\",\n \"name\": \"sech_DiscountAmount\",\n \"value\": \"0.0\",\n \"valueType\": \"number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sech_DayCount\",\n \"name\": \"sech_DayCount\",\n \"value\": \"30\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sct_ID\",\n \"name\": \"sct_ID\",\n \"value\": \"2\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srg_ID\",\n \"name\": \"srg_ID\",\n \"value\": \"215\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grt_ID\",\n \"name\": \"grt_ID\",\n \"value\": \"153\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"dnm_ID\",\n \"name\": \"dnm_ID\",\n \"value\": \"260\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grt_ExternalID\",\n \"name\": \"grt_ExternalID\",\n \"value\": \"12000\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"idTariffPlan\",\n \"name\": \"idTariffPlan\",\n \"value\": \"6225\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sctd_Name\",\n \"name\": \"sctd_Name\",\n \"value\": \"Subscription fee\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srgd_Name\",\n \"name\": \"srgd_Name\",\n \"value\": \"M2M monthly payment\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srv_Code\",\n \"name\": \"srv_Code\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grtd_Name\",\n \"name\": \"grtd_Name\",\n \"value\": \"M2M Advanced\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"tp_Code\",\n \"name\": \"tp_Code\",\n \"value\": \"1821105\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"dnm_Name\",\n \"name\": \"dnm_Name\",\n \"value\": \"АП за ТП без ПДВ та ПФ\",\n \"valueType\": \"string\"\n }\n ],\n \"date\": \"2024-07-25T23:59:59\",\n \"description\": \"АП за месяц\",\n \"id\": 1021995213,\n \"isBilled\": true,\n \"logicalResource\": [\n {\n \"name\": \"MSISDN\",\n \"value\": \"380675256778\"\n }\n ],\n \"name\": \"M2M Monthly Fee\",\n \"note\": [\n {\n \"author\": \"wcb_etl_process\",\n \"date\": \"2024-07-12T14:34:27.95\",\n \"hostname\": \"RDP-NAPTEC\"\n }\n ],\n \"periodCoverage\": {\n \"startDateTime\": \"2024-06-26T00:00:00\",\n \"endDateTime\": \"2024-07-25T23:59:59\"\n },\n \"product\": {\n \"@referredType\": \"TariffPackage\",\n \"@type\": \"ProductRef\",\n \"id\": \"03-6225\",\n \"name\": \"IoT Platform 30\"\n },\n \"relatedParty\": [\n {\n \"@referredType\": \"Customers\",\n \"id\": \"8662819\",\n \"IDType\": 0\n }\n ],\n \"state\": \"normal\",\n \"taxExcludedAmount\": {\n \"unit\": \"UAH\",\n \"value\": 23.53\n },\n \"taxIncludedAmount\": {\n \"unit\": \"UAH\",\n \"value\": 23.53\n }\n},\n{\n \"appliedBillingRateSubType\": \"recurringCharge\",\n \"appliedBillingRateType\": \"appliedBillingCharge\",\n \"bill\": {\n \"@referredType\": \"CustomerBill\",\n \"@type\": \"CustomerBillRef\",\n \"id\": \"1418687100\",\n \"name\": \"624410403\"\n },\n \"billingAccount\": {\n \"@referredType\": \"BillingAccount\",\n \"@type\": \"BillingAccountRef\",\n \"id\": \"6836892\",\n \"name\": \"75001739432\"\n },\n \"billCycleNo\": \"10030952\",\n \"characteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"characteristicRelationship\": {\n \"@type\": \"CharacteristicRelationship\",\n \"id\": \"1\",\n \"relationshipType\": \"billedAs\"\n },\n \"id\": \"srg_ID_bll\",\n \"name\": \"srg_ID_bll\",\n \"value\": \"215\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sech_DiscountAmount\",\n \"name\": \"sech_DiscountAmount\",\n \"value\": \"0.0\",\n \"valueType\": \"number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sech_DayCount\",\n \"name\": \"sech_DayCount\",\n \"value\": \"30\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sct_ID\",\n \"name\": \"sct_ID\",\n \"value\": \"2\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srg_ID\",\n \"name\": \"srg_ID\",\n \"value\": \"215\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grt_ID\",\n \"name\": \"grt_ID\",\n \"value\": \"153\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"dnm_ID\",\n \"name\": \"dnm_ID\",\n \"value\": \"260\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grt_ExternalID\",\n \"name\": \"grt_ExternalID\",\n \"value\": \"12000\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"idTariffPlan\",\n \"name\": \"idTariffPlan\",\n \"value\": \"6225\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sctd_Name\",\n \"name\": \"sctd_Name\",\n \"value\": \"Subscription fee\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srgd_Name\",\n \"name\": \"srgd_Name\",\n \"value\": \"M2M monthly payment\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srv_Code\",\n \"name\": \"srv_Code\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grtd_Name\",\n \"name\": \"grtd_Name\",\n \"value\": \"M2M Advanced\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"tp_Code\",\n \"name\": \"tp_Code\",\n \"value\": \"1821105\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"dnm_Name\",\n \"name\": \"dnm_Name\",\n \"value\": \"АП за ТП без ПДВ та ПФ\",\n \"valueType\": \"string\"\n }\n ],\n \"date\": \"2024-07-25T23:59:59\",\n \"description\": \"АП за месяц\",\n \"id\": 1021995214,\n \"isBilled\": true,\n \"logicalResource\": [\n {\n \"name\": \"MSISDN\",\n \"value\": \"380675256872\"\n }\n ],\n \"name\": \"M2M Monthly Fee\",\n \"note\": [\n {\n \"author\": \"wcb_etl_process\",\n \"date\": \"2024-07-12T14:34:43.35\",\n \"hostname\": \"RDP-NAPTEC\"\n }\n ],\n \"periodCoverage\": {\n \"startDateTime\": \"2024-06-26T00:00:00\",\n \"endDateTime\": \"2024-07-25T23:59:59\"\n },\n \"product\": {\n \"@referredType\": \"TariffPackage\",\n \"@type\": \"ProductRef\",\n \"id\": \"03-6225\",\n \"name\": \"IoT Platform 30\"\n },\n \"relatedParty\": [\n {\n \"@referredType\": \"Customers\",\n \"id\": \"8662819\",\n \"IDType\": 0\n }\n ],\n \"state\": \"normal\",\n \"taxExcludedAmount\": {\n \"unit\": \"UAH\",\n \"value\": 23.53\n },\n \"taxIncludedAmount\": {\n \"unit\": \"UAH\",\n \"value\": 23.53\n }\n}\n]\n" + "body": "[\n{\n \"appliedBillingRateSubType\": \"recurringCharge\",\n \"appliedBillingRateType\": \"appliedBillingCharge\",\n \"bill\": {\n \"@referredType\": \"CustomerBill\",\n \"@type\": \"CustomerBillRef\",\n \"id\": \"1418687100\",\n \"name\": \"624410403\"\n },\n \"billingAccount\": {\n \"@referredType\": \"BillingAccount\",\n \"@type\": \"BillingAccountRef\",\n \"id\": \"6836892\",\n \"name\": \"75001739432\"\n },\n \"billCycleNo\": \"10030952\",\n \"characteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"characteristicRelationship\": {\n \"@type\": \"CharacteristicRelationship\",\n \"id\": \"1\",\n \"relationshipType\": \"billedAs\"\n },\n \"id\": \"srg_ID_bll\",\n \"name\": \"srg_ID_bll\",\n \"value\": \"215\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sech_DiscountAmount\",\n \"name\": \"sech_DiscountAmount\",\n \"value\": \"0.0\",\n \"valueType\": \"number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sech_DayCount\",\n \"name\": \"sech_DayCount\",\n \"value\": \"30\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sct_ID\",\n \"name\": \"sct_ID\",\n \"value\": \"2\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srg_ID\",\n \"name\": \"srg_ID\",\n \"value\": \"215\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grt_ID\",\n \"name\": \"grt_ID\",\n \"value\": \"153\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"dnm_ID\",\n \"name\": \"dnm_ID\",\n \"value\": \"260\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grt_ExternalID\",\n \"name\": \"grt_ExternalID\",\n \"value\": \"12000\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"idTariffPlan\",\n \"name\": \"idTariffPlan\",\n \"value\": \"6225\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sctd_Name\",\n \"name\": \"sctd_Name\",\n \"value\": \"Subscription fee\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srgd_Name\",\n \"name\": \"srgd_Name\",\n \"value\": \"M2M monthly payment\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srv_Code\",\n \"name\": \"srv_Code\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grtd_Name\",\n \"name\": \"grtd_Name\",\n \"value\": \"M2M Advanced\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"tp_Code\",\n \"name\": \"tp_Code\",\n \"value\": \"1821105\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"dnm_Name\",\n \"name\": \"dnm_Name\",\n \"value\": \"АП за ТП без ПДВ та ПФ\",\n \"valueType\": \"string\"\n }\n ],\n \"date\": \"2024-07-25T23:59:59\",\n \"description\": \"АП за месяц\",\n \"id\": 1021995195,\n \"isBilled\": true,\n \"logicalResource\": [\n {\n \"name\": \"MSISDN\",\n \"value\": \"380673093180\"\n }\n ],\n \"name\": \"M2M Monthly Fee\",\n \"note\": [\n {\n \"author\": \"etl_process\",\n \"date\": \"2024-07-12T14:28:00.117\",\n \"hostname\": \"RDP-NAPTEC\"\n }\n ],\n \"periodCoverage\": {\n \"startDateTime\": \"2024-06-26T00:00:00\",\n \"endDateTime\": \"2024-07-25T23:59:59\"\n },\n \"product\": {\n \"@referredType\": \"TariffPackage\",\n \"@type\": \"ProductRef\",\n \"id\": \"03-6225\",\n \"name\": \"IoT Platform 30\"\n },\n \"relatedParty\": [\n {\n \"@referredType\": \"Customers\",\n \"id\": \"8662819\",\n \"IDType\": 0\n }\n ],\n \"state\": \"normal\",\n \"taxExcludedAmount\": {\n \"unit\": \"UAH\",\n \"value\": 23.53\n },\n \"taxIncludedAmount\": {\n \"unit\": \"UAH\",\n \"value\": 23.53\n }\n},\n{\n \"appliedBillingRateSubType\": \"recurringCharge\",\n \"appliedBillingRateType\": \"appliedBillingCharge\",\n \"bill\": {\n \"@referredType\": \"CustomerBill\",\n \"@type\": \"CustomerBillRef\",\n \"id\": \"1418687098\",\n \"name\": \"624410401\"\n },\n \"billingAccount\": {\n \"@referredType\": \"BillingAccount\",\n \"@type\": \"BillingAccountRef\",\n \"id\": \"6572421\",\n \"name\": \"75001346535\"\n },\n \"billCycleNo\": \"10030952\",\n \"characteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"characteristicRelationship\": {\n \"@type\": \"CharacteristicRelationship\",\n \"id\": \"1\",\n \"relationshipType\": \"billedAs\"\n },\n \"id\": \"srg_ID_bll\",\n \"name\": \"srg_ID_bll\",\n \"value\": \"215\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sech_DiscountAmount\",\n \"name\": \"sech_DiscountAmount\",\n \"value\": \"0.0\",\n \"valueType\": \"number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sech_DayCount\",\n \"name\": \"sech_DayCount\",\n \"value\": \"30\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sct_ID\",\n \"name\": \"sct_ID\",\n \"value\": \"2\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srg_ID\",\n \"name\": \"srg_ID\",\n \"value\": \"215\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grt_ID\",\n \"name\": \"grt_ID\",\n \"value\": \"153\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"dnm_ID\",\n \"name\": \"dnm_ID\",\n \"value\": \"260\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grt_ExternalID\",\n \"name\": \"grt_ExternalID\",\n \"value\": \"12000\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"idTariffPlan\",\n \"name\": \"idTariffPlan\",\n \"value\": \"6225\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sctd_Name\",\n \"name\": \"sctd_Name\",\n \"value\": \"Subscription fee\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srgd_Name\",\n \"name\": \"srgd_Name\",\n \"value\": \"M2M monthly payment\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srv_Code\",\n \"name\": \"srv_Code\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grtd_Name\",\n \"name\": \"grtd_Name\",\n \"value\": \"M2M Advanced\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"tp_Code\",\n \"name\": \"tp_Code\",\n \"value\": \"1821105\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"dnm_Name\",\n \"name\": \"dnm_Name\",\n \"value\": \"АП за ТП без ПДВ та ПФ\",\n \"valueType\": \"string\"\n }\n ],\n \"date\": \"2024-07-25T23:59:59\",\n \"description\": \"АП за месяц\",\n \"id\": 1021995196,\n \"isBilled\": true,\n \"logicalResource\": [\n {\n \"name\": \"MSISDN\",\n \"value\": \"380673990982\"\n }\n ],\n \"name\": \"M2M Monthly Fee\",\n \"note\": [\n {\n \"author\": \"etl_process\",\n \"date\": \"2024-07-12T14:28:46.103\",\n \"hostname\": \"RDP-NAPTEC\"\n }\n ],\n \"periodCoverage\": {\n \"startDateTime\": \"2024-06-26T00:00:00\",\n \"endDateTime\": \"2024-07-25T23:59:59\"\n },\n \"product\": {\n \"@referredType\": \"TariffPackage\",\n \"@type\": \"ProductRef\",\n \"id\": \"03-6225\",\n \"name\": \"IoT Platform 30\"\n },\n \"relatedParty\": [\n {\n \"@referredType\": \"Customers\",\n \"id\": \"8380607\",\n \"IDType\": 0\n }\n ],\n \"state\": \"normal\",\n \"taxExcludedAmount\": {\n \"unit\": \"UAH\",\n \"value\": 23.53\n },\n \"taxIncludedAmount\": {\n \"unit\": \"UAH\",\n \"value\": 23.53\n }\n},\n{\n \"appliedBillingRateSubType\": \"recurringCharge\",\n \"appliedBillingRateType\": \"appliedBillingCharge\",\n \"bill\": {\n \"@referredType\": \"CustomerBill\",\n \"@type\": \"CustomerBillRef\",\n \"id\": \"1418687098\",\n \"name\": \"624410401\"\n },\n \"billingAccount\": {\n \"@referredType\": \"BillingAccount\",\n \"@type\": \"BillingAccountRef\",\n \"id\": \"6572421\",\n \"name\": \"75001346535\"\n },\n \"billCycleNo\": \"10030952\",\n \"characteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"characteristicRelationship\": {\n \"@type\": \"CharacteristicRelationship\",\n \"id\": \"1\",\n \"relationshipType\": \"billedAs\"\n },\n \"id\": \"srg_ID_bll\",\n \"name\": \"srg_ID_bll\",\n \"value\": \"216\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sech_DiscountAmount\",\n \"name\": \"sech_DiscountAmount\",\n \"value\": \"0.0\",\n \"valueType\": \"number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sech_DayCount\",\n \"name\": \"sech_DayCount\",\n \"value\": \"30\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sct_ID\",\n \"name\": \"sct_ID\",\n \"value\": \"2\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srg_ID\",\n \"name\": \"srg_ID\",\n \"value\": \"216\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grt_ID\",\n \"name\": \"grt_ID\",\n \"value\": \"153\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"dnm_ID\",\n \"name\": \"dnm_ID\",\n \"value\": \"216\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grt_ExternalID\",\n \"name\": \"grt_ExternalID\",\n \"value\": \"12000\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"idTariffPlan\",\n \"name\": \"idTariffPlan\",\n \"value\": \"6225\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sctd_Name\",\n \"name\": \"sctd_Name\",\n \"value\": \"Subscription fee\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srgd_Name\",\n \"name\": \"srgd_Name\",\n \"value\": \"M2M monthly payment traffic\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srv_Code\",\n \"name\": \"srv_Code\",\n \"value\": \"9301\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grtd_Name\",\n \"name\": \"grtd_Name\",\n \"value\": \"M2M Advanced\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"tp_Code\",\n \"name\": \"tp_Code\",\n \"value\": \"1821105\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"dnm_Name\",\n \"name\": \"dnm_Name\",\n \"value\": \"Передача даних в Україні\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"dtg_UsageType\",\n \"name\": \"dtg_UsageType\",\n \"value\": \"data\",\n \"valueType\": \"string\"\n }\n ],\n \"date\": \"2024-07-25T23:59:59\",\n \"description\": \"by counter\",\n \"id\": 1021995197,\n \"isBilled\": true,\n \"logicalResource\": [\n {\n \"name\": \"MSISDN\",\n \"value\": \"380673990982\"\n }\n ],\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\n \"note\": [\n {\n \"author\": \"etl_process\",\n \"date\": \"2024-07-12T14:28:46.107\",\n \"hostname\": \"RDP-NAPTEC\"\n }\n ],\n \"periodCoverage\": {\n \"startDateTime\": \"2024-06-26T00:00:00\",\n \"endDateTime\": \"2024-07-25T23:59:59\"\n },\n \"product\": {\n \"@referredType\": \"TariffPackage\",\n \"@type\": \"ProductRef\",\n \"id\": \"03-6225\",\n \"name\": \"IoT Platform 30\"\n },\n \"relatedParty\": [\n {\n \"@referredType\": \"Customers\",\n \"id\": \"8380607\",\n \"IDType\": 0\n }\n ],\n \"state\": \"normal\",\n \"taxExcludedAmount\": {\n \"unit\": \"UAH\",\n \"value\": 27.45\n },\n \"taxIncludedAmount\": {\n \"unit\": \"UAH\",\n \"value\": 27.45\n }\n},\n{\n \"appliedBillingRateSubType\": \"recurringCharge\",\n \"appliedBillingRateType\": \"appliedBillingCharge\",\n \"bill\": {\n \"@referredType\": \"CustomerBill\",\n \"@type\": \"CustomerBillRef\",\n \"id\": \"1418687096\",\n \"name\": \"624410399\"\n },\n \"billingAccount\": {\n \"@referredType\": \"BillingAccount\",\n \"@type\": \"BillingAccountRef\",\n \"id\": \"3374286\",\n \"name\": \"7440433\"\n },\n \"billCycleNo\": \"10030952\",\n \"characteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"characteristicRelationship\": {\n \"@type\": \"CharacteristicRelationship\",\n \"id\": \"1\",\n \"relationshipType\": \"billedAs\"\n },\n \"id\": \"srg_ID_bll\",\n \"name\": \"srg_ID_bll\",\n \"value\": \"215\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sech_DiscountAmount\",\n \"name\": \"sech_DiscountAmount\",\n \"value\": \"0.0\",\n \"valueType\": \"number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sech_DayCount\",\n \"name\": \"sech_DayCount\",\n \"value\": \"30\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sct_ID\",\n \"name\": \"sct_ID\",\n \"value\": \"2\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srg_ID\",\n \"name\": \"srg_ID\",\n \"value\": \"215\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grt_ID\",\n \"name\": \"grt_ID\",\n \"value\": \"153\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"dnm_ID\",\n \"name\": \"dnm_ID\",\n \"value\": \"260\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grt_ExternalID\",\n \"name\": \"grt_ExternalID\",\n \"value\": \"12000\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"idTariffPlan\",\n \"name\": \"idTariffPlan\",\n \"value\": \"6225\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sctd_Name\",\n \"name\": \"sctd_Name\",\n \"value\": \"Subscription fee\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srgd_Name\",\n \"name\": \"srgd_Name\",\n \"value\": \"M2M monthly payment\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srv_Code\",\n \"name\": \"srv_Code\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grtd_Name\",\n \"name\": \"grtd_Name\",\n \"value\": \"M2M Advanced\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"tp_Code\",\n \"name\": \"tp_Code\",\n \"value\": \"1821105\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"dnm_Name\",\n \"name\": \"dnm_Name\",\n \"value\": \"АП за ТП без ПДВ та ПФ\",\n \"valueType\": \"string\"\n }\n ],\n \"date\": \"2024-07-25T23:59:59\",\n \"description\": \"АП за месяц\",\n \"id\": 1021995198,\n \"isBilled\": true,\n \"logicalResource\": [\n {\n \"name\": \"MSISDN\",\n \"value\": \"380674591570\"\n }\n ],\n \"name\": \"M2M Monthly Fee\",\n \"note\": [\n {\n \"author\": \"etl_process\",\n \"date\": \"2024-07-12T14:29:18.427\",\n \"hostname\": \"RDP-NAPTEC\"\n }\n ],\n \"periodCoverage\": {\n \"startDateTime\": \"2024-06-26T00:00:00\",\n \"endDateTime\": \"2024-07-25T23:59:59\"\n },\n \"product\": {\n \"@referredType\": \"TariffPackage\",\n \"@type\": \"ProductRef\",\n \"id\": \"03-6225\",\n \"name\": \"IoT Platform 30\"\n },\n \"relatedParty\": [\n {\n \"@referredType\": \"Customers\",\n \"id\": \"5173700\",\n \"IDType\": 0\n }\n ],\n \"state\": \"normal\",\n \"taxExcludedAmount\": {\n \"unit\": \"UAH\",\n \"value\": 23.53\n },\n \"taxIncludedAmount\": {\n \"unit\": \"UAH\",\n \"value\": 23.53\n }\n},\n{\n \"appliedBillingRateSubType\": \"recurringCharge\",\n \"appliedBillingRateType\": \"appliedBillingCharge\",\n \"bill\": {\n \"@referredType\": \"CustomerBill\",\n \"@type\": \"CustomerBillRef\",\n \"id\": \"1418687096\",\n \"name\": \"624410399\"\n },\n \"billingAccount\": {\n \"@referredType\": \"BillingAccount\",\n \"@type\": \"BillingAccountRef\",\n \"id\": \"3374286\",\n \"name\": \"7440433\"\n },\n \"billCycleNo\": \"10030952\",\n \"characteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"characteristicRelationship\": {\n \"@type\": \"CharacteristicRelationship\",\n \"id\": \"1\",\n \"relationshipType\": \"billedAs\"\n },\n \"id\": \"srg_ID_bll\",\n \"name\": \"srg_ID_bll\",\n \"value\": \"215\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sech_DiscountAmount\",\n \"name\": \"sech_DiscountAmount\",\n \"value\": \"0.0\",\n \"valueType\": \"number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sech_DayCount\",\n \"name\": \"sech_DayCount\",\n \"value\": \"30\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sct_ID\",\n \"name\": \"sct_ID\",\n \"value\": \"2\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srg_ID\",\n \"name\": \"srg_ID\",\n \"value\": \"215\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grt_ID\",\n \"name\": \"grt_ID\",\n \"value\": \"153\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"dnm_ID\",\n \"name\": \"dnm_ID\",\n \"value\": \"260\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grt_ExternalID\",\n \"name\": \"grt_ExternalID\",\n \"value\": \"12000\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"idTariffPlan\",\n \"name\": \"idTariffPlan\",\n \"value\": \"6225\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sctd_Name\",\n \"name\": \"sctd_Name\",\n \"value\": \"Subscription fee\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srgd_Name\",\n \"name\": \"srgd_Name\",\n \"value\": \"M2M monthly payment\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srv_Code\",\n \"name\": \"srv_Code\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grtd_Name\",\n \"name\": \"grtd_Name\",\n \"value\": \"M2M Advanced\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"tp_Code\",\n \"name\": \"tp_Code\",\n \"value\": \"1821105\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"dnm_Name\",\n \"name\": \"dnm_Name\",\n \"value\": \"АП за ТП без ПДВ та ПФ\",\n \"valueType\": \"string\"\n }\n ],\n \"date\": \"2024-07-25T23:59:59\",\n \"description\": \"АП за месяц\",\n \"id\": 1021995199,\n \"isBilled\": true,\n \"logicalResource\": [\n {\n \"name\": \"MSISDN\",\n \"value\": \"380674592648\"\n }\n ],\n \"name\": \"M2M Monthly Fee\",\n \"note\": [\n {\n \"author\": \"etl_process\",\n \"date\": \"2024-07-12T14:29:39.44\",\n \"hostname\": \"RDP-NAPTEC\"\n }\n ],\n \"periodCoverage\": {\n \"startDateTime\": \"2024-06-26T00:00:00\",\n \"endDateTime\": \"2024-07-25T23:59:59\"\n },\n \"product\": {\n \"@referredType\": \"TariffPackage\",\n \"@type\": \"ProductRef\",\n \"id\": \"03-6225\",\n \"name\": \"IoT Platform 30\"\n },\n \"relatedParty\": [\n {\n \"@referredType\": \"Customers\",\n \"id\": \"5173700\",\n \"IDType\": 0\n }\n ],\n \"state\": \"normal\",\n \"taxExcludedAmount\": {\n \"unit\": \"UAH\",\n \"value\": 23.53\n },\n \"taxIncludedAmount\": {\n \"unit\": \"UAH\",\n \"value\": 23.53\n }\n},\n{\n \"appliedBillingRateSubType\": \"recurringCharge\",\n \"appliedBillingRateType\": \"appliedBillingCharge\",\n \"bill\": {\n \"@referredType\": \"CustomerBill\",\n \"@type\": \"CustomerBillRef\",\n \"id\": \"1418687097\",\n \"name\": \"624410400\"\n },\n \"billingAccount\": {\n \"@referredType\": \"BillingAccount\",\n \"@type\": \"BillingAccountRef\",\n \"id\": \"4067719\",\n \"name\": \"11338610\"\n },\n \"billCycleNo\": \"10030952\",\n \"characteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"characteristicRelationship\": {\n \"@type\": \"CharacteristicRelationship\",\n \"id\": \"1\",\n \"relationshipType\": \"billedAs\"\n },\n \"id\": \"srg_ID_bll\",\n \"name\": \"srg_ID_bll\",\n \"value\": \"215\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sech_DiscountAmount\",\n \"name\": \"sech_DiscountAmount\",\n \"value\": \"0.0\",\n \"valueType\": \"number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sech_DayCount\",\n \"name\": \"sech_DayCount\",\n \"value\": \"30\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sct_ID\",\n \"name\": \"sct_ID\",\n \"value\": \"2\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srg_ID\",\n \"name\": \"srg_ID\",\n \"value\": \"215\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grt_ID\",\n \"name\": \"grt_ID\",\n \"value\": \"153\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"dnm_ID\",\n \"name\": \"dnm_ID\",\n \"value\": \"260\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grt_ExternalID\",\n \"name\": \"grt_ExternalID\",\n \"value\": \"12000\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"idTariffPlan\",\n \"name\": \"idTariffPlan\",\n \"value\": \"6225\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sctd_Name\",\n \"name\": \"sctd_Name\",\n \"value\": \"Subscription fee\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srgd_Name\",\n \"name\": \"srgd_Name\",\n \"value\": \"M2M monthly payment\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srv_Code\",\n \"name\": \"srv_Code\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grtd_Name\",\n \"name\": \"grtd_Name\",\n \"value\": \"M2M Advanced\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"tp_Code\",\n \"name\": \"tp_Code\",\n \"value\": \"1821105\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"dnm_Name\",\n \"name\": \"dnm_Name\",\n \"value\": \"АП за ТП без ПДВ та ПФ\",\n \"valueType\": \"string\"\n }\n ],\n \"date\": \"2024-07-25T23:59:59\",\n \"description\": \"АП за месяц\",\n \"id\": 1021995201,\n \"isBilled\": true,\n \"logicalResource\": [\n {\n \"name\": \"MSISDN\",\n \"value\": \"380674920757\"\n }\n ],\n \"name\": \"M2M Monthly Fee\",\n \"note\": [\n {\n \"author\": \"etl_process\",\n \"date\": \"2024-07-12T14:30:09.783\",\n \"hostname\": \"RDP-NAPTEC\"\n }\n ],\n \"periodCoverage\": {\n \"startDateTime\": \"2024-06-26T00:00:00\",\n \"endDateTime\": \"2024-07-25T23:59:59\"\n },\n \"product\": {\n \"@referredType\": \"TariffPackage\",\n \"@type\": \"ProductRef\",\n \"id\": \"03-6225\",\n \"name\": \"IoT Platform 30\"\n },\n \"relatedParty\": [\n {\n \"@referredType\": \"Customers\",\n \"id\": \"5867133\",\n \"IDType\": 0\n }\n ],\n \"state\": \"normal\",\n \"taxExcludedAmount\": {\n \"unit\": \"UAH\",\n \"value\": 23.53\n },\n \"taxIncludedAmount\": {\n \"unit\": \"UAH\",\n \"value\": 23.53\n }\n},\n{\n \"appliedBillingRateSubType\": \"recurringCharge\",\n \"appliedBillingRateType\": \"appliedBillingCharge\",\n \"bill\": {\n \"@referredType\": \"CustomerBill\",\n \"@type\": \"CustomerBillRef\",\n \"id\": \"1418687097\",\n \"name\": \"624410400\"\n },\n \"billingAccount\": {\n \"@referredType\": \"BillingAccount\",\n \"@type\": \"BillingAccountRef\",\n \"id\": \"4067719\",\n \"name\": \"11338610\"\n },\n \"billCycleNo\": \"10030952\",\n \"characteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"characteristicRelationship\": {\n \"@type\": \"CharacteristicRelationship\",\n \"id\": \"1\",\n \"relationshipType\": \"billedAs\"\n },\n \"id\": \"srg_ID_bll\",\n \"name\": \"srg_ID_bll\",\n \"value\": \"216\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sech_DiscountAmount\",\n \"name\": \"sech_DiscountAmount\",\n \"value\": \"0.0\",\n \"valueType\": \"number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sech_DayCount\",\n \"name\": \"sech_DayCount\",\n \"value\": \"30\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sct_ID\",\n \"name\": \"sct_ID\",\n \"value\": \"2\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srg_ID\",\n \"name\": \"srg_ID\",\n \"value\": \"216\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grt_ID\",\n \"name\": \"grt_ID\",\n \"value\": \"153\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"dnm_ID\",\n \"name\": \"dnm_ID\",\n \"value\": \"216\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grt_ExternalID\",\n \"name\": \"grt_ExternalID\",\n \"value\": \"12000\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"idTariffPlan\",\n \"name\": \"idTariffPlan\",\n \"value\": \"6225\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sctd_Name\",\n \"name\": \"sctd_Name\",\n \"value\": \"Subscription fee\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srgd_Name\",\n \"name\": \"srgd_Name\",\n \"value\": \"M2M monthly payment traffic\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srv_Code\",\n \"name\": \"srv_Code\",\n \"value\": \"9301\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grtd_Name\",\n \"name\": \"grtd_Name\",\n \"value\": \"M2M Advanced\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"tp_Code\",\n \"name\": \"tp_Code\",\n \"value\": \"1821105\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"dnm_Name\",\n \"name\": \"dnm_Name\",\n \"value\": \"Передача даних в Україні\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"dtg_UsageType\",\n \"name\": \"dtg_UsageType\",\n \"value\": \"data\",\n \"valueType\": \"string\"\n }\n ],\n \"date\": \"2024-07-25T23:59:59\",\n \"description\": \"by counter\",\n \"id\": 1021995202,\n \"isBilled\": true,\n \"logicalResource\": [\n {\n \"name\": \"MSISDN\",\n \"value\": \"380674920757\"\n }\n ],\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\n \"note\": [\n {\n \"author\": \"etl_process\",\n \"date\": \"2024-07-12T14:30:09.787\",\n \"hostname\": \"RDP-NAPTEC\"\n }\n ],\n \"periodCoverage\": {\n \"startDateTime\": \"2024-06-26T00:00:00\",\n \"endDateTime\": \"2024-07-25T23:59:59\"\n },\n \"product\": {\n \"@referredType\": \"TariffPackage\",\n \"@type\": \"ProductRef\",\n \"id\": \"03-6225\",\n \"name\": \"IoT Platform 30\"\n },\n \"relatedParty\": [\n {\n \"@referredType\": \"Customers\",\n \"id\": \"5867133\",\n \"IDType\": 0\n }\n ],\n \"state\": \"normal\",\n \"taxExcludedAmount\": {\n \"unit\": \"UAH\",\n \"value\": 7.84\n },\n \"taxIncludedAmount\": {\n \"unit\": \"UAH\",\n \"value\": 7.84\n }\n},\n{\n \"appliedBillingRateSubType\": \"recurringCharge\",\n \"appliedBillingRateType\": \"appliedBillingCharge\",\n \"bill\": {\n \"@referredType\": \"CustomerBill\",\n \"@type\": \"CustomerBillRef\",\n \"id\": \"1418687097\",\n \"name\": \"624410400\"\n },\n \"billingAccount\": {\n \"@referredType\": \"BillingAccount\",\n \"@type\": \"BillingAccountRef\",\n \"id\": \"4067719\",\n \"name\": \"11338610\"\n },\n \"billCycleNo\": \"10030952\",\n \"characteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"characteristicRelationship\": {\n \"@type\": \"CharacteristicRelationship\",\n \"id\": \"1\",\n \"relationshipType\": \"billedAs\"\n },\n \"id\": \"srg_ID_bll\",\n \"name\": \"srg_ID_bll\",\n \"value\": \"215\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sech_DiscountAmount\",\n \"name\": \"sech_DiscountAmount\",\n \"value\": \"0.0\",\n \"valueType\": \"number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sech_DayCount\",\n \"name\": \"sech_DayCount\",\n \"value\": \"30\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sct_ID\",\n \"name\": \"sct_ID\",\n \"value\": \"2\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srg_ID\",\n \"name\": \"srg_ID\",\n \"value\": \"215\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grt_ID\",\n \"name\": \"grt_ID\",\n \"value\": \"153\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"dnm_ID\",\n \"name\": \"dnm_ID\",\n \"value\": \"260\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grt_ExternalID\",\n \"name\": \"grt_ExternalID\",\n \"value\": \"12000\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"idTariffPlan\",\n \"name\": \"idTariffPlan\",\n \"value\": \"6225\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sctd_Name\",\n \"name\": \"sctd_Name\",\n \"value\": \"Subscription fee\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srgd_Name\",\n \"name\": \"srgd_Name\",\n \"value\": \"M2M monthly payment\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srv_Code\",\n \"name\": \"srv_Code\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grtd_Name\",\n \"name\": \"grtd_Name\",\n \"value\": \"M2M Advanced\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"tp_Code\",\n \"name\": \"tp_Code\",\n \"value\": \"1821105\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"dnm_Name\",\n \"name\": \"dnm_Name\",\n \"value\": \"АП за ТП без ПДВ та ПФ\",\n \"valueType\": \"string\"\n }\n ],\n \"date\": \"2024-07-25T23:59:59\",\n \"description\": \"АП за месяц\",\n \"id\": 1021995203,\n \"isBilled\": true,\n \"logicalResource\": [\n {\n \"name\": \"MSISDN\",\n \"value\": \"380674920759\"\n }\n ],\n \"name\": \"M2M Monthly Fee\",\n \"note\": [\n {\n \"author\": \"etl_process\",\n \"date\": \"2024-07-12T14:31:16.94\",\n \"hostname\": \"RDP-NAPTEC\"\n }\n ],\n \"periodCoverage\": {\n \"startDateTime\": \"2024-06-26T00:00:00\",\n \"endDateTime\": \"2024-07-25T23:59:59\"\n },\n \"product\": {\n \"@referredType\": \"TariffPackage\",\n \"@type\": \"ProductRef\",\n \"id\": \"03-6225\",\n \"name\": \"IoT Platform 30\"\n },\n \"relatedParty\": [\n {\n \"@referredType\": \"Customers\",\n \"id\": \"5867133\",\n \"IDType\": 0\n }\n ],\n \"state\": \"normal\",\n \"taxExcludedAmount\": {\n \"unit\": \"UAH\",\n \"value\": 23.53\n },\n \"taxIncludedAmount\": {\n \"unit\": \"UAH\",\n \"value\": 23.53\n }\n},\n{\n \"appliedBillingRateSubType\": \"recurringCharge\",\n \"appliedBillingRateType\": \"appliedBillingCharge\",\n \"bill\": {\n \"@referredType\": \"CustomerBill\",\n \"@type\": \"CustomerBillRef\",\n \"id\": \"1418687097\",\n \"name\": \"624410400\"\n },\n \"billingAccount\": {\n \"@referredType\": \"BillingAccount\",\n \"@type\": \"BillingAccountRef\",\n \"id\": \"4067719\",\n \"name\": \"11338610\"\n },\n \"billCycleNo\": \"10030952\",\n \"characteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"characteristicRelationship\": {\n \"@type\": \"CharacteristicRelationship\",\n \"id\": \"1\",\n \"relationshipType\": \"billedAs\"\n },\n \"id\": \"srg_ID_bll\",\n \"name\": \"srg_ID_bll\",\n \"value\": \"215\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sech_DiscountAmount\",\n \"name\": \"sech_DiscountAmount\",\n \"value\": \"0.0\",\n \"valueType\": \"number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sech_DayCount\",\n \"name\": \"sech_DayCount\",\n \"value\": \"30\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sct_ID\",\n \"name\": \"sct_ID\",\n \"value\": \"2\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srg_ID\",\n \"name\": \"srg_ID\",\n \"value\": \"215\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grt_ID\",\n \"name\": \"grt_ID\",\n \"value\": \"153\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"dnm_ID\",\n \"name\": \"dnm_ID\",\n \"value\": \"260\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grt_ExternalID\",\n \"name\": \"grt_ExternalID\",\n \"value\": \"12000\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"idTariffPlan\",\n \"name\": \"idTariffPlan\",\n \"value\": \"6225\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sctd_Name\",\n \"name\": \"sctd_Name\",\n \"value\": \"Subscription fee\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srgd_Name\",\n \"name\": \"srgd_Name\",\n \"value\": \"M2M monthly payment\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srv_Code\",\n \"name\": \"srv_Code\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grtd_Name\",\n \"name\": \"grtd_Name\",\n \"value\": \"M2M Advanced\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"tp_Code\",\n \"name\": \"tp_Code\",\n \"value\": \"1821105\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"dnm_Name\",\n \"name\": \"dnm_Name\",\n \"value\": \"АП за ТП без ПДВ та ПФ\",\n \"valueType\": \"string\"\n }\n ],\n \"date\": \"2024-07-25T23:59:59\",\n \"description\": \"АП за месяц\",\n \"id\": 1021995204,\n \"isBilled\": true,\n \"logicalResource\": [\n {\n \"name\": \"MSISDN\",\n \"value\": \"380674920765\"\n }\n ],\n \"name\": \"M2M Monthly Fee\",\n \"note\": [\n {\n \"author\": \"etl_process\",\n \"date\": \"2024-07-12T14:31:45.097\",\n \"hostname\": \"RDP-NAPTEC\"\n }\n ],\n \"periodCoverage\": {\n \"startDateTime\": \"2024-06-26T00:00:00\",\n \"endDateTime\": \"2024-07-25T23:59:59\"\n },\n \"product\": {\n \"@referredType\": \"TariffPackage\",\n \"@type\": \"ProductRef\",\n \"id\": \"03-6225\",\n \"name\": \"IoT Platform 30\"\n },\n \"relatedParty\": [\n {\n \"@referredType\": \"Customers\",\n \"id\": \"5867133\",\n \"IDType\": 0\n }\n ],\n \"state\": \"normal\",\n \"taxExcludedAmount\": {\n \"unit\": \"UAH\",\n \"value\": 23.53\n },\n \"taxIncludedAmount\": {\n \"unit\": \"UAH\",\n \"value\": 23.53\n }\n},\n{\n \"appliedBillingRateSubType\": \"recurringCharge\",\n \"appliedBillingRateType\": \"appliedBillingCharge\",\n \"bill\": {\n \"@referredType\": \"CustomerBill\",\n \"@type\": \"CustomerBillRef\",\n \"id\": \"1418687100\",\n \"name\": \"624410403\"\n },\n \"billingAccount\": {\n \"@referredType\": \"BillingAccount\",\n \"@type\": \"BillingAccountRef\",\n \"id\": \"6836892\",\n \"name\": \"75001739432\"\n },\n \"billCycleNo\": \"10030952\",\n \"characteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"characteristicRelationship\": {\n \"@type\": \"CharacteristicRelationship\",\n \"id\": \"1\",\n \"relationshipType\": \"billedAs\"\n },\n \"id\": \"srg_ID_bll\",\n \"name\": \"srg_ID_bll\",\n \"value\": \"215\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sech_DiscountAmount\",\n \"name\": \"sech_DiscountAmount\",\n \"value\": \"0.0\",\n \"valueType\": \"number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sech_DayCount\",\n \"name\": \"sech_DayCount\",\n \"value\": \"30\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sct_ID\",\n \"name\": \"sct_ID\",\n \"value\": \"2\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srg_ID\",\n \"name\": \"srg_ID\",\n \"value\": \"215\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grt_ID\",\n \"name\": \"grt_ID\",\n \"value\": \"153\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"dnm_ID\",\n \"name\": \"dnm_ID\",\n \"value\": \"260\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grt_ExternalID\",\n \"name\": \"grt_ExternalID\",\n \"value\": \"12000\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"idTariffPlan\",\n \"name\": \"idTariffPlan\",\n \"value\": \"6225\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sctd_Name\",\n \"name\": \"sctd_Name\",\n \"value\": \"Subscription fee\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srgd_Name\",\n \"name\": \"srgd_Name\",\n \"value\": \"M2M monthly payment\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srv_Code\",\n \"name\": \"srv_Code\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grtd_Name\",\n \"name\": \"grtd_Name\",\n \"value\": \"M2M Advanced\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"tp_Code\",\n \"name\": \"tp_Code\",\n \"value\": \"1821105\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"dnm_Name\",\n \"name\": \"dnm_Name\",\n \"value\": \"АП за ТП без ПДВ та ПФ\",\n \"valueType\": \"string\"\n }\n ],\n \"date\": \"2024-07-25T23:59:59\",\n \"description\": \"АП за месяц\",\n \"id\": 1021995205,\n \"isBilled\": true,\n \"logicalResource\": [\n {\n \"name\": \"MSISDN\",\n \"value\": \"380674984472\"\n }\n ],\n \"name\": \"M2M Monthly Fee\",\n \"note\": [\n {\n \"author\": \"etl_process\",\n \"date\": \"2024-07-12T14:32:07.603\",\n \"hostname\": \"RDP-NAPTEC\"\n }\n ],\n \"periodCoverage\": {\n \"startDateTime\": \"2024-06-26T00:00:00\",\n \"endDateTime\": \"2024-07-25T23:59:59\"\n },\n \"product\": {\n \"@referredType\": \"TariffPackage\",\n \"@type\": \"ProductRef\",\n \"id\": \"03-6225\",\n \"name\": \"IoT Platform 30\"\n },\n \"relatedParty\": [\n {\n \"@referredType\": \"Customers\",\n \"id\": \"8662819\",\n \"IDType\": 0\n }\n ],\n \"state\": \"normal\",\n \"taxExcludedAmount\": {\n \"unit\": \"UAH\",\n \"value\": 23.53\n },\n \"taxIncludedAmount\": {\n \"unit\": \"UAH\",\n \"value\": 23.53\n }\n},\n{\n \"appliedBillingRateSubType\": \"recurringCharge\",\n \"appliedBillingRateType\": \"appliedBillingCharge\",\n \"bill\": {\n \"@referredType\": \"CustomerBill\",\n \"@type\": \"CustomerBillRef\",\n \"id\": \"1418687100\",\n \"name\": \"624410403\"\n },\n \"billingAccount\": {\n \"@referredType\": \"BillingAccount\",\n \"@type\": \"BillingAccountRef\",\n \"id\": \"6836892\",\n \"name\": \"75001739432\"\n },\n \"billCycleNo\": \"10030952\",\n \"characteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"characteristicRelationship\": {\n \"@type\": \"CharacteristicRelationship\",\n \"id\": \"1\",\n \"relationshipType\": \"billedAs\"\n },\n \"id\": \"srg_ID_bll\",\n \"name\": \"srg_ID_bll\",\n \"value\": \"215\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sech_DiscountAmount\",\n \"name\": \"sech_DiscountAmount\",\n \"value\": \"0.0\",\n \"valueType\": \"number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sech_DayCount\",\n \"name\": \"sech_DayCount\",\n \"value\": \"30\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sct_ID\",\n \"name\": \"sct_ID\",\n \"value\": \"2\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srg_ID\",\n \"name\": \"srg_ID\",\n \"value\": \"215\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grt_ID\",\n \"name\": \"grt_ID\",\n \"value\": \"153\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"dnm_ID\",\n \"name\": \"dnm_ID\",\n \"value\": \"260\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grt_ExternalID\",\n \"name\": \"grt_ExternalID\",\n \"value\": \"12000\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"idTariffPlan\",\n \"name\": \"idTariffPlan\",\n \"value\": \"6225\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sctd_Name\",\n \"name\": \"sctd_Name\",\n \"value\": \"Subscription fee\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srgd_Name\",\n \"name\": \"srgd_Name\",\n \"value\": \"M2M monthly payment\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srv_Code\",\n \"name\": \"srv_Code\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grtd_Name\",\n \"name\": \"grtd_Name\",\n \"value\": \"M2M Advanced\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"tp_Code\",\n \"name\": \"tp_Code\",\n \"value\": \"1821105\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"dnm_Name\",\n \"name\": \"dnm_Name\",\n \"value\": \"АП за ТП без ПДВ та ПФ\",\n \"valueType\": \"string\"\n }\n ],\n \"date\": \"2024-07-25T23:59:59\",\n \"description\": \"АП за месяц\",\n \"id\": 1021995206,\n \"isBilled\": true,\n \"logicalResource\": [\n {\n \"name\": \"MSISDN\",\n \"value\": \"380674985350\"\n }\n ],\n \"name\": \"M2M Monthly Fee\",\n \"note\": [\n {\n \"author\": \"etl_process\",\n \"date\": \"2024-07-12T14:32:29.39\",\n \"hostname\": \"RDP-NAPTEC\"\n }\n ],\n \"periodCoverage\": {\n \"startDateTime\": \"2024-06-26T00:00:00\",\n \"endDateTime\": \"2024-07-25T23:59:59\"\n },\n \"product\": {\n \"@referredType\": \"TariffPackage\",\n \"@type\": \"ProductRef\",\n \"id\": \"03-6225\",\n \"name\": \"IoT Platform 30\"\n },\n \"relatedParty\": [\n {\n \"@referredType\": \"Customers\",\n \"id\": \"8662819\",\n \"IDType\": 0\n }\n ],\n \"state\": \"normal\",\n \"taxExcludedAmount\": {\n \"unit\": \"UAH\",\n \"value\": 23.53\n },\n \"taxIncludedAmount\": {\n \"unit\": \"UAH\",\n \"value\": 23.53\n }\n},\n{\n \"appliedBillingRateSubType\": \"recurringCharge\",\n \"appliedBillingRateType\": \"appliedBillingCharge\",\n \"bill\": {\n \"@referredType\": \"CustomerBill\",\n \"@type\": \"CustomerBillRef\",\n \"id\": \"1418687100\",\n \"name\": \"624410403\"\n },\n \"billingAccount\": {\n \"@referredType\": \"BillingAccount\",\n \"@type\": \"BillingAccountRef\",\n \"id\": \"6836892\",\n \"name\": \"75001739432\"\n },\n \"billCycleNo\": \"10030952\",\n \"characteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"characteristicRelationship\": {\n \"@type\": \"CharacteristicRelationship\",\n \"id\": \"1\",\n \"relationshipType\": \"billedAs\"\n },\n \"id\": \"srg_ID_bll\",\n \"name\": \"srg_ID_bll\",\n \"value\": \"215\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sech_DiscountAmount\",\n \"name\": \"sech_DiscountAmount\",\n \"value\": \"0.0\",\n \"valueType\": \"number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sech_DayCount\",\n \"name\": \"sech_DayCount\",\n \"value\": \"30\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sct_ID\",\n \"name\": \"sct_ID\",\n \"value\": \"2\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srg_ID\",\n \"name\": \"srg_ID\",\n \"value\": \"215\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grt_ID\",\n \"name\": \"grt_ID\",\n \"value\": \"153\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"dnm_ID\",\n \"name\": \"dnm_ID\",\n \"value\": \"260\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grt_ExternalID\",\n \"name\": \"grt_ExternalID\",\n \"value\": \"12000\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"idTariffPlan\",\n \"name\": \"idTariffPlan\",\n \"value\": \"6225\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sctd_Name\",\n \"name\": \"sctd_Name\",\n \"value\": \"Subscription fee\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srgd_Name\",\n \"name\": \"srgd_Name\",\n \"value\": \"M2M monthly payment\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srv_Code\",\n \"name\": \"srv_Code\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grtd_Name\",\n \"name\": \"grtd_Name\",\n \"value\": \"M2M Advanced\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"tp_Code\",\n \"name\": \"tp_Code\",\n \"value\": \"1821105\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"dnm_Name\",\n \"name\": \"dnm_Name\",\n \"value\": \"АП за ТП без ПДВ та ПФ\",\n \"valueType\": \"string\"\n }\n ],\n \"date\": \"2024-07-25T23:59:59\",\n \"description\": \"АП за месяц\",\n \"id\": 1021995207,\n \"isBilled\": true,\n \"logicalResource\": [\n {\n \"name\": \"MSISDN\",\n \"value\": \"380675255616\"\n }\n ],\n \"name\": \"M2M Monthly Fee\",\n \"note\": [\n {\n \"author\": \"etl_process\",\n \"date\": \"2024-07-12T14:32:44.857\",\n \"hostname\": \"RDP-NAPTEC\"\n }\n ],\n \"periodCoverage\": {\n \"startDateTime\": \"2024-06-26T00:00:00\",\n \"endDateTime\": \"2024-07-25T23:59:59\"\n },\n \"product\": {\n \"@referredType\": \"TariffPackage\",\n \"@type\": \"ProductRef\",\n \"id\": \"03-6225\",\n \"name\": \"IoT Platform 30\"\n },\n \"relatedParty\": [\n {\n \"@referredType\": \"Customers\",\n \"id\": \"8662819\",\n \"IDType\": 0\n }\n ],\n \"state\": \"normal\",\n \"taxExcludedAmount\": {\n \"unit\": \"UAH\",\n \"value\": 23.53\n },\n \"taxIncludedAmount\": {\n \"unit\": \"UAH\",\n \"value\": 23.53\n }\n},\n{\n \"appliedBillingRateSubType\": \"recurringCharge\",\n \"appliedBillingRateType\": \"appliedBillingCharge\",\n \"bill\": {\n \"@referredType\": \"CustomerBill\",\n \"@type\": \"CustomerBillRef\",\n \"id\": \"1418687100\",\n \"name\": \"624410403\"\n },\n \"billingAccount\": {\n \"@referredType\": \"BillingAccount\",\n \"@type\": \"BillingAccountRef\",\n \"id\": \"6836892\",\n \"name\": \"75001739432\"\n },\n \"billCycleNo\": \"10030952\",\n \"characteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"characteristicRelationship\": {\n \"@type\": \"CharacteristicRelationship\",\n \"id\": \"1\",\n \"relationshipType\": \"billedAs\"\n },\n \"id\": \"srg_ID_bll\",\n \"name\": \"srg_ID_bll\",\n \"value\": \"216\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sech_DiscountAmount\",\n \"name\": \"sech_DiscountAmount\",\n \"value\": \"0.0\",\n \"valueType\": \"number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sech_DayCount\",\n \"name\": \"sech_DayCount\",\n \"value\": \"30\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sct_ID\",\n \"name\": \"sct_ID\",\n \"value\": \"2\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srg_ID\",\n \"name\": \"srg_ID\",\n \"value\": \"216\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grt_ID\",\n \"name\": \"grt_ID\",\n \"value\": \"153\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"dnm_ID\",\n \"name\": \"dnm_ID\",\n \"value\": \"216\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grt_ExternalID\",\n \"name\": \"grt_ExternalID\",\n \"value\": \"12000\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"idTariffPlan\",\n \"name\": \"idTariffPlan\",\n \"value\": \"6225\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sctd_Name\",\n \"name\": \"sctd_Name\",\n \"value\": \"Subscription fee\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srgd_Name\",\n \"name\": \"srgd_Name\",\n \"value\": \"M2M monthly payment traffic\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srv_Code\",\n \"name\": \"srv_Code\",\n \"value\": \"9301\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grtd_Name\",\n \"name\": \"grtd_Name\",\n \"value\": \"M2M Advanced\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"tp_Code\",\n \"name\": \"tp_Code\",\n \"value\": \"1821105\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"dnm_Name\",\n \"name\": \"dnm_Name\",\n \"value\": \"Передача даних в Україні\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"dtg_UsageType\",\n \"name\": \"dtg_UsageType\",\n \"value\": \"data\",\n \"valueType\": \"string\"\n }\n ],\n \"date\": \"2024-07-25T23:59:59\",\n \"description\": \"by counter\",\n \"id\": 1021995208,\n \"isBilled\": true,\n \"logicalResource\": [\n {\n \"name\": \"MSISDN\",\n \"value\": \"380675255616\"\n }\n ],\n \"name\": \"M2M Data Transmition Penalty Fee (Ukraine)\",\n \"note\": [\n {\n \"author\": \"etl_process\",\n \"date\": \"2024-07-12T14:32:44.86\",\n \"hostname\": \"RDP-NAPTEC\"\n }\n ],\n \"periodCoverage\": {\n \"startDateTime\": \"2024-06-26T00:00:00\",\n \"endDateTime\": \"2024-07-25T23:59:59\"\n },\n \"product\": {\n \"@referredType\": \"TariffPackage\",\n \"@type\": \"ProductRef\",\n \"id\": \"03-6225\",\n \"name\": \"IoT Platform 30\"\n },\n \"relatedParty\": [\n {\n \"@referredType\": \"Customers\",\n \"id\": \"8662819\",\n \"IDType\": 0\n }\n ],\n \"state\": \"normal\",\n \"taxExcludedAmount\": {\n \"unit\": \"UAH\",\n \"value\": 35.29\n },\n \"taxIncludedAmount\": {\n \"unit\": \"UAH\",\n \"value\": 35.29\n }\n},\n{\n \"appliedBillingRateSubType\": \"recurringCharge\",\n \"appliedBillingRateType\": \"appliedBillingCharge\",\n \"bill\": {\n \"@referredType\": \"CustomerBill\",\n \"@type\": \"CustomerBillRef\",\n \"id\": \"1418687100\",\n \"name\": \"624410403\"\n },\n \"billingAccount\": {\n \"@referredType\": \"BillingAccount\",\n \"@type\": \"BillingAccountRef\",\n \"id\": \"6836892\",\n \"name\": \"75001739432\"\n },\n \"billCycleNo\": \"10030952\",\n \"characteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"characteristicRelationship\": {\n \"@type\": \"CharacteristicRelationship\",\n \"id\": \"1\",\n \"relationshipType\": \"billedAs\"\n },\n \"id\": \"srg_ID_bll\",\n \"name\": \"srg_ID_bll\",\n \"value\": \"215\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sech_DiscountAmount\",\n \"name\": \"sech_DiscountAmount\",\n \"value\": \"0.0\",\n \"valueType\": \"number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sech_DayCount\",\n \"name\": \"sech_DayCount\",\n \"value\": \"30\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sct_ID\",\n \"name\": \"sct_ID\",\n \"value\": \"2\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srg_ID\",\n \"name\": \"srg_ID\",\n \"value\": \"215\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grt_ID\",\n \"name\": \"grt_ID\",\n \"value\": \"153\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"dnm_ID\",\n \"name\": \"dnm_ID\",\n \"value\": \"260\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grt_ExternalID\",\n \"name\": \"grt_ExternalID\",\n \"value\": \"12000\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"idTariffPlan\",\n \"name\": \"idTariffPlan\",\n \"value\": \"6225\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sctd_Name\",\n \"name\": \"sctd_Name\",\n \"value\": \"Subscription fee\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srgd_Name\",\n \"name\": \"srgd_Name\",\n \"value\": \"M2M monthly payment\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srv_Code\",\n \"name\": \"srv_Code\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grtd_Name\",\n \"name\": \"grtd_Name\",\n \"value\": \"M2M Advanced\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"tp_Code\",\n \"name\": \"tp_Code\",\n \"value\": \"1821105\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"dnm_Name\",\n \"name\": \"dnm_Name\",\n \"value\": \"АП за ТП без ПДВ та ПФ\",\n \"valueType\": \"string\"\n }\n ],\n \"date\": \"2024-07-25T23:59:59\",\n \"description\": \"АП за месяц\",\n \"id\": 1021995209,\n \"isBilled\": true,\n \"logicalResource\": [\n {\n \"name\": \"MSISDN\",\n \"value\": \"380675255618\"\n }\n ],\n \"name\": \"M2M Monthly Fee\",\n \"note\": [\n {\n \"author\": \"etl_process\",\n \"date\": \"2024-07-12T14:33:11.9\",\n \"hostname\": \"RDP-NAPTEC\"\n }\n ],\n \"periodCoverage\": {\n \"startDateTime\": \"2024-06-26T00:00:00\",\n \"endDateTime\": \"2024-07-25T23:59:59\"\n },\n \"product\": {\n \"@referredType\": \"TariffPackage\",\n \"@type\": \"ProductRef\",\n \"id\": \"03-6225\",\n \"name\": \"IoT Platform 30\"\n },\n \"relatedParty\": [\n {\n \"@referredType\": \"Customers\",\n \"id\": \"8662819\",\n \"IDType\": 0\n }\n ],\n \"state\": \"normal\",\n \"taxExcludedAmount\": {\n \"unit\": \"UAH\",\n \"value\": 23.53\n },\n \"taxIncludedAmount\": {\n \"unit\": \"UAH\",\n \"value\": 23.53\n }\n},\n{\n \"appliedBillingRateSubType\": \"recurringCharge\",\n \"appliedBillingRateType\": \"appliedBillingCharge\",\n \"bill\": {\n \"@referredType\": \"CustomerBill\",\n \"@type\": \"CustomerBillRef\",\n \"id\": \"1418687100\",\n \"name\": \"624410403\"\n },\n \"billingAccount\": {\n \"@referredType\": \"BillingAccount\",\n \"@type\": \"BillingAccountRef\",\n \"id\": \"6836892\",\n \"name\": \"75001739432\"\n },\n \"billCycleNo\": \"10030952\",\n \"characteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"characteristicRelationship\": {\n \"@type\": \"CharacteristicRelationship\",\n \"id\": \"1\",\n \"relationshipType\": \"billedAs\"\n },\n \"id\": \"srg_ID_bll\",\n \"name\": \"srg_ID_bll\",\n \"value\": \"215\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sech_DiscountAmount\",\n \"name\": \"sech_DiscountAmount\",\n \"value\": \"0.0\",\n \"valueType\": \"number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sech_DayCount\",\n \"name\": \"sech_DayCount\",\n \"value\": \"30\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sct_ID\",\n \"name\": \"sct_ID\",\n \"value\": \"2\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srg_ID\",\n \"name\": \"srg_ID\",\n \"value\": \"215\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grt_ID\",\n \"name\": \"grt_ID\",\n \"value\": \"153\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"dnm_ID\",\n \"name\": \"dnm_ID\",\n \"value\": \"260\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grt_ExternalID\",\n \"name\": \"grt_ExternalID\",\n \"value\": \"12000\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"idTariffPlan\",\n \"name\": \"idTariffPlan\",\n \"value\": \"6225\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sctd_Name\",\n \"name\": \"sctd_Name\",\n \"value\": \"Subscription fee\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srgd_Name\",\n \"name\": \"srgd_Name\",\n \"value\": \"M2M monthly payment\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srv_Code\",\n \"name\": \"srv_Code\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grtd_Name\",\n \"name\": \"grtd_Name\",\n \"value\": \"M2M Advanced\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"tp_Code\",\n \"name\": \"tp_Code\",\n \"value\": \"1821105\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"dnm_Name\",\n \"name\": \"dnm_Name\",\n \"value\": \"АП за ТП без ПДВ та ПФ\",\n \"valueType\": \"string\"\n }\n ],\n \"date\": \"2024-07-25T23:59:59\",\n \"description\": \"АП за месяц\",\n \"id\": 1021995210,\n \"isBilled\": true,\n \"logicalResource\": [\n {\n \"name\": \"MSISDN\",\n \"value\": \"380675255733\"\n }\n ],\n \"name\": \"M2M Monthly Fee\",\n \"note\": [\n {\n \"author\": \"etl_process\",\n \"date\": \"2024-07-12T14:33:33.263\",\n \"hostname\": \"RDP-NAPTEC\"\n }\n ],\n \"periodCoverage\": {\n \"startDateTime\": \"2024-06-26T00:00:00\",\n \"endDateTime\": \"2024-07-25T23:59:59\"\n },\n \"product\": {\n \"@referredType\": \"TariffPackage\",\n \"@type\": \"ProductRef\",\n \"id\": \"03-6225\",\n \"name\": \"IoT Platform 30\"\n },\n \"relatedParty\": [\n {\n \"@referredType\": \"Customers\",\n \"id\": \"8662819\",\n \"IDType\": 0\n }\n ],\n \"state\": \"normal\",\n \"taxExcludedAmount\": {\n \"unit\": \"UAH\",\n \"value\": 23.53\n },\n \"taxIncludedAmount\": {\n \"unit\": \"UAH\",\n \"value\": 23.53\n }\n},\n{\n \"appliedBillingRateSubType\": \"recurringCharge\",\n \"appliedBillingRateType\": \"appliedBillingCharge\",\n \"bill\": {\n \"@referredType\": \"CustomerBill\",\n \"@type\": \"CustomerBillRef\",\n \"id\": \"1418687100\",\n \"name\": \"624410403\"\n },\n \"billingAccount\": {\n \"@referredType\": \"BillingAccount\",\n \"@type\": \"BillingAccountRef\",\n \"id\": \"6836892\",\n \"name\": \"75001739432\"\n },\n \"billCycleNo\": \"10030952\",\n \"characteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"characteristicRelationship\": {\n \"@type\": \"CharacteristicRelationship\",\n \"id\": \"1\",\n \"relationshipType\": \"billedAs\"\n },\n \"id\": \"srg_ID_bll\",\n \"name\": \"srg_ID_bll\",\n \"value\": \"215\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sech_DiscountAmount\",\n \"name\": \"sech_DiscountAmount\",\n \"value\": \"0.0\",\n \"valueType\": \"number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sech_DayCount\",\n \"name\": \"sech_DayCount\",\n \"value\": \"30\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sct_ID\",\n \"name\": \"sct_ID\",\n \"value\": \"2\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srg_ID\",\n \"name\": \"srg_ID\",\n \"value\": \"215\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grt_ID\",\n \"name\": \"grt_ID\",\n \"value\": \"153\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"dnm_ID\",\n \"name\": \"dnm_ID\",\n \"value\": \"260\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grt_ExternalID\",\n \"name\": \"grt_ExternalID\",\n \"value\": \"12000\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"idTariffPlan\",\n \"name\": \"idTariffPlan\",\n \"value\": \"6225\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sctd_Name\",\n \"name\": \"sctd_Name\",\n \"value\": \"Subscription fee\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srgd_Name\",\n \"name\": \"srgd_Name\",\n \"value\": \"M2M monthly payment\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srv_Code\",\n \"name\": \"srv_Code\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grtd_Name\",\n \"name\": \"grtd_Name\",\n \"value\": \"M2M Advanced\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"tp_Code\",\n \"name\": \"tp_Code\",\n \"value\": \"1821105\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"dnm_Name\",\n \"name\": \"dnm_Name\",\n \"value\": \"АП за ТП без ПДВ та ПФ\",\n \"valueType\": \"string\"\n }\n ],\n \"date\": \"2024-07-25T23:59:59\",\n \"description\": \"АП за месяц\",\n \"id\": 1021995211,\n \"isBilled\": true,\n \"logicalResource\": [\n {\n \"name\": \"MSISDN\",\n \"value\": \"380675255761\"\n }\n ],\n \"name\": \"M2M Monthly Fee\",\n \"note\": [\n {\n \"author\": \"etl_process\",\n \"date\": \"2024-07-12T14:33:52.06\",\n \"hostname\": \"RDP-NAPTEC\"\n }\n ],\n \"periodCoverage\": {\n \"startDateTime\": \"2024-06-26T00:00:00\",\n \"endDateTime\": \"2024-07-25T23:59:59\"\n },\n \"product\": {\n \"@referredType\": \"TariffPackage\",\n \"@type\": \"ProductRef\",\n \"id\": \"03-6225\",\n \"name\": \"IoT Platform 30\"\n },\n \"relatedParty\": [\n {\n \"@referredType\": \"Customers\",\n \"id\": \"8662819\",\n \"IDType\": 0\n }\n ],\n \"state\": \"normal\",\n \"taxExcludedAmount\": {\n \"unit\": \"UAH\",\n \"value\": 23.53\n },\n \"taxIncludedAmount\": {\n \"unit\": \"UAH\",\n \"value\": 23.53\n }\n},\n{\n \"appliedBillingRateSubType\": \"recurringCharge\",\n \"appliedBillingRateType\": \"appliedBillingCharge\",\n \"bill\": {\n \"@referredType\": \"CustomerBill\",\n \"@type\": \"CustomerBillRef\",\n \"id\": \"1418687100\",\n \"name\": \"624410403\"\n },\n \"billingAccount\": {\n \"@referredType\": \"BillingAccount\",\n \"@type\": \"BillingAccountRef\",\n \"id\": \"6836892\",\n \"name\": \"75001739432\"\n },\n \"billCycleNo\": \"10030952\",\n \"characteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"characteristicRelationship\": {\n \"@type\": \"CharacteristicRelationship\",\n \"id\": \"1\",\n \"relationshipType\": \"billedAs\"\n },\n \"id\": \"srg_ID_bll\",\n \"name\": \"srg_ID_bll\",\n \"value\": \"215\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sech_DiscountAmount\",\n \"name\": \"sech_DiscountAmount\",\n \"value\": \"0.0\",\n \"valueType\": \"number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sech_DayCount\",\n \"name\": \"sech_DayCount\",\n \"value\": \"30\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sct_ID\",\n \"name\": \"sct_ID\",\n \"value\": \"2\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srg_ID\",\n \"name\": \"srg_ID\",\n \"value\": \"215\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grt_ID\",\n \"name\": \"grt_ID\",\n \"value\": \"153\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"dnm_ID\",\n \"name\": \"dnm_ID\",\n \"value\": \"260\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grt_ExternalID\",\n \"name\": \"grt_ExternalID\",\n \"value\": \"12000\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"idTariffPlan\",\n \"name\": \"idTariffPlan\",\n \"value\": \"6225\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sctd_Name\",\n \"name\": \"sctd_Name\",\n \"value\": \"Subscription fee\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srgd_Name\",\n \"name\": \"srgd_Name\",\n \"value\": \"M2M monthly payment\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srv_Code\",\n \"name\": \"srv_Code\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grtd_Name\",\n \"name\": \"grtd_Name\",\n \"value\": \"M2M Advanced\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"tp_Code\",\n \"name\": \"tp_Code\",\n \"value\": \"1821105\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"dnm_Name\",\n \"name\": \"dnm_Name\",\n \"value\": \"АП за ТП без ПДВ та ПФ\",\n \"valueType\": \"string\"\n }\n ],\n \"date\": \"2024-07-25T23:59:59\",\n \"description\": \"АП за месяц\",\n \"id\": 1021995212,\n \"isBilled\": true,\n \"logicalResource\": [\n {\n \"name\": \"MSISDN\",\n \"value\": \"380675255857\"\n }\n ],\n \"name\": \"M2M Monthly Fee\",\n \"note\": [\n {\n \"author\": \"etl_process\",\n \"date\": \"2024-07-12T14:34:11.25\",\n \"hostname\": \"RDP-NAPTEC\"\n }\n ],\n \"periodCoverage\": {\n \"startDateTime\": \"2024-06-26T00:00:00\",\n \"endDateTime\": \"2024-07-25T23:59:59\"\n },\n \"product\": {\n \"@referredType\": \"TariffPackage\",\n \"@type\": \"ProductRef\",\n \"id\": \"03-6225\",\n \"name\": \"IoT Platform 30\"\n },\n \"relatedParty\": [\n {\n \"@referredType\": \"Customers\",\n \"id\": \"8662819\",\n \"IDType\": 0\n }\n ],\n \"state\": \"normal\",\n \"taxExcludedAmount\": {\n \"unit\": \"UAH\",\n \"value\": 23.53\n },\n \"taxIncludedAmount\": {\n \"unit\": \"UAH\",\n \"value\": 23.53\n }\n},\n{\n \"appliedBillingRateSubType\": \"recurringCharge\",\n \"appliedBillingRateType\": \"appliedBillingCharge\",\n \"bill\": {\n \"@referredType\": \"CustomerBill\",\n \"@type\": \"CustomerBillRef\",\n \"id\": \"1418687100\",\n \"name\": \"624410403\"\n },\n \"billingAccount\": {\n \"@referredType\": \"BillingAccount\",\n \"@type\": \"BillingAccountRef\",\n \"id\": \"6836892\",\n \"name\": \"75001739432\"\n },\n \"billCycleNo\": \"10030952\",\n \"characteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"characteristicRelationship\": {\n \"@type\": \"CharacteristicRelationship\",\n \"id\": \"1\",\n \"relationshipType\": \"billedAs\"\n },\n \"id\": \"srg_ID_bll\",\n \"name\": \"srg_ID_bll\",\n \"value\": \"215\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sech_DiscountAmount\",\n \"name\": \"sech_DiscountAmount\",\n \"value\": \"0.0\",\n \"valueType\": \"number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sech_DayCount\",\n \"name\": \"sech_DayCount\",\n \"value\": \"30\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sct_ID\",\n \"name\": \"sct_ID\",\n \"value\": \"2\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srg_ID\",\n \"name\": \"srg_ID\",\n \"value\": \"215\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grt_ID\",\n \"name\": \"grt_ID\",\n \"value\": \"153\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"dnm_ID\",\n \"name\": \"dnm_ID\",\n \"value\": \"260\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grt_ExternalID\",\n \"name\": \"grt_ExternalID\",\n \"value\": \"12000\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"idTariffPlan\",\n \"name\": \"idTariffPlan\",\n \"value\": \"6225\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sctd_Name\",\n \"name\": \"sctd_Name\",\n \"value\": \"Subscription fee\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srgd_Name\",\n \"name\": \"srgd_Name\",\n \"value\": \"M2M monthly payment\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srv_Code\",\n \"name\": \"srv_Code\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grtd_Name\",\n \"name\": \"grtd_Name\",\n \"value\": \"M2M Advanced\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"tp_Code\",\n \"name\": \"tp_Code\",\n \"value\": \"1821105\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"dnm_Name\",\n \"name\": \"dnm_Name\",\n \"value\": \"АП за ТП без ПДВ та ПФ\",\n \"valueType\": \"string\"\n }\n ],\n \"date\": \"2024-07-25T23:59:59\",\n \"description\": \"АП за месяц\",\n \"id\": 1021995213,\n \"isBilled\": true,\n \"logicalResource\": [\n {\n \"name\": \"MSISDN\",\n \"value\": \"380675256778\"\n }\n ],\n \"name\": \"M2M Monthly Fee\",\n \"note\": [\n {\n \"author\": \"etl_process\",\n \"date\": \"2024-07-12T14:34:27.95\",\n \"hostname\": \"RDP-NAPTEC\"\n }\n ],\n \"periodCoverage\": {\n \"startDateTime\": \"2024-06-26T00:00:00\",\n \"endDateTime\": \"2024-07-25T23:59:59\"\n },\n \"product\": {\n \"@referredType\": \"TariffPackage\",\n \"@type\": \"ProductRef\",\n \"id\": \"03-6225\",\n \"name\": \"IoT Platform 30\"\n },\n \"relatedParty\": [\n {\n \"@referredType\": \"Customers\",\n \"id\": \"8662819\",\n \"IDType\": 0\n }\n ],\n \"state\": \"normal\",\n \"taxExcludedAmount\": {\n \"unit\": \"UAH\",\n \"value\": 23.53\n },\n \"taxIncludedAmount\": {\n \"unit\": \"UAH\",\n \"value\": 23.53\n }\n},\n{\n \"appliedBillingRateSubType\": \"recurringCharge\",\n \"appliedBillingRateType\": \"appliedBillingCharge\",\n \"bill\": {\n \"@referredType\": \"CustomerBill\",\n \"@type\": \"CustomerBillRef\",\n \"id\": \"1418687100\",\n \"name\": \"624410403\"\n },\n \"billingAccount\": {\n \"@referredType\": \"BillingAccount\",\n \"@type\": \"BillingAccountRef\",\n \"id\": \"6836892\",\n \"name\": \"75001739432\"\n },\n \"billCycleNo\": \"10030952\",\n \"characteristic\": [\n {\n \"@type\": \"Characteristic\",\n \"characteristicRelationship\": {\n \"@type\": \"CharacteristicRelationship\",\n \"id\": \"1\",\n \"relationshipType\": \"billedAs\"\n },\n \"id\": \"srg_ID_bll\",\n \"name\": \"srg_ID_bll\",\n \"value\": \"215\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sech_DiscountAmount\",\n \"name\": \"sech_DiscountAmount\",\n \"value\": \"0.0\",\n \"valueType\": \"number\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sech_DayCount\",\n \"name\": \"sech_DayCount\",\n \"value\": \"30\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sct_ID\",\n \"name\": \"sct_ID\",\n \"value\": \"2\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srg_ID\",\n \"name\": \"srg_ID\",\n \"value\": \"215\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grt_ID\",\n \"name\": \"grt_ID\",\n \"value\": \"153\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"dnm_ID\",\n \"name\": \"dnm_ID\",\n \"value\": \"260\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grt_ExternalID\",\n \"name\": \"grt_ExternalID\",\n \"value\": \"12000\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"idTariffPlan\",\n \"name\": \"idTariffPlan\",\n \"value\": \"6225\",\n \"valueType\": \"integer\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"sctd_Name\",\n \"name\": \"sctd_Name\",\n \"value\": \"Subscription fee\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srgd_Name\",\n \"name\": \"srgd_Name\",\n \"value\": \"M2M monthly payment\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"srv_Code\",\n \"name\": \"srv_Code\",\n \"value\": \"9000\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"grtd_Name\",\n \"name\": \"grtd_Name\",\n \"value\": \"M2M Advanced\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"tp_Code\",\n \"name\": \"tp_Code\",\n \"value\": \"1821105\",\n \"valueType\": \"string\"\n },\n {\n \"@type\": \"Characteristic\",\n \"id\": \"dnm_Name\",\n \"name\": \"dnm_Name\",\n \"value\": \"АП за ТП без ПДВ та ПФ\",\n \"valueType\": \"string\"\n }\n ],\n \"date\": \"2024-07-25T23:59:59\",\n \"description\": \"АП за месяц\",\n \"id\": 1021995214,\n \"isBilled\": true,\n \"logicalResource\": [\n {\n \"name\": \"MSISDN\",\n \"value\": \"380675256872\"\n }\n ],\n \"name\": \"M2M Monthly Fee\",\n \"note\": [\n {\n \"author\": \"etl_process\",\n \"date\": \"2024-07-12T14:34:43.35\",\n \"hostname\": \"RDP-NAPTEC\"\n }\n ],\n \"periodCoverage\": {\n \"startDateTime\": \"2024-06-26T00:00:00\",\n \"endDateTime\": \"2024-07-25T23:59:59\"\n },\n \"product\": {\n \"@referredType\": \"TariffPackage\",\n \"@type\": \"ProductRef\",\n \"id\": \"03-6225\",\n \"name\": \"IoT Platform 30\"\n },\n \"relatedParty\": [\n {\n \"@referredType\": \"Customers\",\n \"id\": \"8662819\",\n \"IDType\": 0\n }\n ],\n \"state\": \"normal\",\n \"taxExcludedAmount\": {\n \"unit\": \"UAH\",\n \"value\": 23.53\n },\n \"taxIncludedAmount\": {\n \"unit\": \"UAH\",\n \"value\": 23.53\n }\n}\n]\n" } ] } diff --git a/tmforum-apis/TMF678_Customer_Bill_Management/TMF678_Get_AppliedCustomerBillingRate.bpmn b/tmforum-apis/TMF678_Customer_Bill_Management/TMF678_Get_AppliedCustomerBillingRate.bpmn index 7c1b3f7..7c76c97 100644 --- a/tmforum-apis/TMF678_Customer_Bill_Management/TMF678_Get_AppliedCustomerBillingRate.bpmn +++ b/tmforum-apis/TMF678_Customer_Bill_Management/TMF678_Get_AppliedCustomerBillingRate.bpmn @@ -7,7 +7,7 @@ [] [ { "name": "RestApi", "initCode": "functions://default/RestApi", "initParameters": [ { "name": "Uri", "type": "Uri", "required": true, "oldName": "Uri", "defaultValue": "http://servername:port/resource" }, { "name": "Method", "type": "String", "required": true, "oldName": "Method", "defaultValue": "GET" }, { "name": "Login", "type": "String", "required": false, "oldName": "Login", "defaultValue": null }, { "name": "Password", "type": "String", "required": false, "oldName": "Password", "defaultValue": null }, { "name": "Headers", "type": "StringDictionary", "required": false, "oldName": "Headers", "defaultValue": "{\r\n \"Content-Type\":\"application/json;charset=utf-16\",\r\n \"system\":\"204\",\r\n \"global_unique_id\":\"6a297fcb-956e-4228-8c11-017e9bacd629\"\r\n }" }, { "name": "Body", "type": "String", "required": false, "oldName": "Body", "defaultValue": "{}" }, { "name": "Encoding", "type": "String", "required": false, "oldName": "Encoding", "defaultValue": "utf-8" }, { "name": "Result", "type": "HttpResponse", "required": false, "oldName": "Result", "defaultValue": null } ], "oldName": "RestApi" }, { "name": "RestApi_Get", "initCode": "functions://default/RestApi/Get", "initParameters": [ { "name": "Uri", "type": "Uri", "required": true, "oldName": "Uri", "defaultValue": "http://servername:port/resource" }, { "name": "Login", "type": "String", "required": false, "oldName": "Login", "defaultValue": null }, { "name": "Password", "type": "String", "required": false, "oldName": "Password", "defaultValue": null }, { "name": "Headers", "type": "StringDictionary", "required": false, "oldName": "Headers", "defaultValue": "{\r\n \"Content-Type\":\"application/json;charset=utf-16\",\r\n \"system\":\"204\",\r\n \"global_unique_id\":\"6a297fcb-956e-4228-8c11-017e9bacd629\"\r\n }" }, { "name": "Encoding", "type": "String", "required": false, "oldName": "Encoding", "defaultValue": "utf-8" }, { "name": "Result", "type": "HttpResponse", "required": false, "oldName": "Result", "defaultValue": null } ], "oldName": "RestApi_Get" }, { "name": "JsonPath", "initCode": "functions://default//JsonPath", "initParameters": [ { "name": "Response", "type": "HttpResponse", "required": true, "oldName": "Response", "defaultValue": null }, { "name": "Path", "type": "String", "required": false, "oldName": "Path", "defaultValue": "$" }, { "name": "Result", "type": "Json", "required": false, "oldName": "Result", "defaultValue": null } ], "oldName": "JsonPath" }, { "name": "SaveVariable", "initCode": "functions://default//SaveVariable", "initParameters": [ { "name": "VariableName", "type": "string", "required": true, "oldName": "VariableName", "defaultValue": "varName" }, { "name": "Data", "type": "object", "required": true, "oldName": "Data", "defaultValue": "#previous" } ], "oldName": "SaveVariable" }, { "name": "Wait", "initCode": "functions://default//Wait", "initParameters": [ { "name": "millisecondsTimeout", "type": "int", "required": true, "oldName": "millisecondsTimeout", "defaultValue": "1000" } ], "oldName": "Wait" }, { "name": "SQL_Oracle_Query", "initCode": "functions://default//SQL/Oracle/Query", "initParameters": [ { "name": "userID", "type": "String", "required": true, "oldName": "userID", "defaultValue": null }, { "name": "password", "type": "String", "required": false, "oldName": "password", "defaultValue": null }, { "name": "dataSource", "type": "String", "required": false, "oldName": "dataSource", "defaultValue": null }, { "name": "query", "type": "String", "required": false, "oldName": "query", "defaultValue": null }, { "name": "Result", "type": "Collection", "required": false, "oldName": "Result", "defaultValue": null } ], "oldName": "SQL_Oracle_Query" }, { "name": "SQL_Oracle_Command", "initCode": "functions://default//SQL/Oracle/Command", "initParameters": [ { "name": "userID", "type": "String", "required": true, "oldName": "userID", "defaultValue": null }, { "name": "password", "type": "String", "required": false, "oldName": "password", "defaultValue": null }, { "name": "dataSource", "type": "String", "required": false, "oldName": "dataSource", "defaultValue": null }, { "name": "command", "type": "String", "required": false, "oldName": "command", "defaultValue": null }, { "name": "Result", "type": "int", "required": false, "oldName": "Result", "defaultValue": null } ], "oldName": "SQL_Oracle_Command" }] [] - [ { "name": "oracleConfig", "type": "OracleConfig", "initialValue": "{\r\n \"userId\":\"login\",\r\n \"password\":\"password\",\r\n \"dataSource\":\"10.49.1.198:1521/bisdb_prm.kyivstar.ua\"\r\n}\r\n" }, { "name": "httpConfig", "type": "HttpConfig", "initialValue": "{\r\n \"host\":\"https://10.29.101.122\",\r\n \"port\":\"6992\",\r\n \"login\":\"login\",\r\n \"password\":\"password\",\r\n \"encoding\":\"utf-8\",\r\n \"headers\":{\r\n \"Content-Type\":\"application/vnd.api+json\",\r\n \"Accept\":\"application/vnd.api+json\"\r\n }\r\n}\r\n" }, { "name": "sqlConnectionString", "type": "string", "initialValue": "Data Source=sqlserv;Initial Catalog=unibill;User ID=login;Password=password;MultipleActiveResultSets=true;Encrypt=True;TrustServerCertificate=True;Command Timeout=3600" }, { "name": "cacheId", "type": "string", "initialValue": null }, { "name": "cacheStatus", "type": "string", "initialValue": null }, { "name": "x_page_count", "type": "Int", "initialValue": "" }] + [ { "name": "oracleConfig", "type": "OracleConfig", "initialValue": "{\r\n \"userId\":\"login\",\r\n \"password\":\"password\",\r\n \"dataSource\":\"localhost:1521/XEPDB1\"\r\n}\r\n" }, { "name": "httpConfig", "type": "HttpConfig", "initialValue": "{\r\n \"host\":\"https://localhost\",\r\n \"port\":\"6992\",\r\n \"login\":\"login\",\r\n \"password\":\"password\",\r\n \"encoding\":\"utf-8\",\r\n \"headers\":{\r\n \"Content-Type\":\"application/vnd.api+json\",\r\n \"Accept\":\"application/vnd.api+json\"\r\n }\r\n}\r\n" }, { "name": "sqlConnectionString", "type": "string", "initialValue": "Data Source=localhost;Initial Catalog=examples;User ID=login;Password=;MultipleActiveResultSets=true;Encrypt=True;TrustServerCertificate=True;Command Timeout=3600" }, { "name": "cacheId", "type": "string", "initialValue": null }, { "name": "cacheStatus", "type": "string", "initialValue": null }, { "name": "x_page_count", "type": "Int", "initialValue": "" }] { "offset": 1, "limit": 50, "externalId": [ { "@type": "externalId", "externalIdentifierType": "Extentions", "id": "456" } ], "relatedParty": [ { "@referredType": "Customers", "id": 7702142, "IDType": 0 } ], "sort": "-id"} diff --git a/tmforum-apis/TMF678_Customer_Bill_Management/TMF678_Get_BillingCycle.bpmn b/tmforum-apis/TMF678_Customer_Bill_Management/TMF678_Get_BillingCycle.bpmn index c78701e..276b89c 100644 --- a/tmforum-apis/TMF678_Customer_Bill_Management/TMF678_Get_BillingCycle.bpmn +++ b/tmforum-apis/TMF678_Customer_Bill_Management/TMF678_Get_BillingCycle.bpmn @@ -8,7 +8,7 @@ [] [{"name":"RestApi","initCode":"functions://default/RestApi","initParameters":[{"name":"Uri","type":"Uri","required":true,"oldName":"Uri","defaultValue":"http://servername:port/resource"},{"name":"Method","type":"String","required":true,"oldName":"Method","defaultValue":"GET"},{"name":"Login","type":"String","required":false,"oldName":"Login","defaultValue":null},{"name":"Password","type":"String","required":false,"oldName":"Password","defaultValue":null},{"name":"Headers","type":"StringDictionary","required":false,"oldName":"Headers","defaultValue":"{\r\n \"Content-Type\":\"application/json;charset=utf-16\",\r\n \"system\":\"204\",\r\n \"global_unique_id\":\"6a297fcb-956e-4228-8c11-017e9bacd629\"\r\n }"},{"name":"Body","type":"String","required":false,"oldName":"Body","defaultValue":"{}"},{"name":"Encoding","type":"String","required":false,"oldName":"Encoding","defaultValue":"utf-8"},{"name":"Result","type":"HttpResponse","required":false,"oldName":"Result","defaultValue":null}],"oldName":"RestApi"},{"name":"RestApi_Get","initCode":"functions://default/RestApi/Get","initParameters":[{"name":"Uri","type":"Uri","required":true,"oldName":"Uri","defaultValue":"http://servername:port/resource"},{"name":"Login","type":"String","required":false,"oldName":"Login","defaultValue":null},{"name":"Password","type":"String","required":false,"oldName":"Password","defaultValue":null},{"name":"Headers","type":"StringDictionary","required":false,"oldName":"Headers","defaultValue":"{\r\n \"Content-Type\":\"application/json;charset=utf-16\",\r\n \"system\":\"204\",\r\n \"global_unique_id\":\"6a297fcb-956e-4228-8c11-017e9bacd629\"\r\n }"},{"name":"Encoding","type":"String","required":false,"oldName":"Encoding","defaultValue":"utf-8"},{"name":"Result","type":"HttpResponse","required":false,"oldName":"Result","defaultValue":null}],"oldName":"RestApi_Get"},{"name":"JsonPath","initCode":"functions://default//JsonPath","initParameters":[{"name":"Response","type":"HttpResponse","required":true,"oldName":"Response","defaultValue":null},{"name":"Path","type":"String","required":false,"oldName":"Path","defaultValue":"$"},{"name":"Result","type":"Json","required":false,"oldName":"Result","defaultValue":null}],"oldName":"JsonPath"},{"name":"SaveVariable","initCode":"functions://default//SaveVariable","initParameters":[{"name":"VariableName","type":"string","required":true,"oldName":"VariableName","defaultValue":"varName"},{"name":"Data","type":"object","required":true,"oldName":"Data","defaultValue":"#previous"}],"oldName":"SaveVariable"},{"name":"Wait","initCode":"functions://default//Wait","initParameters":[{"name":"millisecondsTimeout","type":"int","required":true,"oldName":"millisecondsTimeout","defaultValue":"1000"}],"oldName":"Wait"},{"name":"SQL_Oracle_Query","initCode":"functions://default//SQL/Oracle/Query","initParameters":[{"name":"userID","type":"String","required":true,"oldName":"userID","defaultValue":null},{"name":"password","type":"String","required":false,"oldName":"password","defaultValue":null},{"name":"dataSource","type":"String","required":false,"oldName":"dataSource","defaultValue":null},{"name":"query","type":"String","required":false,"oldName":"query","defaultValue":null},{"name":"Result","type":"Collection","required":false,"oldName":"Result","defaultValue":null}],"oldName":"SQL_Oracle_Query"},{"name":"SQL_Oracle_Command","initCode":"functions://default//SQL/Oracle/Command","initParameters":[{"name":"userID","type":"String","required":true,"oldName":"userID","defaultValue":null},{"name":"password","type":"String","required":false,"oldName":"password","defaultValue":null},{"name":"dataSource","type":"String","required":false,"oldName":"dataSource","defaultValue":null},{"name":"command","type":"String","required":false,"oldName":"command","defaultValue":null},{"name":"Result","type":"int","required":false,"oldName":"Result","defaultValue":null}],"oldName":"SQL_Oracle_Command"}] [] - [{"name":"oracleConfig","type":"OracleConfig","initialValue":"{\r\n \"userId\":\"username\",\r\n \"password\":\"password\",\r\n \"dataSource\":\"127.0.0.1:1521/oracledb.local\"\r\n}\r\n"},{"name":"httpConfig","type":"HttpConfig","initialValue":"{\r\n \"host\":\"https://127.0.0.1\",\r\n \"port\":\"6992\",\r\n \"login\":\"username\",\r\n \"password\":\"password\",\r\n \"encoding\":\"utf-8\",\r\n \"headers\":{\r\n \"Content-Type\":\"application/vnd.api+json\",\r\n \"Accept\":\"application/vnd.api+json\"\r\n }\r\n}\r\n"},{"name":"sqlConnectionString","type":"string","initialValue":"Data Source=sqlserv;Initial Catalog=unibill;User ID=username;Password=password;MultipleActiveResultSets=true;Encrypt=True;TrustServerCertificate=True;Command Timeout=3600"},{"name":"cacheId","type":"string","initialValue":null},{"name":"cacheStatus","type":"string","initialValue":null},{"name":"x_page_count","type":"Int","initialValue":""}] + [{"name":"oracleConfig","type":"OracleConfig","initialValue":"{\r\n \"userId\":\"username\",\r\n \"password\":\"password\",\r\n \"dataSource\":\"127.0.0.1:1521/oracledb.local\"\r\n}\r\n"},{"name":"httpConfig","type":"HttpConfig","initialValue":"{\r\n \"host\":\"https://127.0.0.1\",\r\n \"port\":\"6992\",\r\n \"login\":\"username\",\r\n \"password\":\"password\",\r\n \"encoding\":\"utf-8\",\r\n \"headers\":{\r\n \"Content-Type\":\"application/vnd.api+json\",\r\n \"Accept\":\"application/vnd.api+json\"\r\n }\r\n}\r\n"},{"name":"sqlConnectionString","type":"string","initialValue":"Data Source=localhost;Initial Catalog=examples;User ID=username;Password=;MultipleActiveResultSets=true;Encrypt=True;TrustServerCertificate=True;Command Timeout=3600"},{"name":"cacheId","type":"string","initialValue":null},{"name":"cacheStatus","type":"string","initialValue":null},{"name":"x_page_count","type":"Int","initialValue":""}] {"offset":1,"limit":50,"externalId":[{"@type":"externalId","externalIdentifierType":"Extentions","id":"456"}],"relatedParty":[{"@referredType":"Customers","id":7702142,"IDType":0}],"sort":"-id"} diff --git a/tmforum-apis/TMF688_Event_Management/TMF688_Delete_Topic.bpmn b/tmforum-apis/TMF688_Event_Management/TMF688_Delete_Topic.bpmn index 8a4b414..15a77e8 100644 --- a/tmforum-apis/TMF688_Event_Management/TMF688_Delete_Topic.bpmn +++ b/tmforum-apis/TMF688_Event_Management/TMF688_Delete_Topic.bpmn @@ -7,13 +7,13 @@ [] [ { "name": "RestApi", "initCode": "functions://default/RestApi", "initParameters": [ { "name": "Uri", "type": "Uri", "required": true, "oldName": "Uri", "oldType": "Uri", "defaultValue": "http://servername:port/resource" }, { "name": "Method", "type": "string", "required": true, "oldName": "Method", "oldType": "string", "defaultValue": "GET" }, { "name": "Login", "type": "string", "required": false, "oldName": "Login", "oldType": "string", "defaultValue": null }, { "name": "Password", "type": "string", "required": false, "oldName": "Password", "oldType": "string", "defaultValue": null }, { "name": "Headers", "type": "StringDictionary", "required": false, "oldName": "Headers", "oldType": "StringDictionary", "defaultValue": "{\r\n \"Content-Type\":\"application/json;charset=utf-16\",\r\n \"system\":\"204\",\r\n \"global_unique_id\":\"6a297fcb-956e-4228-8c11-017e9bacd629\"\r\n }" }, { "name": "Body", "type": "string", "required": false, "oldName": "Body", "oldType": "string", "defaultValue": "{}" }, { "name": "Encoding", "type": "string", "required": false, "oldName": "Encoding", "oldType": "string", "defaultValue": "utf-8" }, { "name": "Result", "type": "HttpResponse", "required": false, "oldName": "Result", "oldType": "HttpResponse", "defaultValue": null } ], "oldName": "RestApi" }, { "name": "RestApi_Get", "initCode": "functions://default/RestApi/Get", "initParameters": [ { "name": "Uri", "type": "Uri", "required": true, "oldName": "Uri", "oldType": "Uri", "defaultValue": "http://servername:port/resource" }, { "name": "Login", "type": "string", "required": false, "oldName": "Login", "oldType": "string", "defaultValue": null }, { "name": "Password", "type": "string", "required": false, "oldName": "Password", "oldType": "string", "defaultValue": null }, { "name": "Headers", "type": "StringDictionary", "required": false, "oldName": "Headers", "oldType": "StringDictionary", "defaultValue": "{\r\n \"Content-Type\":\"application/json;charset=utf-16\",\r\n \"system\":\"204\",\r\n \"global_unique_id\":\"6a297fcb-956e-4228-8c11-017e9bacd629\"\r\n }" }, { "name": "Encoding", "type": "string", "required": false, "oldName": "Encoding", "oldType": "string", "defaultValue": "utf-8" }, { "name": "Result", "type": "HttpResponse", "required": false, "oldName": "Result", "oldType": "HttpResponse", "defaultValue": null } ], "oldName": "RestApi_Get" }, { "name": "JsonPath", "initCode": "functions://default//JsonPath", "initParameters": [ { "name": "Response", "type": "HttpResponse", "required": true, "oldName": "Response", "oldType": "HttpResponse", "defaultValue": null }, { "name": "Path", "type": "string", "required": false, "oldName": "Path", "oldType": "string", "defaultValue": "$" }, { "name": "Result", "type": "Json", "required": false, "oldName": "Result", "oldType": "Json", "defaultValue": null } ], "oldName": "JsonPath" }, { "name": "SaveVariable", "initCode": "functions://default//SaveVariable", "initParameters": [ { "name": "VariableName", "type": "string", "required": true, "oldName": "VariableName", "oldType": "string", "defaultValue": "varName" }, { "name": "Data", "type": "object", "required": true, "oldName": "Data", "oldType": "object", "defaultValue": "#previous" } ], "oldName": "SaveVariable" }, { "name": "Wait", "initCode": "functions://default//Wait", "initParameters": [ { "name": "millisecondsTimeout", "type": "int", "required": true, "oldName": "millisecondsTimeout", "oldType": "int", "defaultValue": "1000" } ], "oldName": "Wait" }, { "name": "SQL_Oracle_Query", "initCode": "functions://default//SQL/Oracle/Query", "initParameters": [ { "name": "userID", "type": "string", "required": true, "oldName": "userID", "oldType": "string", "defaultValue": null }, { "name": "password", "type": "string", "required": false, "oldName": "password", "oldType": "string", "defaultValue": null }, { "name": "dataSource", "type": "string", "required": false, "oldName": "dataSource", "oldType": "string", "defaultValue": null }, { "name": "query", "type": "string", "required": false, "oldName": "query", "oldType": "string", "defaultValue": null }, { "name": "Result", "type": "Collection", "required": false, "oldName": "Result", "oldType": "Collection", "defaultValue": null } ], "oldName": "SQL_Oracle_Query" }, { "name": "SQL_Oracle_Command", "initCode": "functions://default//SQL/Oracle/Command", "initParameters": [ { "name": "userID", "type": "string", "required": true, "oldName": "userID", "oldType": "string", "defaultValue": null }, { "name": "password", "type": "string", "required": false, "oldName": "password", "oldType": "string", "defaultValue": null }, { "name": "dataSource", "type": "string", "required": false, "oldName": "dataSource", "oldType": "string", "defaultValue": null }, { "name": "command", "type": "string", "required": false, "oldName": "command", "oldType": "string", "defaultValue": null }, { "name": "Result", "type": "int", "required": false, "oldName": "Result", "oldType": "int", "defaultValue": null } ], "oldName": "SQL_Oracle_Command" }] [] - [ { "name": "httpConfig", "type": "HttpConfig", "initialValue": "{\r\n \"host\":\"https://10.29.101.122\",\r\n \"port\":\"6992\",\r\n \"login\":\"login\",\r\n \"password\":\"password\",\r\n \"encoding\":\"utf-8\",\r\n \"headers\":{\r\n \"Content-Type\":\"application/vnd.api+json\",\r\n \"Accept\":\"application/vnd.api+json\"\r\n }\r\n}\r\n" }, { "name": "sqlConnectionString", "type": "string", "initialValue": "Data Source=sqlserv;Initial Catalog=unibill;User ID=login;Password=password;MultipleActiveResultSets=true;Encrypt=True;TrustServerCertificate=True;Command Timeout=3600" }] - { "serviceDate": "2023-11-01T00:00:00Z", "@type": "Service", "serviceSpecification": { "@type": "serviceSpecification", "id": "Mobile" }, "note": [ { "author": "domain+username", "hostname": "192.156.7.77", "text": "creating GSM services", "@type": "Note" } ], "supportingService": [ { "@type": "Service", "serviceSpecification": { "id": "SIM" }, "state": "activ", "serviceCharacteristic": [ { "valueType": "string", "id": "scrd_IMSI", "value": "228012176510739" }, { "valueType": "string", "id": "scrt_Code", "value": "UNI" }, { "valueType": "string", "id": "scrg_Code", "value": "default" }, { "valueType": "Integer", "id": "scrd_ICC", "value": 1 }, { "valueType": "string", "id": "scrd_PUK1", "value": "01231234" }, { "valueType": "string", "id": "scrd_PUK2", "value": "01231234" }, { "valueType": "string", "id": "scrd_PIN1", "value": "0123" }, { "valueType": "string", "id": "scrd_PIN2", "value": "0123" }, { "valueType": "date-time", "id": "scrd_ExpirationDate", "value": "2999-12-31T23:59:59.997Z" } ] } ], "relatedParty": [ { "@referredType": "Customers", "id": "7702703", "IDType": 0 } ], "feature": [ { "@type": "Feature", "isEnabled": false, "name": "M2M Data Transmition Access", "featureCharacteristic": [ { "id": "ServiceCode", "valueType": "string", "value": "9215" }, { "id": "StatusCode", "valueType": "String", "value": "FinBlock" } ] }, { "@type": "Feature", "isEnabled": false, "name": "M2M SMS", "featureCharacteristic": [ { "id": "ServiceCode", "valueType": "string", "value": "9201" }, { "id": "StatusCode", "valueType": "String", "value": "FinBlock" } ] } ], "id": "7702744", "state": "activ", "category": "GSM", "startDate": "2023-11-01T00:00:00Z", "serviceCharacteristic": [ { "valueType": "string", "id": "MSISDN", "value": "38671234567" } ]} + [ { "name": "httpConfig", "type": "HttpConfig", "initialValue": "{\r\n \"host\":\"https://localhost\",\r\n \"port\":\"6992\",\r\n \"login\":\"login\",\r\n \"password\":\"password\",\r\n \"encoding\":\"utf-8\",\r\n \"headers\":{\r\n \"Content-Type\":\"application/vnd.api+json\",\r\n \"Accept\":\"application/vnd.api+json\"\r\n }\r\n}\r\n" }, { "name": "sqlConnectionString", "type": "string", "initialValue": "Data Source=localhost;Initial Catalog=examples;User ID=login;Password=;MultipleActiveResultSets=true;Encrypt=True;TrustServerCertificate=True;Command Timeout=3600" }] + { "serviceDate": "2023-11-01T00:00:00Z", "@type": "Service", "serviceSpecification": { "@type": "serviceSpecification", "id": "Mobile" }, "note": [ { "author": "domain+username", "hostname": "localhost", "text": "creating GSM services", "@type": "Note" } ], "supportingService": [ { "@type": "Service", "serviceSpecification": { "id": "SIM" }, "state": "activ", "serviceCharacteristic": [ { "valueType": "string", "id": "scrd_IMSI", "value": "228012176510739" }, { "valueType": "string", "id": "scrt_Code", "value": "UNI" }, { "valueType": "string", "id": "scrg_Code", "value": "default" }, { "valueType": "Integer", "id": "scrd_ICC", "value": 1 }, { "valueType": "string", "id": "scrd_PUK1", "value": "01231234" }, { "valueType": "string", "id": "scrd_PUK2", "value": "01231234" }, { "valueType": "string", "id": "scrd_PIN1", "value": "0123" }, { "valueType": "string", "id": "scrd_PIN2", "value": "0123" }, { "valueType": "date-time", "id": "scrd_ExpirationDate", "value": "2999-12-31T23:59:59.997Z" } ] } ], "relatedParty": [ { "@referredType": "Customers", "id": "7702703", "IDType": 0 } ], "feature": [ { "@type": "Feature", "isEnabled": false, "name": "M2M Data Transmition Access", "featureCharacteristic": [ { "id": "ServiceCode", "valueType": "string", "value": "9215" }, { "id": "StatusCode", "valueType": "String", "value": "FinBlock" } ] }, { "@type": "Feature", "isEnabled": false, "name": "M2M SMS", "featureCharacteristic": [ { "id": "ServiceCode", "valueType": "string", "value": "9201" }, { "id": "StatusCode", "valueType": "String", "value": "FinBlock" } ] } ], "id": "7702744", "state": "activ", "category": "GSM", "startDate": "2023-11-01T00:00:00Z", "serviceCharacteristic": [ { "valueType": "string", "id": "MSISDN", "value": "38671234567" } ]} - { "status": "HttpRequestAttributes", "method": "DEL", "route": "topic/{id}", "examples": { "SUCCESS Activation with RA Block for Services": { "summary": "", "description": "", "value": "{\n \"serviceDate\":\"2023-11-01T00:00:00.000Z\",\n \"@type\":\"Service\",\n \"serviceSpecification\":{\n \"@type\":\"serviceSpecification\",\n \"id\":\"Mobile\"\n },\n \"note\":[\n {\n \"author\":\"domain+username\",\n \"hostname\":\"192.156.7.77\",\n \"text\":\"creating GSM services\",\n \"@type\":\"Note\"\n }\n ],\n \"supportingService\":[\n {\n \"@type\":\"Service\",\n \"serviceSpecification\":{\n \"id\":\"SIM\"\n },\n \"state\":\"activ\",\n \"serviceCharacteristic\":[\n {\n \"valueType\":\"string\",\n \"id\":\"scrd_IMSI\",\n \"value\":\"228012176510739\"\n },\n {\n \"valueType\":\"string\",\n \"id\":\"scrt_Code\",\n \"value\":\"UNI\"\n },\n {\n \"valueType\":\"string\",\n \"id\":\"scrg_Code\",\n \"value\":\"default\"\n },\n {\n \"valueType\":\"Integer\",\n \"id\":\"scrd_ICC\",\n \"value\":1\n },\n {\n \"valueType\":\"string\",\n \"id\":\"scrd_PUK1\",\n \"value\":\"01231234\"\n },\n {\n \"valueType\":\"string\",\n \"id\":\"scrd_PUK2\",\n \"value\":\"01231234\"\n },\n {\n \"valueType\":\"string\",\n \"id\":\"scrd_PIN1\",\n \"value\":\"0123\"\n },\n {\n \"valueType\":\"string\",\n \"id\":\"scrd_PIN2\",\n \"value\":\"0123\"\n },\n {\n \"valueType\":\"date-time\",\n \"id\":\"scrd_ExpirationDate\",\n \"value\":\"2999-12-31T23:59:59.997Z\"\n }\n ]\n }\n ],\n \"relatedParty\":[\n {\n \"@referredType\":\"Customers\",\n \"id\":\"7702703\",\n \"IDType\":0\n }\n ],\n \"feature\":[\n {\n \"@type\":\"Feature\",\n \"isEnabled\":false,\n \"name\":\"M2M Data Transmition Access\",\n \"featureCharacteristic\":[\n {\n \"id\":\"ServiceCode\",\n \"valueType\":\"string\",\n \"value\":\"9215\"\n },\n {\n \"id\":\"StatusCode\",\n \"valueType\":\"String\",\n \"value\":\"FinBlock\"\n }\n ]\n },\n {\n \"@type\":\"Feature\",\n \"isEnabled\":false,\n \"name\":\"M2M SMS\",\n \"featureCharacteristic\":[\n {\n \"id\":\"ServiceCode\",\n \"valueType\":\"string\",\n \"value\":\"9201\"\n },\n {\n \"id\":\"StatusCode\",\n \"valueType\":\"String\",\n \"value\":\"FinBlock\"\n }\n ]\n }\n],\n \"id\":\"7702744\",\n \"state\":\"activ\",\n \"category\":\"GSM\",\n \"startDate\":\"2023-11-01T00:00:00.000Z\",\n \"serviceCharacteristic\":[\n {\n \"valueType\":\"string\",\n \"id\":\"MSISDN\",\n \"value\":\"38671234567\"\n }\n ]\n}" }, "Disable a Service Feature": { "summary": "", "description": "", "value": "{\n \"note\":[\n {\n \"author\":\"domain+username\",\n \"hostname\":\"192.156.7.77\",\n \"text\":\"creating GSM services\",\n \"@type\":\"Note\"\n }\n ],\n \"feature\":[\n {\n \"@type\":\"Feature\",\n \"isEnabled\":false,\n \"featureCharacteristic\":[\n {\n \"id\":\"ServiceCode\",\n \"valueType\":\"string\",\n \"value\":\"{{Srv_Code1}}\"\n },\n {\n \"id\":\"StatusCode\",\n \"valueType\":\"String\",\n \"value\":\"FinBlock\"\n }\n ]\n },\n {\n \"@type\":\"Feature\",\n \"isEnabled\":false,\n \"featureCharacteristic\":[\n {\n \"id\":\"ServiceCode\",\n \"valueType\":\"string\",\n \"value\":\"{{Srv_Code2}}\"\n },\n {\n \"id\":\"StatusCode\",\n \"valueType\":\"String\",\n \"value\":\"FinBlock\"\n }\n ]\n }\n]\n}" }, "Enable a Service Feature": { "summary": "", "description": "", "value": "{\n \"note\":[\n {\n \"author\":\"domain+username\",\n \"hostname\":\"192.156.7.77\",\n \"text\":\"creating GSM services\",\n \"@type\":\"Note\"\n }\n ],\n \"feature\":[\n {\n \"@type\":\"Feature\",\n \"isEnabled\":true,\n \"featureCharacteristic\":[\n {\n \"id\":\"ServiceCode\",\n \"valueType\":\"string\",\n \"value\":\"{{Srv_Code1}}\"\n }\n ]\n },\n {\n \"@type\":\"Feature\",\n \"isEnabled\":true,\n \"featureCharacteristic\":[\n {\n \"id\":\"ServiceCode\",\n \"valueType\":\"string\",\n \"value\":\"{{Srv_Code2}}\"\n }\n ]\n }\n]\n}" } }} + { "status": "HttpRequestAttributes", "method": "DEL", "route": "topic/{id}", "examples": { "SUCCESS Activation with RA Block for Services": { "summary": "", "description": "", "value": "{\n \"serviceDate\":\"2023-11-01T00:00:00.000Z\",\n \"@type\":\"Service\",\n \"serviceSpecification\":{\n \"@type\":\"serviceSpecification\",\n \"id\":\"Mobile\"\n },\n \"note\":[\n {\n \"author\":\"domain+username\",\n \"hostname\":\"localhost\",\n \"text\":\"creating GSM services\",\n \"@type\":\"Note\"\n }\n ],\n \"supportingService\":[\n {\n \"@type\":\"Service\",\n \"serviceSpecification\":{\n \"id\":\"SIM\"\n },\n \"state\":\"activ\",\n \"serviceCharacteristic\":[\n {\n \"valueType\":\"string\",\n \"id\":\"scrd_IMSI\",\n \"value\":\"228012176510739\"\n },\n {\n \"valueType\":\"string\",\n \"id\":\"scrt_Code\",\n \"value\":\"UNI\"\n },\n {\n \"valueType\":\"string\",\n \"id\":\"scrg_Code\",\n \"value\":\"default\"\n },\n {\n \"valueType\":\"Integer\",\n \"id\":\"scrd_ICC\",\n \"value\":1\n },\n {\n \"valueType\":\"string\",\n \"id\":\"scrd_PUK1\",\n \"value\":\"01231234\"\n },\n {\n \"valueType\":\"string\",\n \"id\":\"scrd_PUK2\",\n \"value\":\"01231234\"\n },\n {\n \"valueType\":\"string\",\n \"id\":\"scrd_PIN1\",\n \"value\":\"0123\"\n },\n {\n \"valueType\":\"string\",\n \"id\":\"scrd_PIN2\",\n \"value\":\"0123\"\n },\n {\n \"valueType\":\"date-time\",\n \"id\":\"scrd_ExpirationDate\",\n \"value\":\"2999-12-31T23:59:59.997Z\"\n }\n ]\n }\n ],\n \"relatedParty\":[\n {\n \"@referredType\":\"Customers\",\n \"id\":\"7702703\",\n \"IDType\":0\n }\n ],\n \"feature\":[\n {\n \"@type\":\"Feature\",\n \"isEnabled\":false,\n \"name\":\"M2M Data Transmition Access\",\n \"featureCharacteristic\":[\n {\n \"id\":\"ServiceCode\",\n \"valueType\":\"string\",\n \"value\":\"9215\"\n },\n {\n \"id\":\"StatusCode\",\n \"valueType\":\"String\",\n \"value\":\"FinBlock\"\n }\n ]\n },\n {\n \"@type\":\"Feature\",\n \"isEnabled\":false,\n \"name\":\"M2M SMS\",\n \"featureCharacteristic\":[\n {\n \"id\":\"ServiceCode\",\n \"valueType\":\"string\",\n \"value\":\"9201\"\n },\n {\n \"id\":\"StatusCode\",\n \"valueType\":\"String\",\n \"value\":\"FinBlock\"\n }\n ]\n }\n],\n \"id\":\"7702744\",\n \"state\":\"activ\",\n \"category\":\"GSM\",\n \"startDate\":\"2023-11-01T00:00:00.000Z\",\n \"serviceCharacteristic\":[\n {\n \"valueType\":\"string\",\n \"id\":\"MSISDN\",\n \"value\":\"38671234567\"\n }\n ]\n}" }, "Disable a Service Feature": { "summary": "", "description": "", "value": "{\n \"note\":[\n {\n \"author\":\"domain+username\",\n \"hostname\":\"localhost\",\n \"text\":\"creating GSM services\",\n \"@type\":\"Note\"\n }\n ],\n \"feature\":[\n {\n \"@type\":\"Feature\",\n \"isEnabled\":false,\n \"featureCharacteristic\":[\n {\n \"id\":\"ServiceCode\",\n \"valueType\":\"string\",\n \"value\":\"{{Srv_Code1}}\"\n },\n {\n \"id\":\"StatusCode\",\n \"valueType\":\"String\",\n \"value\":\"FinBlock\"\n }\n ]\n },\n {\n \"@type\":\"Feature\",\n \"isEnabled\":false,\n \"featureCharacteristic\":[\n {\n \"id\":\"ServiceCode\",\n \"valueType\":\"string\",\n \"value\":\"{{Srv_Code2}}\"\n },\n {\n \"id\":\"StatusCode\",\n \"valueType\":\"String\",\n \"value\":\"FinBlock\"\n }\n ]\n }\n]\n}" }, "Enable a Service Feature": { "summary": "", "description": "", "value": "{\n \"note\":[\n {\n \"author\":\"domain+username\",\n \"hostname\":\"localhost\",\n \"text\":\"creating GSM services\",\n \"@type\":\"Note\"\n }\n ],\n \"feature\":[\n {\n \"@type\":\"Feature\",\n \"isEnabled\":true,\n \"featureCharacteristic\":[\n {\n \"id\":\"ServiceCode\",\n \"valueType\":\"string\",\n \"value\":\"{{Srv_Code1}}\"\n }\n ]\n },\n {\n \"@type\":\"Feature\",\n \"isEnabled\":true,\n \"featureCharacteristic\":[\n {\n \"id\":\"ServiceCode\",\n \"valueType\":\"string\",\n \"value\":\"{{Srv_Code2}}\"\n }\n ]\n }\n]\n}" } }} Flow_0kpvmna diff --git a/tmforum-apis/TMF688_Event_Management/TMF688_Event Management.postman_collection.json b/tmforum-apis/TMF688_Event_Management/TMF688_Event Management.postman_collection.json index 4c96fa8..067ec0f 100644 --- a/tmforum-apis/TMF688_Event_Management/TMF688_Event Management.postman_collection.json +++ b/tmforum-apis/TMF688_Event_Management/TMF688_Event Management.postman_collection.json @@ -1,2622 +1,2604 @@ { - "info": { - "_postman_id": "e65104df-3916-4e99-b1ae-db63ba1160ef", - "name": "TMF688 Event Management (MEF.DEV)", - "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json", - "_exporter_id": "16338639", - "_collection_link": "https://go.postman.co/collection/16338639-e65104df-3916-4e99-b1ae-db63ba1160ef?source=collection_link" - }, - "item": [ - { - "name": "Topic", - "item": [ - { - "name": "Creates a Topic", - "event": [ - { - "listen": "test", - "script": { - "exec": [ - "pm.test(\"Status code is 201\", function () {", - " pm.response.to.have.status(201);", - "});" - ], - "type": "text/javascript", - "packages": {} - } - } - ], - "request": { - "auth": { - "type": "basic", - "basic": [ - { - "key": "password", - "value": "password", - "type": "string" - }, - { - "key": "username", - "value": "login", - "type": "string" - } - ] - }, - "method": "POST", - "header": [ - { - "key": "Accept", - "value": "application/json;charset=utf-8" - }, - { - "key": "Content-Type", - "value": "application/json;charset=utf-8" - }, - { - "key": "x-ms-client-request-id", - "value": "20412345678903142363734", - "disabled": true - }, - { - "key": "Accept-Language", - "value": "en" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"name\":\"m2m-rating\",\n \"header\":{\n \"eventType\":\"Label.AbsoluteOverlimit.DisableService\",\n \"relatedParty\":[\n {\n \"@referredType\":\"Associations\",\n \"id\":5234283,\n \"IDType\":0\n }\n ]\n },\n \"event\":{\n \"AckAlarms\":{\n \"@type\":\"AckAlarms\",\n \"ackUserId\":\"username\",\n \"ackUserFrom\":\"hostname\",\n \"alarmPattern\":[\n {\n \"@type\":\"Alarm\",\n \"name\":\"Counter\",\n \"analyticCharacteristic\":[\n {\n \"name\":\"Label\",\n \"value\":\"SINGLE\",\n \"valueType\":\"string\",\n \"@type\":\"Characteristic\"\n },\n {\n \"@type\":\"Characteristic\",\n \"valueType\":\"string\",\n \"name\":\"SimCardGroupCode\",\n \"value\":\"default\"\n },\n {\n \"@type\":\"Characteristic\",\n \"valueType\":\"string\",\n \"name\":\"RatingUnionCode\",\n \"value\":\"data\"\n }\n ]\n }\n ],\n \"ackedAlarm\":[\n {\n \"@type\":\"Alarm\",\n \"name\":\"Absolute\",\n \"crossedThresholdInformation\":{\n \"observedValue\":\"10485760\",\n \"threshold\":{\n \"@type\":\"ThresholdRef\",\n \"id\":\"Absolute\"\n },\n \"@type\":\"CrossedThresholdInformation\"\n }\n }\n ]\n }\n }\n}" - }, - "url": { - "raw": "{{API}}/api/v2/tmf/event/topic", - "host": [ - "{{API}}" - ], - "path": [ - "api", - "v2", - "tmf", - "event", - "topic" - ] - }, - "description": "This operation creates a BillingAccount entity." - }, - "response": [ - { - "name": "Incorrect Event Type", - "originalRequest": { - "method": "POST", - "header": [ - { - "key": "Accept", - "value": "application/json;charset=utf-8" - }, - { - "key": "Content-Type", - "value": "application/json;charset=utf-8" - }, - { - "key": "x-ms-client-request-id", - "value": "20412345678903142363734", - "type": "text", - "disabled": true - }, - { - "key": "Accept-Language", - "value": "en", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"name\":\"myFirstTriger\",\n \"header\":{\n \"eventType\":\"{{eventType}}\",\n \"relatedParty\":[\n {\n \"@referredType\":\"Customers\",\n \"id\":{{Customer_id}},\n \"IDType\":0\n }\n ]\n },\n \"event\":{\n \"AckAlarms\":{\n \"@type\":\"AckAlarms\",\n \"ackUserId\":\"username\",\n \"ackUserFrom\":\"hostname\",\n \"alarmPattern\":[\n {\n \"@type\":\"Alarm\",\n \"name\":\"{{pattern}}\",\n \"analyticCharacteristic\":[\n {\n \"name\":\"PackageCode\",\n \"value\":\"{{tp_code}}\",\n \"valueType\":\"string\",\n \"@type\":\"Characteristic\"\n },\n {\n \"@type\":\"Characteristic\",\n \"valueType\":\"string\",\n \"name\":\"SimCardGroupCode\",\n \"value\":\"{{sim_group}}\"\n },\n {\n \"@type\":\"Characteristic\",\n \"valueType\":\"string\",\n \"name\":\"RatingGroupCode\",\n \"value\":\"{{rating_group}}\"\n }\n ]\n }\n ],\n \"ackedAlarm\":[\n {\n \"@type\":\"Alarm\",\n \"name\":\"Percent\",\n \"crossedThresholdInformation\":{\n \"observedValue\":\"{{threshold_value}}\",\n \"threshold\":{\n \"@type\":\"ThresholdRef\",\n \"id\":\"{{threshold_type}}\"\n },\n \"@type\":\"CrossedThresholdInformation\"\n }\n }\n ]\n }\n }\n}" - }, - "url": { - "raw": "{{API}}/api/v2/tmf/event/topic", - "host": [ - "{{API}}" - ], - "path": [ - "api", - "v2", - "tmf", - "event", - "topic" - ] - } - }, - "status": "Internal Server Error", - "code": 500, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Length", - "value": "210" - }, - { - "key": "Content-Type", - "value": "application/json; charset=utf-8" - }, - { - "key": "Access-Control-Allow-Methods", - "value": "GET, PUT, POST, DELETE, OPTIONS, HEAD" - }, - { - "key": "Access-Control-Allow-Headers", - "value": "Authorization,Pragma,Cache-control,Content-type" - }, - { - "key": "Access-Control-Allow-Credentials", - "value": "true" - }, - { - "key": "Date", - "value": "Mon, 22 Apr 2024 15:29:31 GMT" - } - ], - "cookie": [], - "body": "{\n \"code\": \"50000\",\n \"reason\": \"Internal Server Error\",\n \"message\": \"Ошибка выполнения: Некорректное значение входящего параметра: @header.eventType\",\n \"status\": \"500\"\n}" - }, - { - "name": "Percent Overlimit Trigger", - "originalRequest": { - "method": "POST", - "header": [ - { - "key": "Accept", - "value": "application/json;charset=utf-8" - }, - { - "key": "Content-Type", - "value": "application/json;charset=utf-8" - }, - { - "key": "x-ms-client-request-id", - "value": "20412345678903142363734", - "disabled": true - }, - { - "key": "Accept-Language", - "value": "en" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"name\":\"m2m-rating\",\n \"header\":{\n \"eventType\":\"RatingUnion.PercentOverlimit.Event\",\n \"relatedParty\":[\n {\n \"@referredType\":\"Customers\",\n \"id\":5234283,\n \"IDType\":0\n }\n ]\n },\n \"event\":{\n \"AckAlarms\":{\n \"@type\":\"AckAlarms\",\n \"ackUserId\":\"username\",\n \"ackUserFrom\":\"hostname\",\n \"alarmPattern\":[\n {\n \"@type\":\"Alarm\",\n \"name\":\"Counter\",\n \"analyticCharacteristic\":[\n {\n \"name\":\"PackageOverrideCode\",\n \"value\":\"1821105\",\n \"valueType\":\"string\",\n \"@type\":\"Characteristic\"\n },\n {\n \"@type\":\"Characteristic\",\n \"valueType\":\"string\",\n \"name\":\"SimCardGroupCode\",\n \"value\":\"default\"\n },\n {\n \"@type\":\"Characteristic\",\n \"valueType\":\"string\",\n \"name\":\"RatingUnionCode\",\n \"value\":\"data\"\n }\n ]\n }\n ],\n \"ackedAlarm\":[\n {\n \"@type\":\"Alarm\",\n \"name\":\"Percent\",\n \"crossedThresholdInformation\":{\n \"observedValue\":\"80\",\n \"threshold\":{\n \"@type\":\"ThresholdRef\",\n \"id\":\"Percent\"\n },\n \"@type\":\"CrossedThresholdInformation\"\n }\n }\n ]\n }\n }\n}" - }, - "url": { - "raw": "{{API}}/api/v2/tmf/event/topic", - "host": [ - "{{API}}" - ], - "path": [ - "api", - "v2", - "tmf", - "event", - "topic" - ] - } - }, - "status": "Created", - "code": 201, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Date", - "value": "Fri, 11 Oct 2024 12:12:31 GMT" - }, - { - "key": "Content-Type", - "value": "application/json; charset=utf-8" - }, - { - "key": "Content-Length", - "value": "166" - }, - { - "key": "Connection", - "value": "keep-alive" - }, - { - "key": "Accept-Language", - "value": "en" - }, - { - "key": "Access-Control-Allow-Credentials", - "value": "true" - }, - { - "key": "Access-Control-Allow-Headers", - "value": "Authorization,Pragma,Cache-control,Content-type,X-Requested-With" - }, - { - "key": "Access-Control-Allow-Methods", - "value": "GET,POST,PUT,DELETE,HEAD,OPTIONS" - }, - { - "key": "Strict-Transport-Security", - "value": "max-age=31536000" - }, - { - "key": "Content-Security-Policy", - "value": "img-src https: data:; upgrade-insecure-requests" - } - ], - "cookie": [], - "body": "{\n \"id\": \"24\",\n \"header\": {\n \"relatedParty\": [\n {\n \"id\": \"5234283\",\n \"@referredType\": \"Customers\",\n \"idType\": \"0\"\n }\n ],\n \"eventType\": \"RatingUnion.PercentOverlimit.Event\"\n },\n \"name\": \"m2m-rating\"\n}" - }, - { - "name": "Absolute Overlimit Trigger", - "originalRequest": { - "method": "POST", - "header": [ - { - "key": "Accept", - "value": "application/json;charset=utf-8" - }, - { - "key": "Content-Type", - "value": "application/json;charset=utf-8" - }, - { - "key": "x-ms-client-request-id", - "value": "20412345678903142363734", - "disabled": true - }, - { - "key": "Accept-Language", - "value": "en" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"name\":\"m2m-rating\",\n \"header\":{\n \"eventType\":\"RatingGroup.AbsoluteOverlimit.Event\",\n \"relatedParty\":[\n {\n \"@referredType\":\"Customers\",\n \"id\":5234283,\n \"IDType\":0\n }\n ]\n },\n \"event\":{\n \"AckAlarms\":{\n \"@type\":\"AckAlarms\",\n \"ackUserId\":\"username\",\n \"ackUserFrom\":\"hostname\",\n \"alarmPattern\":[\n {\n \"@type\":\"Alarm\",\n \"name\":\"Counter\",\n \"analyticCharacteristic\":[\n {\n \"name\":\"PackageOverrideCode\",\n \"value\":\"1821105\",\n \"valueType\":\"string\",\n \"@type\":\"Characteristic\"\n },\n {\n \"@type\":\"Characteristic\",\n \"valueType\":\"string\",\n \"name\":\"SimCardGroupCode\",\n \"value\":\"default\"\n },\n {\n \"@type\":\"Characteristic\",\n \"valueType\":\"string\",\n \"name\":\"RatingUnionCode\",\n \"value\":\"data\"\n },\n {\n \"@type\":\"Characteristic\",\n \"valueType\":\"string\",\n \"name\":\"RatingGroupCode\",\n \"value\":\"DTE-ROAM-1\"\n }\n ]\n }\n ],\n \"ackedAlarm\":[\n {\n \"@type\":\"Alarm\",\n \"name\":\"Absolute\",\n \"crossedThresholdInformation\":{\n \"observedValue\":\"10485760\",\n \"threshold\":{\n \"@type\":\"ThresholdRef\",\n \"id\":\"Absolute\"\n },\n \"@type\":\"CrossedThresholdInformation\"\n }\n }\n ]\n }\n }\n}" - }, - "url": { - "raw": "{{API}}/api/v2/tmf/event/topic", - "host": [ - "{{API}}" - ], - "path": [ - "api", - "v2", - "tmf", - "event", - "topic" - ] - } - }, - "status": "Created", - "code": 201, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Date", - "value": "Thu, 17 Oct 2024 13:20:06 GMT" - }, - { - "key": "Content-Type", - "value": "application/json; charset=utf-8" - }, - { - "key": "Content-Length", - "value": "167" - }, - { - "key": "Connection", - "value": "keep-alive" - }, - { - "key": "Accept-Language", - "value": "en" - }, - { - "key": "Access-Control-Allow-Credentials", - "value": "true" - }, - { - "key": "Access-Control-Allow-Headers", - "value": "Authorization,Pragma,Cache-control,Content-type,X-Requested-With" - }, - { - "key": "Access-Control-Allow-Methods", - "value": "GET,POST,PUT,DELETE,HEAD,OPTIONS" - }, - { - "key": "Strict-Transport-Security", - "value": "max-age=31536000" - }, - { - "key": "Content-Security-Policy", - "value": "img-src https: data:; upgrade-insecure-requests" - } - ], - "cookie": [], - "body": "{\n \"id\": \"54\",\n \"header\": {\n \"relatedParty\": [\n {\n \"id\": \"5234283\",\n \"@referredType\": \"Customers\",\n \"idType\": \"0\"\n }\n ],\n \"eventType\": \"RatingGroup.AbsoluteOverlimit.Event\"\n },\n \"name\": \"m2m-rating\"\n}" - } - ] - }, - { - "name": "TopicByAssociation_RatingUnion.PercentOverlimit.Event_UsedCounter", - "request": { - "method": "POST", - "header": [ - { - "key": "Accept", - "value": "application/json;charset=utf-8" - }, - { - "key": "Content-Type", - "value": "application/json;charset=utf-8" - }, - { - "key": "Accept-Language", - "value": "en" - }, - { - "key": "Authorization", - "value": "Basic YXBpX3VzZXI6V2lkZWNvdXAx" - } - ], - "body": { - "mode": "raw", - "raw": "{\r\n \"name\":\"m2m-rating\",\r\n \"header\":{\r\n \"eventType\":\"RatingUnion.PercentOverlimit.Event\",\r\n \"relatedParty\":[\r\n {\r\n \"@referredType\":\"Associations\",\r\n \"id\":5234283,\r\n \"IDType\":0\r\n }\r\n ]\r\n },\r\n \"event\":{\r\n \"AckAlarms\":{\r\n \"@type\":\"AckAlarms\",\r\n \"alarmPattern\":[\r\n {\r\n \"@type\":\"Alarm\",\r\n \"name\":\"Counter\",\r\n \"analyticCharacteristic\":[\r\n {\r\n \"name\":\"PackageOverrideCode\",\r\n \"valueType\":\"string\",\r\n \"value\":\"1790906\",\r\n \"@type\":\"Characteristic\"\r\n },\r\n {\r\n \"name\":\"SimCardGroupCode\",\r\n \"valueType\":\"string\",\r\n \"value\":\"default\",\r\n \"@type\":\"Characteristic\"\r\n },\r\n {\r\n \"name\":\"RatingUnionCode\",\r\n \"valueType\":\"string\",\r\n \"value\":\"data\",\r\n \"@type\":\"Characteristic\"\r\n }\r\n ]\r\n }\r\n ],\r\n \"ackedAlarm\":[\r\n {\r\n \"@type\":\"Alarm\",\r\n \"name\":\"Percent\",\r\n \"crossedThresholdInformation\":{\r\n \"@type\":\"CrossedThresholdInformation\",\r\n \"observedValue\":\"80\",\r\n \"threshold\":{\r\n \"@type\":\"ThresholdRef\",\r\n \"id\":\"Percent\"\r\n }\r\n }\r\n }\r\n ],\r\n \"ackUserFrom\":\"hostname\",\r\n \"ackUserId\":\"username\"\r\n }\r\n }\r\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "https://api.wcb-tst.kyivstar.ua:443/api/v2/tmf/event/topic", - "protocol": "https", - "host": [ - "api", - "wcb-tst", - "kyivstar", - "ua" - ], - "port": "443", - "path": [ - "api", - "v2", - "tmf", - "event", - "topic" - ] - }, - "description": "Generated from cURL: curl --location 'https://api.wcb-tst.kyivstar.ua:443/api/v2/tmf/event/topic' \\\r\n--header 'Accept: application/json;charset=utf-8' \\\r\n--header 'Content-Type: application/json;charset=utf-8' \\\r\n--header 'Accept-Language: en' \\\r\n--header 'Authorization: Basic YXBpX3VzZXI6V2lkZWNvdXAx' \\\r\n--data-raw '{\r\n \"name\":\"m2m-rating\",\r\n \"header\":{\r\n \"eventType\":\"RatingUnion.PercentOverlimit.Event\",\r\n \"relatedParty\":[\r\n {\r\n \"@referredType\":\"Associations\",\r\n \"id\":5234283,\r\n \"IDType\":0\r\n }\r\n ]\r\n },\r\n \"event\":{\r\n \"AckAlarms\":{\r\n \"@type\":\"AckAlarms\",\r\n \"alarmPattern\":[\r\n {\r\n \"@type\":\"Alarm\",\r\n \"name\":\"Counter\",\r\n \"analyticCharacteristic\":[\r\n {\r\n \"name\":\"PackageOverrideCode\",\r\n \"valueType\":\"string\",\r\n \"value\":\"1790906\",\r\n \"@type\":\"Characteristic\"\r\n },\r\n {\r\n \"name\":\"SimCardGroupCode\",\r\n \"valueType\":\"string\",\r\n \"value\":\"default\",\r\n \"@type\":\"Characteristic\"\r\n },\r\n {\r\n \"name\":\"RatingUnionCode\",\r\n \"valueType\":\"string\",\r\n \"value\":\"data\",\r\n \"@type\":\"Characteristic\"\r\n }\r\n ]\r\n }\r\n ],\r\n \"ackedAlarm\":[\r\n {\r\n \"@type\":\"Alarm\",\r\n \"name\":\"Percent\",\r\n \"crossedThresholdInformation\":{\r\n \"@type\":\"CrossedThresholdInformation\",\r\n \"observedValue\":\"80\",\r\n \"threshold\":{\r\n \"@type\":\"ThresholdRef\",\r\n \"id\":\"Percent\"\r\n }\r\n }\r\n }\r\n ],\r\n \"ackUserFrom\":\"hostname\",\r\n \"ackUserId\":\"username\"\r\n }\r\n }\r\n}'" - }, - "response": [ - { - "name": "Incorrect Input Value response", - "originalRequest": { - "method": "POST", - "header": [ - { - "key": "Accept", - "value": "application/json;charset=utf-8" - }, - { - "key": "Content-Type", - "value": "application/json;charset=utf-8" - }, - { - "key": "Accept-Language", - "value": "en" - }, - { - "key": "Authorization", - "value": "Basic YXBpX3VzZXI6V2lkZWNvdXAx" - } - ], - "body": { - "mode": "raw", - "raw": "{\r\n \"name\":\"m2m-rating\",\r\n \"header\":{\r\n \"eventType\":\"RatingUnion.PercentOverlimit.Event\",\r\n \"relatedParty\":[\r\n {\r\n \"@referredType\":\"Associations\",\r\n \"id\":999999999999,\r\n \"IDType\":1\r\n }\r\n ]\r\n },\r\n \"event\":{\r\n \"AckAlarms\":{\r\n \"@type\":\"AckAlarms\",\r\n \"alarmPattern\":[\r\n {\r\n \"@type\":\"Alarm\",\r\n \"name\":\"Counter\",\r\n \"analyticCharacteristic\":[\r\n {\r\n \"name\":\"PackageOverrideCode\",\r\n \"valueType\":\"string\",\r\n \"value\":\"111\",\r\n \"@type\":\"Characteristic\"\r\n },\r\n {\r\n \"name\":\"SimCardGroupCode\",\r\n \"valueType\":\"string\",\r\n \"value\":\"111\",\r\n \"@type\":\"Characteristic\"\r\n },\r\n {\r\n \"name\":\"RatingUnionCode\",\r\n \"valueType\":\"string\",\r\n \"value\":\"111\",\r\n \"@type\":\"Characteristic\"\r\n }\r\n ]\r\n }\r\n ],\r\n \"ackedAlarm\":[\r\n {\r\n \"@type\":\"Alarm\",\r\n \"name\":\"Percent\",\r\n \"crossedThresholdInformation\":{\r\n \"@type\":\"CrossedThresholdInformation\",\r\n \"observedValue\":\"80\",\r\n \"threshold\":{\r\n \"@type\":\"ThresholdRef\",\r\n \"id\":\"111\"\r\n }\r\n }\r\n }\r\n ],\r\n \"ackUserFrom\":\"hostname\",\r\n \"ackUserId\":\"username\"\r\n }\r\n }\r\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "{{API}}/api/v2/tmf/event/topic", - "host": [ - "{{API}}" - ], - "path": [ - "api", - "v2", - "tmf", - "event", - "topic" - ] - } - }, - "status": "Internal Server Error", - "code": 500, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Date", - "value": "Thu, 10 Oct 2024 10:04:05 GMT" - }, - { - "key": "Content-Type", - "value": "application/json; charset=utf-8" - }, - { - "key": "Content-Length", - "value": "228" - }, - { - "key": "Connection", - "value": "keep-alive" - }, - { - "key": "Access-Control-Allow-Credentials", - "value": "true" - }, - { - "key": "Access-Control-Allow-Headers", - "value": "Authorization,Pragma,Cache-control,Content-type,X-Requested-With" - }, - { - "key": "Access-Control-Allow-Methods", - "value": "GET,POST,PUT,DELETE,HEAD,OPTIONS" - } - ], - "cookie": [], - "body": "{\n \"code\": \"51685\",\n \"reason\": \"50205\",\n \"message\": \"Execution error: (Помилка виконання: (Некоректне значення вхідного параметра: SimCardGroupCode))\",\n \"status\": \"500\",\n \"referenceError\": \"\"\n}" - }, - { - "name": "DataPercentOverlimit for Association", - "originalRequest": { - "method": "POST", - "header": [ - { - "key": "Accept", - "value": "application/json;charset=utf-8" - }, - { - "key": "Content-Type", - "value": "application/json;charset=utf-8" - }, - { - "key": "Accept-Language", - "value": "en" - }, - { - "key": "Authorization", - "value": "Basic YXBpX3VzZXI6V2lkZWNvdXAx" - } - ], - "body": { - "mode": "raw", - "raw": "{\r\n \"name\":\"m2m-rating\",\r\n \"header\":{\r\n \"eventType\":\"RatingUnion.PercentOverlimit.Event\",\r\n \"relatedParty\":[\r\n {\r\n \"@referredType\":\"Associations\",\r\n \"id\":300000407,\r\n \"IDType\":1\r\n }\r\n ]\r\n },\r\n \"event\":{\r\n \"AckAlarms\":{\r\n \"@type\":\"AckAlarms\",\r\n \"alarmPattern\":[\r\n {\r\n \"@type\":\"Alarm\",\r\n \"name\":\"Counter\",\r\n \"analyticCharacteristic\":[\r\n {\r\n \"name\":\"PackageOverrideCode\",\r\n \"valueType\":\"string\",\r\n \"value\":\"111\",\r\n \"@type\":\"Characteristic\"\r\n },\r\n {\r\n \"name\":\"SimCardGroupCode\",\r\n \"valueType\":\"string\",\r\n \"value\":\"default\",\r\n \"@type\":\"Characteristic\"\r\n }\r\n ]\r\n }\r\n ],\r\n \"ackedAlarm\":[\r\n {\r\n \"@type\":\"Alarm\",\r\n \"name\":\"Percent\",\r\n \"crossedThresholdInformation\":{\r\n \"@type\":\"CrossedThresholdInformation\",\r\n \"observedValue\":\"80\",\r\n \"threshold\":{\r\n \"@type\":\"ThresholdRef\",\r\n \"id\":\"Percent\"\r\n }\r\n }\r\n }\r\n ],\r\n \"ackUserFrom\":\"hostname\",\r\n \"ackUserId\":\"username\"\r\n }\r\n }\r\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "{{API}}/api/v2/tmf/event/topic", - "host": [ - "{{API}}" - ], - "path": [ - "api", - "v2", - "tmf", - "event", - "topic" - ] - } - }, - "status": "Created", - "code": 201, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Date", - "value": "Fri, 11 Oct 2024 12:18:11 GMT" - }, - { - "key": "Content-Type", - "value": "application/json; charset=utf-8" - }, - { - "key": "Content-Length", - "value": "171" - }, - { - "key": "Connection", - "value": "keep-alive" - }, - { - "key": "Accept-Language", - "value": "en" - }, - { - "key": "Access-Control-Allow-Credentials", - "value": "true" - }, - { - "key": "Access-Control-Allow-Headers", - "value": "Authorization,Pragma,Cache-control,Content-type,X-Requested-With" - }, - { - "key": "Access-Control-Allow-Methods", - "value": "GET,POST,PUT,DELETE,HEAD,OPTIONS" - }, - { - "key": "Strict-Transport-Security", - "value": "max-age=31536000" - }, - { - "key": "Content-Security-Policy", - "value": "img-src https: data:; upgrade-insecure-requests" - } - ], - "cookie": [], - "body": "{\n \"id\": \"51\",\n \"header\": {\n \"relatedParty\": [\n {\n \"id\": \"300000407\",\n \"@referredType\": \"Associations\",\n \"idType\": \"1\"\n }\n ],\n \"eventType\": \"RatingUnion.PercentOverlimit.Event\"\n },\n \"name\": \"m2m-rating\"\n}" - } - ] - }, - { - "name": "TopicByAssociation_LabelOnly", - "request": { - "method": "POST", - "header": [ - { - "key": "Accept", - "value": "application/json;charset=utf-8" - }, - { - "key": "Content-Type", - "value": "application/json;charset=utf-8" - }, - { - "key": "Accept-Language", - "value": "en" - }, - { - "key": "Authorization", - "value": "Basic YXBpX3VzZXI6V2lkZWNvdXAx" - } - ], - "body": { - "mode": "raw", - "raw": "{\r\n \"name\":\"m2m-rating\",\r\n \"header\":{\r\n \"eventType\":\"RatingUnion.AbsoluteOverlimit.Event\",\r\n \"relatedParty\":[\r\n {\r\n \"@referredType\":\"Customers\",\r\n \"id\":5234283,\r\n \"IDType\":0\r\n }\r\n ]\r\n },\r\n \"event\":{\r\n \"AckAlarms\":{\r\n \"@type\":\"AckAlarms\",\r\n \"alarmPattern\":[\r\n {\r\n \"@type\":\"Alarm\",\r\n \"name\":\"Counter\",\r\n \"analyticCharacteristic\":[\r\n {\r\n \"name\":\"Label\",\r\n \"valueType\":\"string\",\r\n \"value\":\"SINGLE\",\r\n \"@type\":\"Characteristic\"\r\n },\r\n {\r\n \"name\":\"SimCardGroupCode\",\r\n \"valueType\":\"string\",\r\n \"value\":\"default\",\r\n \"@type\":\"Characteristic\"\r\n },\r\n {\r\n \"name\":\"RatingUnionCode\",\r\n \"valueType\":\"string\",\r\n \"value\":\"data\",\r\n \"@type\":\"Characteristic\"\r\n }\r\n ]\r\n }\r\n ],\r\n \"ackedAlarm\":[\r\n {\r\n \"@type\":\"Alarm\",\r\n \"name\":\"Absolute\",\r\n \"crossedThresholdInformation\":{\r\n \"@type\":\"CrossedThresholdInformation\",\r\n \"observedValue\":\"157286400\",\r\n \"threshold\":{\r\n \"@type\":\"ThresholdRef\",\r\n \"id\":\"Absolute\"\r\n }\r\n }\r\n }\r\n ],\r\n \"ackUserFrom\":\"hostname\",\r\n \"ackUserId\":\"username\"\r\n }\r\n }\r\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "https://api.wcb-tst.kyivstar.ua:443/api/v2/tmf/event/topic", - "protocol": "https", - "host": [ - "api", - "wcb-tst", - "kyivstar", - "ua" - ], - "port": "443", - "path": [ - "api", - "v2", - "tmf", - "event", - "topic" - ] - }, - "description": "Generated from cURL: curl --location 'https://api.wcb-tst.kyivstar.ua:443/api/v2/tmf/event/topic' \\\r\n--header 'Accept: application/json;charset=utf-8' \\\r\n--header 'Content-Type: application/json;charset=utf-8' \\\r\n--header 'Accept-Language: en' \\\r\n--header 'Authorization: Basic YXBpX3VzZXI6V2lkZWNvdXAx' \\\r\n--data-raw '{\r\n \"name\":\"m2m-rating\",\r\n \"header\":{\r\n \"eventType\":\"RatingUnion.PercentOverlimit.Event\",\r\n \"relatedParty\":[\r\n {\r\n \"@referredType\":\"Associations\",\r\n \"id\":5234283,\r\n \"IDType\":0\r\n }\r\n ]\r\n },\r\n \"event\":{\r\n \"AckAlarms\":{\r\n \"@type\":\"AckAlarms\",\r\n \"alarmPattern\":[\r\n {\r\n \"@type\":\"Alarm\",\r\n \"name\":\"Counter\",\r\n \"analyticCharacteristic\":[\r\n {\r\n \"name\":\"PackageOverrideCode\",\r\n \"valueType\":\"string\",\r\n \"value\":\"1790906\",\r\n \"@type\":\"Characteristic\"\r\n },\r\n {\r\n \"name\":\"SimCardGroupCode\",\r\n \"valueType\":\"string\",\r\n \"value\":\"default\",\r\n \"@type\":\"Characteristic\"\r\n },\r\n {\r\n \"name\":\"RatingUnionCode\",\r\n \"valueType\":\"string\",\r\n \"value\":\"data\",\r\n \"@type\":\"Characteristic\"\r\n }\r\n ]\r\n }\r\n ],\r\n \"ackedAlarm\":[\r\n {\r\n \"@type\":\"Alarm\",\r\n \"name\":\"Percent\",\r\n \"crossedThresholdInformation\":{\r\n \"@type\":\"CrossedThresholdInformation\",\r\n \"observedValue\":\"80\",\r\n \"threshold\":{\r\n \"@type\":\"ThresholdRef\",\r\n \"id\":\"Percent\"\r\n }\r\n }\r\n }\r\n ],\r\n \"ackUserFrom\":\"hostname\",\r\n \"ackUserId\":\"username\"\r\n }\r\n }\r\n}'" - }, - "response": [ - { - "name": "Incorrect Input Value response", - "originalRequest": { - "method": "POST", - "header": [ - { - "key": "Accept", - "value": "application/json;charset=utf-8" - }, - { - "key": "Content-Type", - "value": "application/json;charset=utf-8" - }, - { - "key": "Accept-Language", - "value": "en" - }, - { - "key": "Authorization", - "value": "Basic YXBpX3VzZXI6V2lkZWNvdXAx" - } - ], - "body": { - "mode": "raw", - "raw": "{\r\n \"name\":\"m2m-rating\",\r\n \"header\":{\r\n \"eventType\":\"RatingUnion.PercentOverlimit.Event\",\r\n \"relatedParty\":[\r\n {\r\n \"@referredType\":\"Associations\",\r\n \"id\":999999999999,\r\n \"IDType\":1\r\n }\r\n ]\r\n },\r\n \"event\":{\r\n \"AckAlarms\":{\r\n \"@type\":\"AckAlarms\",\r\n \"alarmPattern\":[\r\n {\r\n \"@type\":\"Alarm\",\r\n \"name\":\"Counter\",\r\n \"analyticCharacteristic\":[\r\n {\r\n \"name\":\"PackageOverrideCode\",\r\n \"valueType\":\"string\",\r\n \"value\":\"111\",\r\n \"@type\":\"Characteristic\"\r\n },\r\n {\r\n \"name\":\"SimCardGroupCode\",\r\n \"valueType\":\"string\",\r\n \"value\":\"111\",\r\n \"@type\":\"Characteristic\"\r\n },\r\n {\r\n \"name\":\"RatingUnionCode\",\r\n \"valueType\":\"string\",\r\n \"value\":\"111\",\r\n \"@type\":\"Characteristic\"\r\n }\r\n ]\r\n }\r\n ],\r\n \"ackedAlarm\":[\r\n {\r\n \"@type\":\"Alarm\",\r\n \"name\":\"Percent\",\r\n \"crossedThresholdInformation\":{\r\n \"@type\":\"CrossedThresholdInformation\",\r\n \"observedValue\":\"80\",\r\n \"threshold\":{\r\n \"@type\":\"ThresholdRef\",\r\n \"id\":\"111\"\r\n }\r\n }\r\n }\r\n ],\r\n \"ackUserFrom\":\"hostname\",\r\n \"ackUserId\":\"username\"\r\n }\r\n }\r\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "{{API}}/api/v2/tmf/event/topic", - "host": [ - "{{API}}" - ], - "path": [ - "api", - "v2", - "tmf", - "event", - "topic" - ] - } - }, - "status": "Internal Server Error", - "code": 500, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Date", - "value": "Thu, 10 Oct 2024 10:04:05 GMT" - }, - { - "key": "Content-Type", - "value": "application/json; charset=utf-8" - }, - { - "key": "Content-Length", - "value": "228" - }, - { - "key": "Connection", - "value": "keep-alive" - }, - { - "key": "Access-Control-Allow-Credentials", - "value": "true" - }, - { - "key": "Access-Control-Allow-Headers", - "value": "Authorization,Pragma,Cache-control,Content-type,X-Requested-With" - }, - { - "key": "Access-Control-Allow-Methods", - "value": "GET,POST,PUT,DELETE,HEAD,OPTIONS" - } - ], - "cookie": [], - "body": "{\n \"code\": \"51685\",\n \"reason\": \"50205\",\n \"message\": \"Execution error: (Помилка виконання: (Некоректне значення вхідного параметра: SimCardGroupCode))\",\n \"status\": \"500\",\n \"referenceError\": \"\"\n}" - }, - { - "name": "DataPercentOverlimit for Association", - "originalRequest": { - "method": "POST", - "header": [ - { - "key": "Accept", - "value": "application/json;charset=utf-8" - }, - { - "key": "Content-Type", - "value": "application/json;charset=utf-8" - }, - { - "key": "Accept-Language", - "value": "en" - }, - { - "key": "Authorization", - "value": "Basic YXBpX3VzZXI6V2lkZWNvdXAx" - } - ], - "body": { - "mode": "raw", - "raw": "{\r\n \"name\":\"m2m-rating\",\r\n \"header\":{\r\n \"eventType\":\"RatingUnion.PercentOverlimit.Event\",\r\n \"relatedParty\":[\r\n {\r\n \"@referredType\":\"Associations\",\r\n \"id\":300000407,\r\n \"IDType\":1\r\n }\r\n ]\r\n },\r\n \"event\":{\r\n \"AckAlarms\":{\r\n \"@type\":\"AckAlarms\",\r\n \"alarmPattern\":[\r\n {\r\n \"@type\":\"Alarm\",\r\n \"name\":\"Counter\",\r\n \"analyticCharacteristic\":[\r\n {\r\n \"name\":\"PackageOverrideCode\",\r\n \"valueType\":\"string\",\r\n \"value\":\"111\",\r\n \"@type\":\"Characteristic\"\r\n },\r\n {\r\n \"name\":\"SimCardGroupCode\",\r\n \"valueType\":\"string\",\r\n \"value\":\"default\",\r\n \"@type\":\"Characteristic\"\r\n }\r\n ]\r\n }\r\n ],\r\n \"ackedAlarm\":[\r\n {\r\n \"@type\":\"Alarm\",\r\n \"name\":\"Percent\",\r\n \"crossedThresholdInformation\":{\r\n \"@type\":\"CrossedThresholdInformation\",\r\n \"observedValue\":\"80\",\r\n \"threshold\":{\r\n \"@type\":\"ThresholdRef\",\r\n \"id\":\"Percent\"\r\n }\r\n }\r\n }\r\n ],\r\n \"ackUserFrom\":\"hostname\",\r\n \"ackUserId\":\"username\"\r\n }\r\n }\r\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "{{API}}/api/v2/tmf/event/topic", - "host": [ - "{{API}}" - ], - "path": [ - "api", - "v2", - "tmf", - "event", - "topic" - ] - } - }, - "status": "Created", - "code": 201, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Date", - "value": "Fri, 11 Oct 2024 12:18:11 GMT" - }, - { - "key": "Content-Type", - "value": "application/json; charset=utf-8" - }, - { - "key": "Content-Length", - "value": "171" - }, - { - "key": "Connection", - "value": "keep-alive" - }, - { - "key": "Accept-Language", - "value": "en" - }, - { - "key": "Access-Control-Allow-Credentials", - "value": "true" - }, - { - "key": "Access-Control-Allow-Headers", - "value": "Authorization,Pragma,Cache-control,Content-type,X-Requested-With" - }, - { - "key": "Access-Control-Allow-Methods", - "value": "GET,POST,PUT,DELETE,HEAD,OPTIONS" - }, - { - "key": "Strict-Transport-Security", - "value": "max-age=31536000" - }, - { - "key": "Content-Security-Policy", - "value": "img-src https: data:; upgrade-insecure-requests" - } - ], - "cookie": [], - "body": "{\n \"id\": \"51\",\n \"header\": {\n \"relatedParty\": [\n {\n \"id\": \"300000407\",\n \"@referredType\": \"Associations\",\n \"idType\": \"1\"\n }\n ],\n \"eventType\": \"RatingUnion.PercentOverlimit.Event\"\n },\n \"name\": \"m2m-rating\"\n}" - } - ] - }, - { - "name": "TopicByAccount_RatingUnion.AbsoluteOverlimit.Event_UsedCounter", - "request": { - "method": "POST", - "header": [ - { - "key": "Accept", - "value": "application/json;charset=utf-8" - }, - { - "key": "Content-Type", - "value": "application/json;charset=utf-8" - }, - { - "key": "Accept-Language", - "value": "en" - }, - { - "key": "Authorization", - "value": "Basic YXBpX3VzZXI6V2lkZWNvdXAx" - } - ], - "body": { - "mode": "raw", - "raw": "{\r\n \"name\":\"m2m-rating\",\r\n \"header\":{\r\n \"eventType\":\"RatingUnion.AbsoluteOverlimit.Event\",\r\n \"relatedParty\":[\r\n {\r\n \"@referredType\":\"Customers\",\r\n \"id\":5234283,\r\n \"IDType\":0\r\n }\r\n ]\r\n },\r\n \"event\":{\r\n \"AckAlarms\":{\r\n \"@type\":\"AckAlarms\",\r\n \"alarmPattern\":[\r\n {\r\n \"@type\":\"Alarm\",\r\n \"name\":\"Counter\",\r\n \"analyticCharacteristic\":[\r\n {\r\n \"name\":\"PackageOverrideCode\",\r\n \"valueType\":\"string\",\r\n \"value\":\"1790906\",\r\n \"@type\":\"Characteristic\"\r\n },\r\n {\r\n \"name\":\"SimCardGroupCode\",\r\n \"valueType\":\"string\",\r\n \"value\":\"default\",\r\n \"@type\":\"Characteristic\"\r\n },\r\n {\r\n \"name\":\"RatingUnionCode\",\r\n \"valueType\":\"string\",\r\n \"value\":\"data\",\r\n \"@type\":\"Characteristic\"\r\n }\r\n ]\r\n }\r\n ],\r\n \"ackedAlarm\":[\r\n {\r\n \"@type\":\"Alarm\",\r\n \"name\":\"Absolute\",\r\n \"crossedThresholdInformation\":{\r\n \"@type\":\"CrossedThresholdInformation\",\r\n \"observedValue\":\"157286400\",\r\n \"threshold\":{\r\n \"@type\":\"ThresholdRef\",\r\n \"id\":\"Absolute\"\r\n }\r\n }\r\n }\r\n ],\r\n \"ackUserFrom\":\"hostname\",\r\n \"ackUserId\":\"username\"\r\n }\r\n }\r\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "{{API}}/api/v2/tmf/event/topic", - "host": [ - "{{API}}" - ], - "path": [ - "api", - "v2", - "tmf", - "event", - "topic" - ] - }, - "description": "Generated from cURL: curl --location 'https://api.wcb-tst.kyivstar.ua:443/api/v2/tmf/event/topic' \\\r\n--header 'Accept: application/json;charset=utf-8' \\\r\n--header 'Content-Type: application/json;charset=utf-8' \\\r\n--header 'Accept-Language: en' \\\r\n--header 'Authorization: Basic YXBpX3VzZXI6V2lkZWNvdXAx' \\\r\n--data-raw '{\r\n \"name\":\"m2m-rating\",\r\n \"header\":{\r\n \"eventType\":\"RatingUnion.AbsoluteOverlimit.Event\",\r\n \"relatedParty\":[\r\n {\r\n \"@referredType\":\"Customers\",\r\n \"id\":5234283,\r\n \"IDType\":0\r\n }\r\n ]\r\n },\r\n \"event\":{\r\n \"AckAlarms\":{\r\n \"@type\":\"AckAlarms\",\r\n \"alarmPattern\":[\r\n {\r\n \"@type\":\"Alarm\",\r\n \"name\":\"Counter\",\r\n \"analyticCharacteristic\":[\r\n {\r\n \"name\":\"PackageOverrideCode\",\r\n \"valueType\":\"string\",\r\n \"value\":\"1790906\",\r\n \"@type\":\"Characteristic\"\r\n },\r\n {\r\n \"name\":\"SimCardGroupCode\",\r\n \"valueType\":\"string\",\r\n \"value\":\"default\",\r\n \"@type\":\"Characteristic\"\r\n },\r\n {\r\n \"name\":\"RatingUnionCode\",\r\n \"valueType\":\"string\",\r\n \"value\":\"data\",\r\n \"@type\":\"Characteristic\"\r\n }\r\n ]\r\n }\r\n ],\r\n \"ackedAlarm\":[\r\n {\r\n \"@type\":\"Alarm\",\r\n \"name\":\"Absolute\",\r\n \"crossedThresholdInformation\":{\r\n \"@type\":\"CrossedThresholdInformation\",\r\n \"observedValue\":\"157286400\",\r\n \"threshold\":{\r\n \"@type\":\"ThresholdRef\",\r\n \"id\":\"Absolute\"\r\n }\r\n }\r\n }\r\n ],\r\n \"ackUserFrom\":\"hostname\",\r\n \"ackUserId\":\"username\"\r\n }\r\n }\r\n}'" - }, - "response": [ - { - "name": "Success", - "originalRequest": { - "method": "POST", - "header": [ - { - "key": "Accept", - "value": "application/json;charset=utf-8" - }, - { - "key": "Content-Type", - "value": "application/json;charset=utf-8" - }, - { - "key": "Accept-Language", - "value": "en" - }, - { - "key": "Authorization", - "value": "Basic YXBpX3VzZXI6V2lkZWNvdXAx" - } - ], - "body": { - "mode": "raw", - "raw": "{\r\n \"name\":\"m2m-rating\",\r\n \"header\":{\r\n \"eventType\":\"RatingUnion.AbsoluteOverlimit.Event\",\r\n \"relatedParty\":[\r\n {\r\n \"@referredType\":\"Customers\",\r\n \"id\":5234283,\r\n \"IDType\":0\r\n }\r\n ]\r\n },\r\n \"event\":{\r\n \"AckAlarms\":{\r\n \"@type\":\"AckAlarms\",\r\n \"alarmPattern\":[\r\n {\r\n \"@type\":\"Alarm\",\r\n \"name\":\"Counter\",\r\n \"analyticCharacteristic\":[\r\n {\r\n \"name\":\"PackageOverrideCode\",\r\n \"valueType\":\"string\",\r\n \"value\":\"1790906\",\r\n \"@type\":\"Characteristic\"\r\n },\r\n {\r\n \"name\":\"SimCardGroupCode\",\r\n \"valueType\":\"string\",\r\n \"value\":\"default\",\r\n \"@type\":\"Characteristic\"\r\n },\r\n {\r\n \"name\":\"RatingUnionCode\",\r\n \"valueType\":\"string\",\r\n \"value\":\"data\",\r\n \"@type\":\"Characteristic\"\r\n }\r\n ]\r\n }\r\n ],\r\n \"ackedAlarm\":[\r\n {\r\n \"@type\":\"Alarm\",\r\n \"name\":\"Absolute\",\r\n \"crossedThresholdInformation\":{\r\n \"@type\":\"CrossedThresholdInformation\",\r\n \"observedValue\":\"157286400\",\r\n \"threshold\":{\r\n \"@type\":\"ThresholdRef\",\r\n \"id\":\"Absolute\"\r\n }\r\n }\r\n }\r\n ],\r\n \"ackUserFrom\":\"hostname\",\r\n \"ackUserId\":\"username\"\r\n }\r\n }\r\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "{{API}}/api/v2/tmf/event/topic", - "host": [ - "{{API}}" - ], - "path": [ - "api", - "v2", - "tmf", - "event", - "topic" - ] - } - }, - "status": "Created", - "code": 201, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Date", - "value": "Thu, 17 Oct 2024 16:27:06 GMT" - }, - { - "key": "Content-Type", - "value": "application/json; charset=utf-8" - }, - { - "key": "Content-Length", - "value": "167" - }, - { - "key": "Connection", - "value": "keep-alive" - }, - { - "key": "Accept-Language", - "value": "en" - }, - { - "key": "Access-Control-Allow-Credentials", - "value": "true" - }, - { - "key": "Access-Control-Allow-Headers", - "value": "Authorization,Pragma,Cache-control,Content-type,X-Requested-With" - }, - { - "key": "Access-Control-Allow-Methods", - "value": "GET,POST,PUT,DELETE,HEAD,OPTIONS" - }, - { - "key": "Strict-Transport-Security", - "value": "max-age=31536000" - }, - { - "key": "Content-Security-Policy", - "value": "img-src https: data:; upgrade-insecure-requests" - } - ], - "cookie": [], - "body": "{\n \"id\": \"59\",\n \"header\": {\n \"relatedParty\": [\n {\n \"id\": \"5234283\",\n \"@referredType\": \"Customers\",\n \"idType\": \"0\"\n }\n ],\n \"eventType\": \"RatingUnion.AbsoluteOverlimit.Event\"\n },\n \"name\": \"m2m-rating\"\n}" - } - ] - }, - { - "name": "TopicByAccoiunt_RatingUnion.AbsoluteOverlimit.Event_outOfBucketCounter", - "request": { - "method": "POST", - "header": [ - { - "key": "Accept", - "value": "application/json;charset=utf-8" - }, - { - "key": "Content-Type", - "value": "application/json;charset=utf-8" - }, - { - "key": "Accept-Language", - "value": "en" - }, - { - "key": "Authorization", - "value": "Basic YXBpX3VzZXI6V2lkZWNvdXAx" - } - ], - "body": { - "mode": "raw", - "raw": "{\r\n \"name\":\"m2m-rating\",\r\n \"header\":{\r\n \"eventType\":\"RatingUnion.AbsoluteOverlimit.Event\",\r\n \"relatedParty\":[\r\n {\r\n \"@referredType\":\"Customers\",\r\n \"id\":5234283,\r\n \"IDType\":0\r\n }\r\n ]\r\n },\r\n \"event\":{\r\n \"AckAlarms\":{\r\n \"@type\":\"AckAlarms\",\r\n \"alarmPattern\":[\r\n {\r\n \"@type\":\"Alarm\",\r\n \"name\":\"Counter\",\r\n \"analyticCharacteristic\":[\r\n {\r\n \"name\":\"PackageOverrideCode\",\r\n \"valueType\":\"string\",\r\n \"value\":\"1790906\",\r\n \"@type\":\"Characteristic\"\r\n },\r\n {\r\n \"name\":\"SimCardGroupCode\",\r\n \"valueType\":\"string\",\r\n \"value\":\"default\",\r\n \"@type\":\"Characteristic\"\r\n },\r\n {\r\n \"name\":\"RatingUnionCode\",\r\n \"valueType\":\"string\",\r\n \"value\":\"data\",\r\n \"@type\":\"Characteristic\"\r\n }\r\n ]\r\n }\r\n ],\r\n \"ackedAlarm\":[\r\n {\r\n \"@type\":\"Alarm\",\r\n \"name\":\"Remainder\",\r\n \"crossedThresholdInformation\":{\r\n \"@type\":\"CrossedThresholdInformation\",\r\n \"observedValue\":\"1024\",\r\n \"threshold\":{\r\n \"@type\":\"ThresholdRef\",\r\n \"id\":\"Absolute\"\r\n }\r\n }\r\n }\r\n ],\r\n \"ackUserFrom\":\"hostname\",\r\n \"ackUserId\":\"username\"\r\n }\r\n }\r\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "https://api.wcb-tst.kyivstar.ua:443/api/v2/tmf/event/topic", - "protocol": "https", - "host": [ - "api", - "wcb-tst", - "kyivstar", - "ua" - ], - "port": "443", - "path": [ - "api", - "v2", - "tmf", - "event", - "topic" - ] - }, - "description": "Generated from cURL: curl --location 'https://api.wcb-tst.kyivstar.ua:443/api/v2/tmf/event/topic' \\\r\n--header 'Accept: application/json;charset=utf-8' \\\r\n--header 'Content-Type: application/json;charset=utf-8' \\\r\n--header 'Accept-Language: en' \\\r\n--header 'Authorization: Basic YXBpX3VzZXI6V2lkZWNvdXAx' \\\r\n--data-raw '{\r\n \"name\":\"m2m-rating\",\r\n \"header\":{\r\n \"eventType\":\"RatingUnion.AbsoluteOverlimit.Event\",\r\n \"relatedParty\":[\r\n {\r\n \"@referredType\":\"Customers\",\r\n \"id\":5234283,\r\n \"IDType\":0\r\n }\r\n ]\r\n },\r\n \"event\":{\r\n \"AckAlarms\":{\r\n \"@type\":\"AckAlarms\",\r\n \"alarmPattern\":[\r\n {\r\n \"@type\":\"Alarm\",\r\n \"name\":\"Counter\",\r\n \"analyticCharacteristic\":[\r\n {\r\n \"name\":\"PackageOverrideCode\",\r\n \"valueType\":\"string\",\r\n \"value\":\"1790906\",\r\n \"@type\":\"Characteristic\"\r\n },\r\n {\r\n \"name\":\"SimCardGroupCode\",\r\n \"valueType\":\"string\",\r\n \"value\":\"default\",\r\n \"@type\":\"Characteristic\"\r\n },\r\n {\r\n \"name\":\"RatingUnionCode\",\r\n \"valueType\":\"string\",\r\n \"value\":\"data\",\r\n \"@type\":\"Characteristic\"\r\n }\r\n ]\r\n }\r\n ],\r\n \"ackedAlarm\":[\r\n {\r\n \"@type\":\"Alarm\",\r\n \"name\":\"Remainder\",\r\n \"crossedThresholdInformation\":{\r\n \"@type\":\"CrossedThresholdInformation\",\r\n \"observedValue\":\"1024\",\r\n \"threshold\":{\r\n \"@type\":\"ThresholdRef\",\r\n \"id\":\"Absolute\"\r\n }\r\n }\r\n }\r\n ],\r\n \"ackUserFrom\":\"hostname\",\r\n \"ackUserId\":\"username\"\r\n }\r\n }\r\n}'" - }, - "response": [ - { - "name": "Success", - "originalRequest": { - "method": "POST", - "header": [ - { - "key": "Accept", - "value": "application/json;charset=utf-8" - }, - { - "key": "Content-Type", - "value": "application/json;charset=utf-8" - }, - { - "key": "Accept-Language", - "value": "en" - }, - { - "key": "Authorization", - "value": "Basic YXBpX3VzZXI6V2lkZWNvdXAx" - } - ], - "body": { - "mode": "raw", - "raw": "{\r\n \"name\":\"m2m-rating\",\r\n \"header\":{\r\n \"eventType\":\"RatingUnion.AbsoluteOverlimit.Event\",\r\n \"relatedParty\":[\r\n {\r\n \"@referredType\":\"Customers\",\r\n \"id\":5234283,\r\n \"IDType\":0\r\n }\r\n ]\r\n },\r\n \"event\":{\r\n \"AckAlarms\":{\r\n \"@type\":\"AckAlarms\",\r\n \"alarmPattern\":[\r\n {\r\n \"@type\":\"Alarm\",\r\n \"name\":\"Counter\",\r\n \"analyticCharacteristic\":[\r\n {\r\n \"name\":\"PackageOverrideCode\",\r\n \"valueType\":\"string\",\r\n \"value\":\"1790906\",\r\n \"@type\":\"Characteristic\"\r\n },\r\n {\r\n \"name\":\"SimCardGroupCode\",\r\n \"valueType\":\"string\",\r\n \"value\":\"default\",\r\n \"@type\":\"Characteristic\"\r\n },\r\n {\r\n \"name\":\"RatingUnionCode\",\r\n \"valueType\":\"string\",\r\n \"value\":\"data\",\r\n \"@type\":\"Characteristic\"\r\n }\r\n ]\r\n }\r\n ],\r\n \"ackedAlarm\":[\r\n {\r\n \"@type\":\"Alarm\",\r\n \"name\":\"Remainder\",\r\n \"crossedThresholdInformation\":{\r\n \"@type\":\"CrossedThresholdInformation\",\r\n \"observedValue\":\"1024\",\r\n \"threshold\":{\r\n \"@type\":\"ThresholdRef\",\r\n \"id\":\"Absolute\"\r\n }\r\n }\r\n }\r\n ],\r\n \"ackUserFrom\":\"hostname\",\r\n \"ackUserId\":\"username\"\r\n }\r\n }\r\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "https://api.wcb-tst.kyivstar.ua:443/api/v2/tmf/event/topic", - "protocol": "https", - "host": [ - "api", - "wcb-tst", - "kyivstar", - "ua" - ], - "port": "443", - "path": [ - "api", - "v2", - "tmf", - "event", - "topic" - ] - } - }, - "status": "Created", - "code": 201, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Date", - "value": "Thu, 17 Oct 2024 16:27:13 GMT" - }, - { - "key": "Content-Type", - "value": "application/json; charset=utf-8" - }, - { - "key": "Content-Length", - "value": "167" - }, - { - "key": "Connection", - "value": "keep-alive" - }, - { - "key": "Accept-Language", - "value": "en" - }, - { - "key": "Access-Control-Allow-Credentials", - "value": "true" - }, - { - "key": "Access-Control-Allow-Headers", - "value": "Authorization,Pragma,Cache-control,Content-type,X-Requested-With" - }, - { - "key": "Access-Control-Allow-Methods", - "value": "GET,POST,PUT,DELETE,HEAD,OPTIONS" - }, - { - "key": "Strict-Transport-Security", - "value": "max-age=31536000" - }, - { - "key": "Content-Security-Policy", - "value": "img-src https: data:; upgrade-insecure-requests" - } - ], - "cookie": [], - "body": "{\n \"id\": \"60\",\n \"header\": {\n \"relatedParty\": [\n {\n \"id\": \"5234283\",\n \"@referredType\": \"Customers\",\n \"idType\": \"0\"\n }\n ],\n \"eventType\": \"RatingUnion.AbsoluteOverlimit.Event\"\n },\n \"name\": \"m2m-rating\"\n}" - } - ] - }, - { - "name": "TopicByAccount_RatingGroup.AbsoluteOverlimit.Event_UsedCounter", - "request": { - "method": "POST", - "header": [ - { - "key": "Accept", - "value": "application/json;charset=utf-8" - }, - { - "key": "Content-Type", - "value": "application/json;charset=utf-8" - }, - { - "key": "Accept-Language", - "value": "en" - }, - { - "key": "Authorization", - "value": "Basic YXBpX3VzZXI6V2lkZWNvdXAx" - } - ], - "body": { - "mode": "raw", - "raw": "{\r\n \"name\":\"m2m-rating\",\r\n \"header\":{\r\n \"eventType\":\"RatingGroup.AbsoluteOverlimit.Event\",\r\n \"relatedParty\":[\r\n {\r\n \"@referredType\":\"Customers\",\r\n \"id\":5234283,\r\n \"IDType\":0\r\n }\r\n ]\r\n },\r\n \"event\":{\r\n \"AckAlarms\":{\r\n \"@type\":\"AckAlarms\",\r\n \"alarmPattern\":[\r\n {\r\n \"@type\":\"Alarm\",\r\n \"name\":\"Counter\",\r\n \"analyticCharacteristic\":[\r\n {\r\n \"name\":\"PackageOverrideCode\",\r\n \"valueType\":\"string\",\r\n \"value\":\"1790906\",\r\n \"@type\":\"Characteristic\"\r\n },\r\n {\r\n \"name\":\"SimCardGroupCode\",\r\n \"valueType\":\"string\",\r\n \"value\":\"default\",\r\n \"@type\":\"Characteristic\"\r\n },\r\n {\r\n \"name\":\"RatingGroupCode\",\r\n \"valueType\":\"string\",\r\n \"value\":\"DTE-IN-UA\",\r\n \"@type\":\"Characteristic\"\r\n }\r\n ]\r\n }\r\n ],\r\n \"ackedAlarm\":[\r\n {\r\n \"@type\":\"Alarm\",\r\n \"name\":\"Absolute\",\r\n \"crossedThresholdInformation\":{\r\n \"@type\":\"CrossedThresholdInformation\",\r\n \"observedValue\":\"157286400\",\r\n \"threshold\":{\r\n \"@type\":\"ThresholdRef\",\r\n \"id\":\"Absolute\"\r\n }\r\n }\r\n }\r\n ],\r\n \"ackUserFrom\":\"hostname\",\r\n \"ackUserId\":\"username\"\r\n }\r\n }\r\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "https://api.wcb-tst.kyivstar.ua:443/api/v2/tmf/event/topic", - "protocol": "https", - "host": [ - "api", - "wcb-tst", - "kyivstar", - "ua" - ], - "port": "443", - "path": [ - "api", - "v2", - "tmf", - "event", - "topic" - ] - }, - "description": "Generated from cURL: curl --location 'https://api.wcb-tst.kyivstar.ua:443/api/v2/tmf/event/topic' \\\r\n--header 'Accept: application/json;charset=utf-8' \\\r\n--header 'Content-Type: application/json;charset=utf-8' \\\r\n--header 'Accept-Language: en' \\\r\n--header 'Authorization: Basic YXBpX3VzZXI6V2lkZWNvdXAx' \\\r\n--data-raw '{\r\n \"name\":\"m2m-rating\",\r\n \"header\":{\r\n \"eventType\":\"RatingGroup.AbsoluteOverlimit.Event\",\r\n \"relatedParty\":[\r\n {\r\n \"@referredType\":\"Customers\",\r\n \"id\":5234283,\r\n \"IDType\":0\r\n }\r\n ]\r\n },\r\n \"event\":{\r\n \"AckAlarms\":{\r\n \"@type\":\"AckAlarms\",\r\n \"alarmPattern\":[\r\n {\r\n \"@type\":\"Alarm\",\r\n \"name\":\"Counter\",\r\n \"analyticCharacteristic\":[\r\n {\r\n \"name\":\"PackageOverrideCode\",\r\n \"valueType\":\"string\",\r\n \"value\":\"1790906\",\r\n \"@type\":\"Characteristic\"\r\n },\r\n {\r\n \"name\":\"SimCardGroupCode\",\r\n \"valueType\":\"string\",\r\n \"value\":\"default\",\r\n \"@type\":\"Characteristic\"\r\n },\r\n {\r\n \"name\":\"RatingGroupCode\",\r\n \"valueType\":\"string\",\r\n \"value\":\"DTE-IN-UA\",\r\n \"@type\":\"Characteristic\"\r\n }\r\n ]\r\n }\r\n ],\r\n \"ackedAlarm\":[\r\n {\r\n \"@type\":\"Alarm\",\r\n \"name\":\"Absolute\",\r\n \"crossedThresholdInformation\":{\r\n \"@type\":\"CrossedThresholdInformation\",\r\n \"observedValue\":\"157286400\",\r\n \"threshold\":{\r\n \"@type\":\"ThresholdRef\",\r\n \"id\":\"Absolute\"\r\n }\r\n }\r\n }\r\n ],\r\n \"ackUserFrom\":\"hostname\",\r\n \"ackUserId\":\"username\"\r\n }\r\n }\r\n}'" - }, - "response": [ - { - "name": "Success", - "originalRequest": { - "method": "POST", - "header": [ - { - "key": "Accept", - "value": "application/json;charset=utf-8" - }, - { - "key": "Content-Type", - "value": "application/json;charset=utf-8" - }, - { - "key": "Accept-Language", - "value": "en" - }, - { - "key": "Authorization", - "value": "Basic YXBpX3VzZXI6V2lkZWNvdXAx" - } - ], - "body": { - "mode": "raw", - "raw": "{\r\n \"name\":\"m2m-rating\",\r\n \"header\":{\r\n \"eventType\":\"RatingGroup.AbsoluteOverlimit.Event\",\r\n \"relatedParty\":[\r\n {\r\n \"@referredType\":\"Customers\",\r\n \"id\":5234283,\r\n \"IDType\":0\r\n }\r\n ]\r\n },\r\n \"event\":{\r\n \"AckAlarms\":{\r\n \"@type\":\"AckAlarms\",\r\n \"alarmPattern\":[\r\n {\r\n \"@type\":\"Alarm\",\r\n \"name\":\"Counter\",\r\n \"analyticCharacteristic\":[\r\n {\r\n \"name\":\"PackageOverrideCode\",\r\n \"valueType\":\"string\",\r\n \"value\":\"1790906\",\r\n \"@type\":\"Characteristic\"\r\n },\r\n {\r\n \"name\":\"SimCardGroupCode\",\r\n \"valueType\":\"string\",\r\n \"value\":\"default\",\r\n \"@type\":\"Characteristic\"\r\n },\r\n {\r\n \"name\":\"RatingGroupCode\",\r\n \"valueType\":\"string\",\r\n \"value\":\"DTE-IN-UA\",\r\n \"@type\":\"Characteristic\"\r\n }\r\n ]\r\n }\r\n ],\r\n \"ackedAlarm\":[\r\n {\r\n \"@type\":\"Alarm\",\r\n \"name\":\"Absolute\",\r\n \"crossedThresholdInformation\":{\r\n \"@type\":\"CrossedThresholdInformation\",\r\n \"observedValue\":\"157286400\",\r\n \"threshold\":{\r\n \"@type\":\"ThresholdRef\",\r\n \"id\":\"Absolute\"\r\n }\r\n }\r\n }\r\n ],\r\n \"ackUserFrom\":\"hostname\",\r\n \"ackUserId\":\"username\"\r\n }\r\n }\r\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "https://api.wcb-tst.kyivstar.ua:443/api/v2/tmf/event/topic", - "protocol": "https", - "host": [ - "api", - "wcb-tst", - "kyivstar", - "ua" - ], - "port": "443", - "path": [ - "api", - "v2", - "tmf", - "event", - "topic" - ] - } - }, - "status": "Created", - "code": 201, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Date", - "value": "Thu, 17 Oct 2024 16:27:17 GMT" - }, - { - "key": "Content-Type", - "value": "application/json; charset=utf-8" - }, - { - "key": "Content-Length", - "value": "167" - }, - { - "key": "Connection", - "value": "keep-alive" - }, - { - "key": "Accept-Language", - "value": "en" - }, - { - "key": "Access-Control-Allow-Credentials", - "value": "true" - }, - { - "key": "Access-Control-Allow-Headers", - "value": "Authorization,Pragma,Cache-control,Content-type,X-Requested-With" - }, - { - "key": "Access-Control-Allow-Methods", - "value": "GET,POST,PUT,DELETE,HEAD,OPTIONS" - }, - { - "key": "Strict-Transport-Security", - "value": "max-age=31536000" - }, - { - "key": "Content-Security-Policy", - "value": "img-src https: data:; upgrade-insecure-requests" - } - ], - "cookie": [], - "body": "{\n \"id\": \"61\",\n \"header\": {\n \"relatedParty\": [\n {\n \"id\": \"5234283\",\n \"@referredType\": \"Customers\",\n \"idType\": \"0\"\n }\n ],\n \"eventType\": \"RatingGroup.AbsoluteOverlimit.Event\"\n },\n \"name\": \"m2m-rating\"\n}" - } - ] - }, - { - "name": "Delete the Topic", - "event": [ - { - "listen": "test", - "script": { - "exec": [ - "pm.test(\"Status code is 201\", function () {", - " pm.response.to.have.status(201);", - "});" - ], - "type": "text/javascript", - "packages": {} - } - } - ], - "request": { - "auth": { - "type": "basic", - "basic": [ - { - "key": "password", - "value": "password", - "type": "string" - }, - { - "key": "username", - "value": "login", - "type": "string" - } - ] - }, - "method": "DELETE", - "header": [ - { - "key": "Accept", - "value": "application/json;charset=utf-8" - }, - { - "key": "Content-Type", - "value": "application/json;charset=utf-8" - }, - { - "key": "x-ms-client-request-id", - "value": "20412345678903142363734", - "disabled": true - }, - { - "key": "Accept-Language", - "value": "en" - } - ], - "body": { - "mode": "raw", - "raw": "{}" - }, - "url": { - "raw": "{{API}}/api/v2/tmf/event/topic/52", - "host": [ - "{{API}}" - ], - "path": [ - "api", - "v2", - "tmf", - "event", - "topic", - "52" - ] - }, - "description": "This operation creates a BillingAccount entity." - }, - "response": [ - { - "name": "Duplicated operation", - "originalRequest": { - "method": "DELETE", - "header": [ - { - "key": "Accept", - "value": "application/json;charset=utf-8" - }, - { - "key": "Content-Type", - "value": "application/json;charset=utf-8" - }, - { - "key": "x-ms-client-request-id", - "value": "20412345678903142363734", - "disabled": true - }, - { - "key": "Accept-Language", - "value": "en" - } - ], - "body": { - "mode": "raw", - "raw": "{}" - }, - "url": { - "raw": "{{API}}/api/v2/tmf/event/topic/91", - "host": [ - "{{API}}" - ], - "path": [ - "api", - "v2", - "tmf", - "event", - "topic", - "91" - ] - } - }, - "status": "Internal Server Error", - "code": 500, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Length", - "value": "164" - }, - { - "key": "Content-Type", - "value": "application/json; charset=utf-8" - }, - { - "key": "Access-Control-Allow-Methods", - "value": "GET, PUT, POST, DELETE, OPTIONS, HEAD" - }, - { - "key": "Access-Control-Allow-Headers", - "value": "Authorization,Pragma,Cache-control,Content-type" - }, - { - "key": "Access-Control-Allow-Credentials", - "value": "true" - }, - { - "key": "Date", - "value": "Thu, 06 Jun 2024 07:32:56 GMT" - } - ], - "cookie": [], - "body": "{\n \"code\": \"51697\",\n \"reason\": \"51697\",\n \"message\": \"The specified identifier has already been deleted, so the operation is not possible\",\n \"status\": \"500\",\n \"referenceError\": \"\"\n}" - }, - { - "name": "Deleted successfully", - "originalRequest": { - "method": "DELETE", - "header": [ - { - "key": "Accept", - "value": "application/json;charset=utf-8" - }, - { - "key": "Content-Type", - "value": "application/json;charset=utf-8" - }, - { - "key": "x-ms-client-request-id", - "value": "20412345678903142363734", - "disabled": true - }, - { - "key": "Accept-Language", - "value": "en" - } - ], - "body": { - "mode": "raw", - "raw": "{}" - }, - "url": { - "raw": "{{API}}/api/v2/tmf/event/topic/49", - "host": [ - "{{API}}" - ], - "path": [ - "api", - "v2", - "tmf", - "event", - "topic", - "49" - ] - } - }, - "status": "No Content", - "code": 204, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json; charset=utf-8" - }, - { - "key": "Accept-Language", - "value": "en" - }, - { - "key": "Access-Control-Allow-Methods", - "value": "GET, PUT, POST, DELETE, OPTIONS, HEAD" - }, - { - "key": "Access-Control-Allow-Headers", - "value": "Authorization,Pragma,Cache-control,Content-type" - }, - { - "key": "Access-Control-Allow-Credentials", - "value": "true" - }, - { - "key": "Date", - "value": "Thu, 06 Jun 2024 07:58:39 GMT" - } - ], - "cookie": [], - "body": null - }, - { - "name": "Incorrect Topic ID", - "originalRequest": { - "method": "DELETE", - "header": [ - { - "key": "Accept", - "value": "application/json;charset=utf-8" - }, - { - "key": "Content-Type", - "value": "application/json;charset=utf-8" - }, - { - "key": "x-ms-client-request-id", - "value": "20412345678903142363734", - "disabled": true - }, - { - "key": "Accept-Language", - "value": "en" - } - ], - "body": { - "mode": "raw", - "raw": "{}" - }, - "url": { - "raw": "{{API}}/api/v2/tmf/event/topic/52", - "host": [ - "{{API}}" - ], - "path": [ - "api", - "v2", - "tmf", - "event", - "topic", - "52" - ] - } - }, - "status": "Internal Server Error", - "code": 500, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Date", - "value": "Thu, 17 Oct 2024 14:12:19 GMT" - }, - { - "key": "Content-Type", - "value": "application/json; charset=utf-8" - }, - { - "key": "Content-Length", - "value": "124" - }, - { - "key": "Connection", - "value": "keep-alive" - }, - { - "key": "Access-Control-Allow-Credentials", - "value": "true" - }, - { - "key": "Access-Control-Allow-Headers", - "value": "Authorization,Pragma,Cache-control,Content-type,X-Requested-With" - }, - { - "key": "Access-Control-Allow-Methods", - "value": "GET,POST,PUT,DELETE,HEAD,OPTIONS" - } - ], - "cookie": [], - "body": "{\n \"code\": \"50205\",\n \"reason\": \"50205\",\n \"message\": \"Incorrect value of the input parameter: @id\",\n \"status\": \"500\",\n \"referenceError\": \"\"\n}" - } - ] - }, - { - "name": "List or find Topic entittes", - "request": { - "auth": { - "type": "basic", - "basic": [ - { - "key": "password", - "value": "password", - "type": "string" - }, - { - "key": "username", - "value": "login", - "type": "string" - } - ] - }, - "method": "GET", - "header": [ - { - "key": "Accept", - "value": "application/json;charset=utf-8" - }, - { - "key": "Content-Type", - "value": "application/json;charset=utf-8" - }, - { - "key": "x-ms-client-request-id", - "value": "20412345678903142363734", - "disabled": true - }, - { - "key": "Accept-Language", - "value": "en" - } - ], - "url": { - "raw": "{{API}}/api/v2/tmf/event/topic?limit=5&offset=1&header={relatedParty:[{\"id\": \"5234283\",\"@referredType\": \"Customers\",\"IDType\": \"0\"}],\"eventType\": \"RatingUnion.PercentOverlimit.Event\"}", - "host": [ - "{{API}}" - ], - "path": [ - "api", - "v2", - "tmf", - "event", - "topic" - ], - "query": [ - { - "key": "limit", - "value": "5" - }, - { - "key": "offset", - "value": "1" - }, - { - "key": "header", - "value": "{relatedParty:[{\"id\": \"5234283\",\"@referredType\": \"Customers\",\"IDType\": \"0\"}],\"eventType\": \"RatingUnion.PercentOverlimit.Event\"}" - } - ] - } - }, - "response": [ - { - "name": "Partial by eventType & Related Party", - "originalRequest": { - "method": "GET", - "header": [ - { - "key": "Accept", - "value": "application/json;charset=utf-8" - }, - { - "key": "Content-Type", - "value": "application/json;charset=utf-8" - }, - { - "key": "x-ms-client-request-id", - "value": "20412345678903142363734", - "disabled": true - }, - { - "key": "Accept-Language", - "value": "en" - } - ], - "url": { - "raw": "{{API}}/api/v2/tmf/event/topic?limit=5&offset=1&header={relatedParty:[{\"id\": \"5234283\",\"@referredType\": \"Customers\",\"IDType\": \"0\"}],\"eventType\": \"RatingUnion.PercentOverlimit.Event\"}", - "host": [ - "{{API}}" - ], - "path": [ - "api", - "v2", - "tmf", - "event", - "topic" - ], - "query": [ - { - "key": "limit", - "value": "5" - }, - { - "key": "offset", - "value": "1" - }, - { - "key": "header", - "value": "{relatedParty:[{\"id\": \"5234283\",\"@referredType\": \"Customers\",\"IDType\": \"0\"}],\"eventType\": \"RatingUnion.PercentOverlimit.Event\"}" - } - ] - } - }, - "status": "OK", - "code": 200, - "_postman_previewlanguage": "plain", - "header": [ - { - "key": "Date", - "value": "Tue, 16 Jul 2024 15:30:25 GMT" - }, - { - "key": "Content-Type", - "value": "text/plain; charset=utf-8" - }, - { - "key": "Transfer-Encoding", - "value": "chunked" - }, - { - "key": "Connection", - "value": "keep-alive" - }, - { - "key": "Content-Range", - "value": "items 1-2/2" - }, - { - "key": "Accept-Language", - "value": "en" - }, - { - "key": "x-ms-client-request-id", - "value": "218d32a8-918f-41ce-ab12-ecd05bda" - }, - { - "key": "X-Total-Count", - "value": "2" - }, - { - "key": "X-Page-Count", - "value": "1" - }, - { - "key": "cacheStatus", - "value": "Added" - }, - { - "key": "Access-Control-Allow-Credentials", - "value": "true" - }, - { - "key": "Access-Control-Allow-Headers", - "value": "Authorization,Pragma,Cache-control,Content-type,X-Requested-With" - }, - { - "key": "Access-Control-Allow-Methods", - "value": "GET,POST,PUT,DELETE,HEAD,OPTIONS" - }, - { - "key": "Strict-Transport-Security", - "value": "max-age=31536000" - }, - { - "key": "Content-Security-Policy", - "value": "img-src https: data:; upgrade-insecure-requests" - } - ], - "cookie": [], - "body": "[\n{\n \"event\": {\n \"AckAlarms\": {\n \"@type\": \"AckAlarms\",\n \"alarmPattern\": [\n {\n \"@type\": \"Alarm\",\n \"name\": \"Counter\",\n \"analyticCharacteristic\": [\n {\n \"id\": \"PackageOverrideCode\",\n \"name\": \"PackageOverrideCode\",\n \"valueType\": \"string\",\n \"value\": \"1790906\",\n \"@type\": \"Characteristic\"\n },\n {\n \"id\": \"RatingUnionCode\",\n \"name\": \"RatingUnionCode\",\n \"valueType\": \"string\",\n \"value\": \"data\",\n \"@type\": \"Characteristic\"\n },\n {\n \"id\": \"scrg_code\",\n \"name\": \"SimCardGroupCode\",\n \"valueType\": \"string\",\n \"value\": \"default\",\n \"@type\": \"Characteristic\"\n }\n ]\n }\n ],\n \"ackedAlarm\": [\n {\n \"@type\": \"Alarm\",\n \"name\": \"Percent\",\n \"crossedThresholdInformation\": {\n \"@type\": \"CrossedThresholdInformation\",\n \"observedValue\": \"80.0\",\n \"threshold\": {\n \"@type\": \"ThresholdRef\",\n \"id\": \"Percent\"\n }\n }\n }\n ],\n \"ackUserFrom\": \"hostname\",\n \"ackUserId\": \"username\"\n }\n },\n \"header\": {\n \"relatedParty\": [\n {\n \"id\": \"5234283\",\n \"@referredType\": \"Customers\",\n \"IDType\": \"0\"\n }\n ],\n \"eventType\": \"RatingUnion.PercentOverlimit.Event\"\n },\n \"id\": \"14\",\n \"name\": \"m2m-rating\"\n},\n{\n \"event\": {\n \"AckAlarms\": {\n \"@type\": \"AckAlarms\",\n \"alarmPattern\": [\n {\n \"@type\": \"Alarm\",\n \"name\": \"Counter\",\n \"analyticCharacteristic\": [\n {\n \"id\": \"PackageOverrideCode\",\n \"name\": \"PackageOverrideCode\",\n \"valueType\": \"string\",\n \"value\": \"1790906\",\n \"@type\": \"Characteristic\"\n },\n {\n \"id\": \"RatingUnionCode\",\n \"name\": \"RatingUnionCode\",\n \"valueType\": \"string\",\n \"value\": \"data\",\n \"@type\": \"Characteristic\"\n },\n {\n \"id\": \"scrg_code\",\n \"name\": \"SimCardGroupCode\",\n \"valueType\": \"string\",\n \"value\": \"default\",\n \"@type\": \"Characteristic\"\n }\n ]\n }\n ],\n \"ackedAlarm\": [\n {\n \"@type\": \"Alarm\",\n \"name\": \"Percent\",\n \"crossedThresholdInformation\": {\n \"@type\": \"CrossedThresholdInformation\",\n \"observedValue\": \"80.0\",\n \"threshold\": {\n \"@type\": \"ThresholdRef\",\n \"id\": \"Percent\"\n }\n }\n }\n ],\n \"ackUserFrom\": \"hostname\",\n \"ackUserId\": \"username\"\n }\n },\n \"header\": {\n \"relatedParty\": [\n {\n \"id\": \"5234283\",\n \"@referredType\": \"Customers\",\n \"IDType\": \"0\"\n }\n ],\n \"eventType\": \"RatingUnion.PercentOverlimit.Event\"\n },\n \"id\": \"23\",\n \"name\": \"m2m-rating\"\n}\n]\n" - }, - { - "name": "Partial by Related Party", - "originalRequest": { - "method": "GET", - "header": [ - { - "key": "Accept", - "value": "application/json;charset=utf-8" - }, - { - "key": "Content-Type", - "value": "application/json;charset=utf-8" - }, - { - "key": "x-ms-client-request-id", - "value": "20412345678903142363734", - "disabled": true - }, - { - "key": "Accept-Language", - "value": "en" - } - ], - "url": { - "raw": "{{API}}/api/v2/tmf/event/topic?limit=5&offset=0&header={relatedParty:[{\"id\": \"5234283\",\"@referredType\": \"Customers\",\"IDType\": \"0\"}]}", - "host": [ - "{{API}}" - ], - "path": [ - "api", - "v2", - "tmf", - "event", - "topic" - ], - "query": [ - { - "key": "limit", - "value": "5" - }, - { - "key": "offset", - "value": "0" - }, - { - "key": "header", - "value": "{relatedParty:[{\"id\": \"5234283\",\"@referredType\": \"Customers\",\"IDType\": \"0\"}]}" - } - ] - } - }, - "status": "Partial Content", - "code": 206, - "_postman_previewlanguage": "plain", - "header": [ - { - "key": "Date", - "value": "Thu, 17 Oct 2024 13:21:50 GMT" - }, - { - "key": "Content-Type", - "value": "text/plain; charset=utf-8" - }, - { - "key": "Transfer-Encoding", - "value": "chunked" - }, - { - "key": "Connection", - "value": "keep-alive" - }, - { - "key": "Content-Range", - "value": "items 1-5/6" - }, - { - "key": "Accept-Language", - "value": "en" - }, - { - "key": "x-ms-client-request-id", - "value": "5a82a64f-d619-4480-a02e-d62eda6e" - }, - { - "key": "X-Total-Count", - "value": "6" - }, - { - "key": "X-Page-Count", - "value": "2" - }, - { - "key": "cacheStatus", - "value": "Added" - }, - { - "key": "Access-Control-Allow-Credentials", - "value": "true" - }, - { - "key": "Access-Control-Allow-Headers", - "value": "Authorization,Pragma,Cache-control,Content-type,X-Requested-With" - }, - { - "key": "Access-Control-Allow-Methods", - "value": "GET,POST,PUT,DELETE,HEAD,OPTIONS" - }, - { - "key": "Strict-Transport-Security", - "value": "max-age=31536000" - }, - { - "key": "Content-Security-Policy", - "value": "img-src https: data:; upgrade-insecure-requests" - } - ], - "cookie": [], - "body": "[\n{\n \"event\": {\n \"AckAlarms\": {\n \"@type\": \"AckAlarms\",\n \"alarmPattern\": [\n {\n \"@type\": \"Alarm\",\n \"name\": \"Counter\",\n \"analyticCharacteristic\": [\n {\n \"id\": \"PackageOverrideCode\",\n \"name\": \"PackageOverrideCode\",\n \"valueType\": \"string\",\n \"value\": \"1790906\",\n \"@type\": \"Characteristic\"\n },\n {\n \"id\": \"RatingUnionCode\",\n \"name\": \"RatingUnionCode\",\n \"valueType\": \"string\",\n \"value\": \"data\",\n \"@type\": \"Characteristic\"\n },\n {\n \"id\": \"scrg_code\",\n \"name\": \"SimCardGroupCode\",\n \"valueType\": \"string\",\n \"value\": \"default\",\n \"@type\": \"Characteristic\"\n }\n ]\n }\n ],\n \"ackedAlarm\": [\n {\n \"@type\": \"Alarm\",\n \"name\": \"Percent\",\n \"crossedThresholdInformation\": {\n \"@type\": \"CrossedThresholdInformation\",\n \"observedValue\": \"80.0\",\n \"threshold\": {\n \"@type\": \"ThresholdRef\",\n \"id\": \"Percent\"\n }\n }\n }\n ],\n \"ackUserFrom\": \"hostname\",\n \"ackUserId\": \"username\"\n }\n },\n \"header\": {\n \"relatedParty\": [\n {\n \"id\": \"5234283\",\n \"@referredType\": \"Customers\",\n \"IDType\": \"0\"\n }\n ],\n \"eventType\": \"RatingUnion.PercentOverlimit.Event\"\n },\n \"id\": \"24\",\n \"name\": \"m2m-rating\"\n},\n{\n \"event\": {\n \"AckAlarms\": {\n \"@type\": \"AckAlarms\",\n \"alarmPattern\": [\n {\n \"@type\": \"Alarm\",\n \"name\": \"Counter\",\n \"analyticCharacteristic\": [\n {\n \"id\": \"PackageOverrideCode\",\n \"name\": \"PackageOverrideCode\",\n \"valueType\": \"string\",\n \"value\": \"1790906\",\n \"@type\": \"Characteristic\"\n },\n {\n \"id\": \"RatingUnionCode\",\n \"name\": \"RatingUnionCode\",\n \"valueType\": \"string\",\n \"value\": \"data\",\n \"@type\": \"Characteristic\"\n },\n {\n \"id\": \"scrg_code\",\n \"name\": \"SimCardGroupCode\",\n \"valueType\": \"string\",\n \"value\": \"default\",\n \"@type\": \"Characteristic\"\n }\n ]\n }\n ],\n \"ackedAlarm\": [\n {\n \"@type\": \"Alarm\",\n \"name\": \"Absolute\",\n \"crossedThresholdInformation\": {\n \"@type\": \"CrossedThresholdInformation\",\n \"observedValue\": \"157286400.0\",\n \"threshold\": {\n \"@type\": \"ThresholdRef\",\n \"id\": \"Absolute\"\n }\n }\n }\n ],\n \"ackUserFrom\": \"hostname\",\n \"ackUserId\": \"username\"\n }\n },\n \"header\": {\n \"relatedParty\": [\n {\n \"id\": \"5234283\",\n \"@referredType\": \"Customers\",\n \"IDType\": \"0\"\n }\n ],\n \"eventType\": \"RatingUnion.AbsoluteOverlimit.Event\"\n },\n \"id\": \"27\",\n \"name\": \"m2m-rating\"\n},\n{\n \"event\": {\n \"AckAlarms\": {\n \"@type\": \"AckAlarms\",\n \"alarmPattern\": [\n {\n \"@type\": \"Alarm\",\n \"name\": \"Counter\",\n \"analyticCharacteristic\": [\n {\n \"id\": \"PackageOverrideCode\",\n \"name\": \"PackageOverrideCode\",\n \"valueType\": \"string\",\n \"value\": \"1790906\",\n \"@type\": \"Characteristic\"\n },\n {\n \"id\": \"RatingUnionCode\",\n \"name\": \"RatingUnionCode\",\n \"valueType\": \"string\",\n \"value\": \"data\",\n \"@type\": \"Characteristic\"\n },\n {\n \"id\": \"scrg_code\",\n \"name\": \"SimCardGroupCode\",\n \"valueType\": \"string\",\n \"value\": \"default\",\n \"@type\": \"Characteristic\"\n }\n ]\n }\n ],\n \"ackedAlarm\": [\n {\n \"@type\": \"Alarm\",\n \"name\": \"Remainder\",\n \"crossedThresholdInformation\": {\n \"@type\": \"CrossedThresholdInformation\",\n \"observedValue\": \"1024.0\",\n \"threshold\": {\n \"@type\": \"ThresholdRef\",\n \"id\": \"Remainder\"\n }\n }\n }\n ],\n \"ackUserFrom\": \"hostname\",\n \"ackUserId\": \"username\"\n }\n },\n \"header\": {\n \"relatedParty\": [\n {\n \"id\": \"5234283\",\n \"@referredType\": \"Customers\",\n \"IDType\": \"0\"\n }\n ],\n \"eventType\": \"RatingUnion.AbsoluteOverlimit.Event\"\n },\n \"id\": \"30\",\n \"name\": \"m2m-rating\"\n},\n{\n \"event\": {\n \"AckAlarms\": {\n \"@type\": \"AckAlarms\",\n \"alarmPattern\": [\n {\n \"@type\": \"Alarm\",\n \"name\": \"Counter\",\n \"analyticCharacteristic\": [\n {\n \"id\": \"PackageOverrideCode\",\n \"name\": \"PackageOverrideCode\",\n \"valueType\": \"string\",\n \"value\": \"1790906\",\n \"@type\": \"Characteristic\"\n },\n {\n \"id\": \"RatingUnionCode\",\n \"name\": \"RatingUnionCode\",\n \"valueType\": \"string\",\n \"value\": \"data\",\n \"@type\": \"Characteristic\"\n },\n {\n \"id\": \"scrg_code\",\n \"name\": \"SimCardGroupCode\",\n \"valueType\": \"string\",\n \"value\": \"default\",\n \"@type\": \"Characteristic\"\n }\n ]\n }\n ],\n \"ackedAlarm\": [\n {\n \"@type\": \"Alarm\",\n \"name\": \"Remainder\",\n \"crossedThresholdInformation\": {\n \"@type\": \"CrossedThresholdInformation\",\n \"observedValue\": \"1024.0\",\n \"threshold\": {\n \"@type\": \"ThresholdRef\",\n \"id\": \"Remainder\"\n }\n }\n }\n ],\n \"ackUserFrom\": \"hostname\",\n \"ackUserId\": \"username\"\n }\n },\n \"header\": {\n \"relatedParty\": [\n {\n \"id\": \"5234283\",\n \"@referredType\": \"Customers\",\n \"IDType\": \"0\"\n }\n ],\n \"eventType\": \"RatingUnion.AbsoluteOverlimit.Event\"\n },\n \"id\": \"36\",\n \"name\": \"m2m-rating\"\n},\n{\n \"event\": {\n \"AckAlarms\": {\n \"@type\": \"AckAlarms\",\n \"alarmPattern\": [\n {\n \"@type\": \"Alarm\",\n \"name\": \"Counter\",\n \"analyticCharacteristic\": [\n {\n \"id\": \"PackageOverrideCode\",\n \"name\": \"PackageOverrideCode\",\n \"valueType\": \"string\",\n \"value\": \"1790906777777777\",\n \"@type\": \"Characteristic\"\n },\n {\n \"id\": \"RatingUnionCode\",\n \"name\": \"RatingUnionCode\",\n \"valueType\": \"string\",\n \"value\": \"data\",\n \"@type\": \"Characteristic\"\n },\n {\n \"id\": \"scrg_code\",\n \"name\": \"SimCardGroupCode\",\n \"valueType\": \"string\",\n \"value\": \"default\",\n \"@type\": \"Characteristic\"\n }\n ]\n }\n ],\n \"ackedAlarm\": [\n {\n \"@type\": \"Alarm\",\n \"name\": \"Remainder\",\n \"crossedThresholdInformation\": {\n \"@type\": \"CrossedThresholdInformation\",\n \"observedValue\": \"1024.0\",\n \"threshold\": {\n \"@type\": \"ThresholdRef\",\n \"id\": \"Remainder\"\n }\n }\n }\n ],\n \"ackUserFrom\": \"hostname\",\n \"ackUserId\": \"username\"\n }\n },\n \"header\": {\n \"relatedParty\": [\n {\n \"id\": \"5234283\",\n \"@referredType\": \"Customers\",\n \"IDType\": \"0\"\n }\n ],\n \"eventType\": \"RatingUnion.AbsoluteOverlimit.Event\"\n },\n \"id\": \"37\",\n \"name\": \"m2m-rating\"\n}\n]\n" - } - ] - } - ] + "info": { + "_postman_id": "e65104df-3916-4e99-b1ae-db63ba1160ef", + "name": "TMF688 Event Management (MEF.DEV)", + "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json", + "_exporter_id": "16338639", + "_collection_link": "https://go.postman.co/collection/16338639-e65104df-3916-4e99-b1ae-db63ba1160ef?source=collection_link" }, - { - "name": "Event", - "item": [ + "item": [ { - "name": "Find Event by Period", - "request": { - "auth": { - "type": "basic", - "basic": [ - { - "key": "username", - "value": "login", - "type": "string" - }, - { - "key": "password", - "value": "{{auth_password_0yol}}", - "type": "string" - } - ] - }, - "method": "GET", - "header": [ - { - "key": "Accept", - "value": "application/json;charset=utf-8" - }, - { - "key": "Content-Type", - "value": "application/json;charset=utf-8" - }, - { - "key": "Accept-Language", - "value": "en" - } - ], - "url": { - "raw": "{{API}}/api/v2/tmf/event/event?limit=5&offset=0&periodCoverage.startDateTime=2021-04-30T23:59:59.997&periodCoverage.endDateTime=2025-06-01T00:00:00.000", - "host": [ - "{{API}}" - ], - "path": [ - "api", - "v2", - "tmf", - "event", - "event" - ], - "query": [ - { - "key": "limit", - "value": "5" - }, - { - "key": "offset", - "value": "0" - }, - { - "key": "periodCoverage.startDateTime", - "value": "2021-04-30T23:59:59.997" - }, - { - "key": "periodCoverage.endDateTime", - "value": "2025-06-01T00:00:00.000" - } - ] - } - }, - "response": [ - { - "name": "Particial Events by Period", - "originalRequest": { - "method": "GET", - "header": [ - { - "key": "Accept", - "value": "application/json;charset=utf-8" - }, - { - "key": "Content-Type", - "value": "application/json;charset=utf-8" - }, - { - "key": "x-ms-client-request-id", - "value": "20412345678903142363734", - "disabled": true - }, - { - "key": "Accept-Language", - "value": "en" - } - ], - "url": { - "raw": "{{API}}/api/v2/tmf/event/event?limit=5&offset=0&periodCoverage={\"startDateTime\":\"2021-04-30T23:59:59.997\",\"endDateTime\":\"2025-06-01T00:00:00.000\"}", - "host": [ - "{{API}}" - ], - "path": [ - "api", - "v2", - "tmf", - "event", - "event" - ], - "query": [ - { - "key": "limit", - "value": "5" + "name": "Topic", + "item": [ + { + "name": "Creates a Topic", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "pm.test(\"Status code is 201\", function () {", + " pm.response.to.have.status(201);", + "});" + ], + "type": "text/javascript", + "packages": {} + } + } + ], + "request": { + "auth": { + "type": "basic", + "basic": [ + { + "key": "password", + "value": "password", + "type": "string" + }, + { + "key": "username", + "value": "login", + "type": "string" + } + ] + }, + "method": "POST", + "header": [ + { + "key": "Accept", + "value": "application/json;charset=utf-8" + }, + { + "key": "Content-Type", + "value": "application/json;charset=utf-8" + }, + { + "key": "x-ms-client-request-id", + "value": "20412345678903142363734", + "disabled": true + }, + { + "key": "Accept-Language", + "value": "en" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"name\":\"m2m-rating\",\n \"header\":{\n \"eventType\":\"Label.AbsoluteOverlimit.DisableService\",\n \"relatedParty\":[\n {\n \"@referredType\":\"Associations\",\n \"id\":5234283,\n \"IDType\":0\n }\n ]\n },\n \"event\":{\n \"AckAlarms\":{\n \"@type\":\"AckAlarms\",\n \"ackUserId\":\"username\",\n \"ackUserFrom\":\"hostname\",\n \"alarmPattern\":[\n {\n \"@type\":\"Alarm\",\n \"name\":\"Counter\",\n \"analyticCharacteristic\":[\n {\n \"name\":\"Label\",\n \"value\":\"SINGLE\",\n \"valueType\":\"string\",\n \"@type\":\"Characteristic\"\n },\n {\n \"@type\":\"Characteristic\",\n \"valueType\":\"string\",\n \"name\":\"SimCardGroupCode\",\n \"value\":\"default\"\n },\n {\n \"@type\":\"Characteristic\",\n \"valueType\":\"string\",\n \"name\":\"RatingUnionCode\",\n \"value\":\"data\"\n }\n ]\n }\n ],\n \"ackedAlarm\":[\n {\n \"@type\":\"Alarm\",\n \"name\":\"Absolute\",\n \"crossedThresholdInformation\":{\n \"observedValue\":\"10485760\",\n \"threshold\":{\n \"@type\":\"ThresholdRef\",\n \"id\":\"Absolute\"\n },\n \"@type\":\"CrossedThresholdInformation\"\n }\n }\n ]\n }\n }\n}" + }, + "url": { + "raw": "{{API}}/api/v2/tmf/event/topic", + "host": [ + "{{API}}" + ], + "path": [ + "api", + "v2", + "tmf", + "event", + "topic" + ] + }, + "description": "This operation creates a BillingAccount entity." }, - { - "key": "offset", - "value": "0" + "response": [ + { + "name": "Incorrect Event Type", + "originalRequest": { + "method": "POST", + "header": [ + { + "key": "Accept", + "value": "application/json;charset=utf-8" + }, + { + "key": "Content-Type", + "value": "application/json;charset=utf-8" + }, + { + "key": "x-ms-client-request-id", + "value": "20412345678903142363734", + "type": "text", + "disabled": true + }, + { + "key": "Accept-Language", + "value": "en", + "type": "text" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"name\":\"myFirstTriger\",\n \"header\":{\n \"eventType\":\"{{eventType}}\",\n \"relatedParty\":[\n {\n \"@referredType\":\"Customers\",\n \"id\":{{Customer_id}},\n \"IDType\":0\n }\n ]\n },\n \"event\":{\n \"AckAlarms\":{\n \"@type\":\"AckAlarms\",\n \"ackUserId\":\"username\",\n \"ackUserFrom\":\"hostname\",\n \"alarmPattern\":[\n {\n \"@type\":\"Alarm\",\n \"name\":\"{{pattern}}\",\n \"analyticCharacteristic\":[\n {\n \"name\":\"PackageCode\",\n \"value\":\"{{tp_code}}\",\n \"valueType\":\"string\",\n \"@type\":\"Characteristic\"\n },\n {\n \"@type\":\"Characteristic\",\n \"valueType\":\"string\",\n \"name\":\"SimCardGroupCode\",\n \"value\":\"{{sim_group}}\"\n },\n {\n \"@type\":\"Characteristic\",\n \"valueType\":\"string\",\n \"name\":\"RatingGroupCode\",\n \"value\":\"{{rating_group}}\"\n }\n ]\n }\n ],\n \"ackedAlarm\":[\n {\n \"@type\":\"Alarm\",\n \"name\":\"Percent\",\n \"crossedThresholdInformation\":{\n \"observedValue\":\"{{threshold_value}}\",\n \"threshold\":{\n \"@type\":\"ThresholdRef\",\n \"id\":\"{{threshold_type}}\"\n },\n \"@type\":\"CrossedThresholdInformation\"\n }\n }\n ]\n }\n }\n}" + }, + "url": { + "raw": "{{API}}/api/v2/tmf/event/topic", + "host": [ + "{{API}}" + ], + "path": [ + "api", + "v2", + "tmf", + "event", + "topic" + ] + } + }, + "status": "Internal Server Error", + "code": 500, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Length", + "value": "210" + }, + { + "key": "Content-Type", + "value": "application/json; charset=utf-8" + }, + { + "key": "Access-Control-Allow-Methods", + "value": "GET, PUT, POST, DELETE, OPTIONS, HEAD" + }, + { + "key": "Access-Control-Allow-Headers", + "value": "Authorization,Pragma,Cache-control,Content-type" + }, + { + "key": "Access-Control-Allow-Credentials", + "value": "true" + }, + { + "key": "Date", + "value": "Mon, 22 Apr 2024 15:29:31 GMT" + } + ], + "cookie": [], + "body": "{\n \"code\": \"50000\",\n \"reason\": \"Internal Server Error\",\n \"message\": \"Ошибка выполнения: Некорректное значение входящего параметра: @header.eventType\",\n \"status\": \"500\"\n}" + }, + { + "name": "Percent Overlimit Trigger", + "originalRequest": { + "method": "POST", + "header": [ + { + "key": "Accept", + "value": "application/json;charset=utf-8" + }, + { + "key": "Content-Type", + "value": "application/json;charset=utf-8" + }, + { + "key": "x-ms-client-request-id", + "value": "20412345678903142363734", + "disabled": true + }, + { + "key": "Accept-Language", + "value": "en" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"name\":\"m2m-rating\",\n \"header\":{\n \"eventType\":\"RatingUnion.PercentOverlimit.Event\",\n \"relatedParty\":[\n {\n \"@referredType\":\"Customers\",\n \"id\":5234283,\n \"IDType\":0\n }\n ]\n },\n \"event\":{\n \"AckAlarms\":{\n \"@type\":\"AckAlarms\",\n \"ackUserId\":\"username\",\n \"ackUserFrom\":\"hostname\",\n \"alarmPattern\":[\n {\n \"@type\":\"Alarm\",\n \"name\":\"Counter\",\n \"analyticCharacteristic\":[\n {\n \"name\":\"PackageOverrideCode\",\n \"value\":\"1821105\",\n \"valueType\":\"string\",\n \"@type\":\"Characteristic\"\n },\n {\n \"@type\":\"Characteristic\",\n \"valueType\":\"string\",\n \"name\":\"SimCardGroupCode\",\n \"value\":\"default\"\n },\n {\n \"@type\":\"Characteristic\",\n \"valueType\":\"string\",\n \"name\":\"RatingUnionCode\",\n \"value\":\"data\"\n }\n ]\n }\n ],\n \"ackedAlarm\":[\n {\n \"@type\":\"Alarm\",\n \"name\":\"Percent\",\n \"crossedThresholdInformation\":{\n \"observedValue\":\"80\",\n \"threshold\":{\n \"@type\":\"ThresholdRef\",\n \"id\":\"Percent\"\n },\n \"@type\":\"CrossedThresholdInformation\"\n }\n }\n ]\n }\n }\n}" + }, + "url": { + "raw": "{{API}}/api/v2/tmf/event/topic", + "host": [ + "{{API}}" + ], + "path": [ + "api", + "v2", + "tmf", + "event", + "topic" + ] + } + }, + "status": "Created", + "code": 201, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Date", + "value": "Fri, 11 Oct 2024 12:12:31 GMT" + }, + { + "key": "Content-Type", + "value": "application/json; charset=utf-8" + }, + { + "key": "Content-Length", + "value": "166" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "Accept-Language", + "value": "en" + }, + { + "key": "Access-Control-Allow-Credentials", + "value": "true" + }, + { + "key": "Access-Control-Allow-Headers", + "value": "Authorization,Pragma,Cache-control,Content-type,X-Requested-With" + }, + { + "key": "Access-Control-Allow-Methods", + "value": "GET,POST,PUT,DELETE,HEAD,OPTIONS" + }, + { + "key": "Strict-Transport-Security", + "value": "max-age=31536000" + }, + { + "key": "Content-Security-Policy", + "value": "img-src https: data:; upgrade-insecure-requests" + } + ], + "cookie": [], + "body": "{\n \"id\": \"24\",\n \"header\": {\n \"relatedParty\": [\n {\n \"id\": \"5234283\",\n \"@referredType\": \"Customers\",\n \"idType\": \"0\"\n }\n ],\n \"eventType\": \"RatingUnion.PercentOverlimit.Event\"\n },\n \"name\": \"m2m-rating\"\n}" + }, + { + "name": "Absolute Overlimit Trigger", + "originalRequest": { + "method": "POST", + "header": [ + { + "key": "Accept", + "value": "application/json;charset=utf-8" + }, + { + "key": "Content-Type", + "value": "application/json;charset=utf-8" + }, + { + "key": "x-ms-client-request-id", + "value": "20412345678903142363734", + "disabled": true + }, + { + "key": "Accept-Language", + "value": "en" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"name\":\"m2m-rating\",\n \"header\":{\n \"eventType\":\"RatingGroup.AbsoluteOverlimit.Event\",\n \"relatedParty\":[\n {\n \"@referredType\":\"Customers\",\n \"id\":5234283,\n \"IDType\":0\n }\n ]\n },\n \"event\":{\n \"AckAlarms\":{\n \"@type\":\"AckAlarms\",\n \"ackUserId\":\"username\",\n \"ackUserFrom\":\"hostname\",\n \"alarmPattern\":[\n {\n \"@type\":\"Alarm\",\n \"name\":\"Counter\",\n \"analyticCharacteristic\":[\n {\n \"name\":\"PackageOverrideCode\",\n \"value\":\"1821105\",\n \"valueType\":\"string\",\n \"@type\":\"Characteristic\"\n },\n {\n \"@type\":\"Characteristic\",\n \"valueType\":\"string\",\n \"name\":\"SimCardGroupCode\",\n \"value\":\"default\"\n },\n {\n \"@type\":\"Characteristic\",\n \"valueType\":\"string\",\n \"name\":\"RatingUnionCode\",\n \"value\":\"data\"\n },\n {\n \"@type\":\"Characteristic\",\n \"valueType\":\"string\",\n \"name\":\"RatingGroupCode\",\n \"value\":\"DTE-ROAM-1\"\n }\n ]\n }\n ],\n \"ackedAlarm\":[\n {\n \"@type\":\"Alarm\",\n \"name\":\"Absolute\",\n \"crossedThresholdInformation\":{\n \"observedValue\":\"10485760\",\n \"threshold\":{\n \"@type\":\"ThresholdRef\",\n \"id\":\"Absolute\"\n },\n \"@type\":\"CrossedThresholdInformation\"\n }\n }\n ]\n }\n }\n}" + }, + "url": { + "raw": "{{API}}/api/v2/tmf/event/topic", + "host": [ + "{{API}}" + ], + "path": [ + "api", + "v2", + "tmf", + "event", + "topic" + ] + } + }, + "status": "Created", + "code": 201, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Date", + "value": "Thu, 17 Oct 2024 13:20:06 GMT" + }, + { + "key": "Content-Type", + "value": "application/json; charset=utf-8" + }, + { + "key": "Content-Length", + "value": "167" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "Accept-Language", + "value": "en" + }, + { + "key": "Access-Control-Allow-Credentials", + "value": "true" + }, + { + "key": "Access-Control-Allow-Headers", + "value": "Authorization,Pragma,Cache-control,Content-type,X-Requested-With" + }, + { + "key": "Access-Control-Allow-Methods", + "value": "GET,POST,PUT,DELETE,HEAD,OPTIONS" + }, + { + "key": "Strict-Transport-Security", + "value": "max-age=31536000" + }, + { + "key": "Content-Security-Policy", + "value": "img-src https: data:; upgrade-insecure-requests" + } + ], + "cookie": [], + "body": "{\n \"id\": \"54\",\n \"header\": {\n \"relatedParty\": [\n {\n \"id\": \"5234283\",\n \"@referredType\": \"Customers\",\n \"idType\": \"0\"\n }\n ],\n \"eventType\": \"RatingGroup.AbsoluteOverlimit.Event\"\n },\n \"name\": \"m2m-rating\"\n}" + } + ] + }, + { + "name": "TopicByAssociation_RatingUnion.PercentOverlimit.Event_UsedCounter", + "request": { + "method": "POST", + "header": [ + { + "key": "Accept", + "value": "application/json;charset=utf-8" + }, + { + "key": "Content-Type", + "value": "application/json;charset=utf-8" + }, + { + "key": "Accept-Language", + "value": "en" + }, + { + "key": "Authorization", + "value": "Basic YXBpX3VzZXI6V2lkZWNvdXAx" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"name\":\"m2m-rating\",\r\n \"header\":{\r\n \"eventType\":\"RatingUnion.PercentOverlimit.Event\",\r\n \"relatedParty\":[\r\n {\r\n \"@referredType\":\"Associations\",\r\n \"id\":5234283,\r\n \"IDType\":0\r\n }\r\n ]\r\n },\r\n \"event\":{\r\n \"AckAlarms\":{\r\n \"@type\":\"AckAlarms\",\r\n \"alarmPattern\":[\r\n {\r\n \"@type\":\"Alarm\",\r\n \"name\":\"Counter\",\r\n \"analyticCharacteristic\":[\r\n {\r\n \"name\":\"PackageOverrideCode\",\r\n \"valueType\":\"string\",\r\n \"value\":\"1790906\",\r\n \"@type\":\"Characteristic\"\r\n },\r\n {\r\n \"name\":\"SimCardGroupCode\",\r\n \"valueType\":\"string\",\r\n \"value\":\"default\",\r\n \"@type\":\"Characteristic\"\r\n },\r\n {\r\n \"name\":\"RatingUnionCode\",\r\n \"valueType\":\"string\",\r\n \"value\":\"data\",\r\n \"@type\":\"Characteristic\"\r\n }\r\n ]\r\n }\r\n ],\r\n \"ackedAlarm\":[\r\n {\r\n \"@type\":\"Alarm\",\r\n \"name\":\"Percent\",\r\n \"crossedThresholdInformation\":{\r\n \"@type\":\"CrossedThresholdInformation\",\r\n \"observedValue\":\"80\",\r\n \"threshold\":{\r\n \"@type\":\"ThresholdRef\",\r\n \"id\":\"Percent\"\r\n }\r\n }\r\n }\r\n ],\r\n \"ackUserFrom\":\"hostname\",\r\n \"ackUserId\":\"username\"\r\n }\r\n }\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://localhost:443/api/v2/tmf/event/topic", + "protocol": "https", + "host": [ + "localhost" + ], + "port": "443", + "path": [ + "api", + "v2", + "tmf", + "event", + "topic" + ] + }, + "description": "Generated from cURL: curl --location 'https://localhost:443/api/v2/tmf/event/topic' \\\r\n--header 'Accept: application/json;charset=utf-8' \\\r\n--header 'Content-Type: application/json;charset=utf-8' \\\r\n--header 'Accept-Language: en' \\\r\n--header 'Authorization: Basic YXBpX3VzZXI6V2lkZWNvdXAx' \\\r\n--data-raw '{\r\n \"name\":\"m2m-rating\",\r\n \"header\":{\r\n \"eventType\":\"RatingUnion.PercentOverlimit.Event\",\r\n \"relatedParty\":[\r\n {\r\n \"@referredType\":\"Associations\",\r\n \"id\":5234283,\r\n \"IDType\":0\r\n }\r\n ]\r\n },\r\n \"event\":{\r\n \"AckAlarms\":{\r\n \"@type\":\"AckAlarms\",\r\n \"alarmPattern\":[\r\n {\r\n \"@type\":\"Alarm\",\r\n \"name\":\"Counter\",\r\n \"analyticCharacteristic\":[\r\n {\r\n \"name\":\"PackageOverrideCode\",\r\n \"valueType\":\"string\",\r\n \"value\":\"1790906\",\r\n \"@type\":\"Characteristic\"\r\n },\r\n {\r\n \"name\":\"SimCardGroupCode\",\r\n \"valueType\":\"string\",\r\n \"value\":\"default\",\r\n \"@type\":\"Characteristic\"\r\n },\r\n {\r\n \"name\":\"RatingUnionCode\",\r\n \"valueType\":\"string\",\r\n \"value\":\"data\",\r\n \"@type\":\"Characteristic\"\r\n }\r\n ]\r\n }\r\n ],\r\n \"ackedAlarm\":[\r\n {\r\n \"@type\":\"Alarm\",\r\n \"name\":\"Percent\",\r\n \"crossedThresholdInformation\":{\r\n \"@type\":\"CrossedThresholdInformation\",\r\n \"observedValue\":\"80\",\r\n \"threshold\":{\r\n \"@type\":\"ThresholdRef\",\r\n \"id\":\"Percent\"\r\n }\r\n }\r\n }\r\n ],\r\n \"ackUserFrom\":\"hostname\",\r\n \"ackUserId\":\"username\"\r\n }\r\n }\r\n}'" }, - { - "key": "periodCoverage", - "value": "{\"startDateTime\":\"2021-04-30T23:59:59.997\",\"endDateTime\":\"2025-06-01T00:00:00.000\"}" - } - ] - } - }, - "status": "Partial Content", - "code": 206, - "_postman_previewlanguage": "plain", - "header": [ - { - "key": "Transfer-Encoding", - "value": "chunked" - }, - { - "key": "Content-Type", - "value": "text/plain; charset=utf-8" - }, - { - "key": "Content-Encoding", - "value": "gzip" - }, - { - "key": "Content-Range", - "value": "items 1-5/32" - }, - { - "key": "Vary", - "value": "Accept-Encoding" - }, - { - "key": "Accept-Language", - "value": "en" - }, - { - "key": "x-ms-client-request-id", - "value": "776caca9-49ed-4777-b8aa-d114f958" - }, - { - "key": "X-Total-Count", - "value": "32" - }, - { - "key": "X-Page-Count", - "value": "7" - }, - { - "key": "cacheStatus", - "value": "Added" - }, - { - "key": "Access-Control-Allow-Methods", - "value": "GET, PUT, POST, DELETE, OPTIONS, HEAD" - }, - { - "key": "Access-Control-Allow-Headers", - "value": "Authorization,Pragma,Cache-control,Content-type" - }, - { - "key": "Access-Control-Allow-Credentials", - "value": "true" - }, - { - "key": "Date", - "value": "Wed, 26 Jun 2024 12:52:14 GMT" + "response": [ + { + "name": "Incorrect Input Value response", + "originalRequest": { + "method": "POST", + "header": [ + { + "key": "Accept", + "value": "application/json;charset=utf-8" + }, + { + "key": "Content-Type", + "value": "application/json;charset=utf-8" + }, + { + "key": "Accept-Language", + "value": "en" + }, + { + "key": "Authorization", + "value": "Basic YXBpX3VzZXI6V2lkZWNvdXAx" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"name\":\"m2m-rating\",\r\n \"header\":{\r\n \"eventType\":\"RatingUnion.PercentOverlimit.Event\",\r\n \"relatedParty\":[\r\n {\r\n \"@referredType\":\"Associations\",\r\n \"id\":999999999999,\r\n \"IDType\":1\r\n }\r\n ]\r\n },\r\n \"event\":{\r\n \"AckAlarms\":{\r\n \"@type\":\"AckAlarms\",\r\n \"alarmPattern\":[\r\n {\r\n \"@type\":\"Alarm\",\r\n \"name\":\"Counter\",\r\n \"analyticCharacteristic\":[\r\n {\r\n \"name\":\"PackageOverrideCode\",\r\n \"valueType\":\"string\",\r\n \"value\":\"111\",\r\n \"@type\":\"Characteristic\"\r\n },\r\n {\r\n \"name\":\"SimCardGroupCode\",\r\n \"valueType\":\"string\",\r\n \"value\":\"111\",\r\n \"@type\":\"Characteristic\"\r\n },\r\n {\r\n \"name\":\"RatingUnionCode\",\r\n \"valueType\":\"string\",\r\n \"value\":\"111\",\r\n \"@type\":\"Characteristic\"\r\n }\r\n ]\r\n }\r\n ],\r\n \"ackedAlarm\":[\r\n {\r\n \"@type\":\"Alarm\",\r\n \"name\":\"Percent\",\r\n \"crossedThresholdInformation\":{\r\n \"@type\":\"CrossedThresholdInformation\",\r\n \"observedValue\":\"80\",\r\n \"threshold\":{\r\n \"@type\":\"ThresholdRef\",\r\n \"id\":\"111\"\r\n }\r\n }\r\n }\r\n ],\r\n \"ackUserFrom\":\"hostname\",\r\n \"ackUserId\":\"username\"\r\n }\r\n }\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{API}}/api/v2/tmf/event/topic", + "host": [ + "{{API}}" + ], + "path": [ + "api", + "v2", + "tmf", + "event", + "topic" + ] + } + }, + "status": "Internal Server Error", + "code": 500, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Date", + "value": "Thu, 10 Oct 2024 10:04:05 GMT" + }, + { + "key": "Content-Type", + "value": "application/json; charset=utf-8" + }, + { + "key": "Content-Length", + "value": "228" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "Access-Control-Allow-Credentials", + "value": "true" + }, + { + "key": "Access-Control-Allow-Headers", + "value": "Authorization,Pragma,Cache-control,Content-type,X-Requested-With" + }, + { + "key": "Access-Control-Allow-Methods", + "value": "GET,POST,PUT,DELETE,HEAD,OPTIONS" + } + ], + "cookie": [], + "body": "{\n \"code\": \"51685\",\n \"reason\": \"50205\",\n \"message\": \"Execution error: (Помилка виконання: (Некоректне значення вхідного параметра: SimCardGroupCode))\",\n \"status\": \"500\",\n \"referenceError\": \"\"\n}" + }, + { + "name": "DataPercentOverlimit for Association", + "originalRequest": { + "method": "POST", + "header": [ + { + "key": "Accept", + "value": "application/json;charset=utf-8" + }, + { + "key": "Content-Type", + "value": "application/json;charset=utf-8" + }, + { + "key": "Accept-Language", + "value": "en" + }, + { + "key": "Authorization", + "value": "Basic YXBpX3VzZXI6V2lkZWNvdXAx" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"name\":\"m2m-rating\",\r\n \"header\":{\r\n \"eventType\":\"RatingUnion.PercentOverlimit.Event\",\r\n \"relatedParty\":[\r\n {\r\n \"@referredType\":\"Associations\",\r\n \"id\":300000407,\r\n \"IDType\":1\r\n }\r\n ]\r\n },\r\n \"event\":{\r\n \"AckAlarms\":{\r\n \"@type\":\"AckAlarms\",\r\n \"alarmPattern\":[\r\n {\r\n \"@type\":\"Alarm\",\r\n \"name\":\"Counter\",\r\n \"analyticCharacteristic\":[\r\n {\r\n \"name\":\"PackageOverrideCode\",\r\n \"valueType\":\"string\",\r\n \"value\":\"111\",\r\n \"@type\":\"Characteristic\"\r\n },\r\n {\r\n \"name\":\"SimCardGroupCode\",\r\n \"valueType\":\"string\",\r\n \"value\":\"default\",\r\n \"@type\":\"Characteristic\"\r\n }\r\n ]\r\n }\r\n ],\r\n \"ackedAlarm\":[\r\n {\r\n \"@type\":\"Alarm\",\r\n \"name\":\"Percent\",\r\n \"crossedThresholdInformation\":{\r\n \"@type\":\"CrossedThresholdInformation\",\r\n \"observedValue\":\"80\",\r\n \"threshold\":{\r\n \"@type\":\"ThresholdRef\",\r\n \"id\":\"Percent\"\r\n }\r\n }\r\n }\r\n ],\r\n \"ackUserFrom\":\"hostname\",\r\n \"ackUserId\":\"username\"\r\n }\r\n }\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{API}}/api/v2/tmf/event/topic", + "host": [ + "{{API}}" + ], + "path": [ + "api", + "v2", + "tmf", + "event", + "topic" + ] + } + }, + "status": "Created", + "code": 201, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Date", + "value": "Fri, 11 Oct 2024 12:18:11 GMT" + }, + { + "key": "Content-Type", + "value": "application/json; charset=utf-8" + }, + { + "key": "Content-Length", + "value": "171" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "Accept-Language", + "value": "en" + }, + { + "key": "Access-Control-Allow-Credentials", + "value": "true" + }, + { + "key": "Access-Control-Allow-Headers", + "value": "Authorization,Pragma,Cache-control,Content-type,X-Requested-With" + }, + { + "key": "Access-Control-Allow-Methods", + "value": "GET,POST,PUT,DELETE,HEAD,OPTIONS" + }, + { + "key": "Strict-Transport-Security", + "value": "max-age=31536000" + }, + { + "key": "Content-Security-Policy", + "value": "img-src https: data:; upgrade-insecure-requests" + } + ], + "cookie": [], + "body": "{\n \"id\": \"51\",\n \"header\": {\n \"relatedParty\": [\n {\n \"id\": \"300000407\",\n \"@referredType\": \"Associations\",\n \"idType\": \"1\"\n }\n ],\n \"eventType\": \"RatingUnion.PercentOverlimit.Event\"\n },\n \"name\": \"m2m-rating\"\n}" + } + ] + }, + { + "name": "TopicByAssociation_LabelOnly", + "request": { + "method": "POST", + "header": [ + { + "key": "Accept", + "value": "application/json;charset=utf-8" + }, + { + "key": "Content-Type", + "value": "application/json;charset=utf-8" + }, + { + "key": "Accept-Language", + "value": "en" + }, + { + "key": "Authorization", + "value": "Basic YXBpX3VzZXI6V2lkZWNvdXAx" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"name\":\"m2m-rating\",\r\n \"header\":{\r\n \"eventType\":\"RatingUnion.AbsoluteOverlimit.Event\",\r\n \"relatedParty\":[\r\n {\r\n \"@referredType\":\"Customers\",\r\n \"id\":5234283,\r\n \"IDType\":0\r\n }\r\n ]\r\n },\r\n \"event\":{\r\n \"AckAlarms\":{\r\n \"@type\":\"AckAlarms\",\r\n \"alarmPattern\":[\r\n {\r\n \"@type\":\"Alarm\",\r\n \"name\":\"Counter\",\r\n \"analyticCharacteristic\":[\r\n {\r\n \"name\":\"Label\",\r\n \"valueType\":\"string\",\r\n \"value\":\"SINGLE\",\r\n \"@type\":\"Characteristic\"\r\n },\r\n {\r\n \"name\":\"SimCardGroupCode\",\r\n \"valueType\":\"string\",\r\n \"value\":\"default\",\r\n \"@type\":\"Characteristic\"\r\n },\r\n {\r\n \"name\":\"RatingUnionCode\",\r\n \"valueType\":\"string\",\r\n \"value\":\"data\",\r\n \"@type\":\"Characteristic\"\r\n }\r\n ]\r\n }\r\n ],\r\n \"ackedAlarm\":[\r\n {\r\n \"@type\":\"Alarm\",\r\n \"name\":\"Absolute\",\r\n \"crossedThresholdInformation\":{\r\n \"@type\":\"CrossedThresholdInformation\",\r\n \"observedValue\":\"157286400\",\r\n \"threshold\":{\r\n \"@type\":\"ThresholdRef\",\r\n \"id\":\"Absolute\"\r\n }\r\n }\r\n }\r\n ],\r\n \"ackUserFrom\":\"hostname\",\r\n \"ackUserId\":\"username\"\r\n }\r\n }\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://localhost:443/api/v2/tmf/event/topic", + "protocol": "https", + "host": [ + "localhost" + ], + "port": "443", + "path": [ + "api", + "v2", + "tmf", + "event", + "topic" + ] + }, + "description": "Generated from cURL: curl --location 'https://localhost:443/api/v2/tmf/event/topic' \\\r\n--header 'Accept: application/json;charset=utf-8' \\\r\n--header 'Content-Type: application/json;charset=utf-8' \\\r\n--header 'Accept-Language: en' \\\r\n--header 'Authorization: Basic YXBpX3VzZXI6V2lkZWNvdXAx' \\\r\n--data-raw '{\r\n \"name\":\"m2m-rating\",\r\n \"header\":{\r\n \"eventType\":\"RatingUnion.PercentOverlimit.Event\",\r\n \"relatedParty\":[\r\n {\r\n \"@referredType\":\"Associations\",\r\n \"id\":5234283,\r\n \"IDType\":0\r\n }\r\n ]\r\n },\r\n \"event\":{\r\n \"AckAlarms\":{\r\n \"@type\":\"AckAlarms\",\r\n \"alarmPattern\":[\r\n {\r\n \"@type\":\"Alarm\",\r\n \"name\":\"Counter\",\r\n \"analyticCharacteristic\":[\r\n {\r\n \"name\":\"PackageOverrideCode\",\r\n \"valueType\":\"string\",\r\n \"value\":\"1790906\",\r\n \"@type\":\"Characteristic\"\r\n },\r\n {\r\n \"name\":\"SimCardGroupCode\",\r\n \"valueType\":\"string\",\r\n \"value\":\"default\",\r\n \"@type\":\"Characteristic\"\r\n },\r\n {\r\n \"name\":\"RatingUnionCode\",\r\n \"valueType\":\"string\",\r\n \"value\":\"data\",\r\n \"@type\":\"Characteristic\"\r\n }\r\n ]\r\n }\r\n ],\r\n \"ackedAlarm\":[\r\n {\r\n \"@type\":\"Alarm\",\r\n \"name\":\"Percent\",\r\n \"crossedThresholdInformation\":{\r\n \"@type\":\"CrossedThresholdInformation\",\r\n \"observedValue\":\"80\",\r\n \"threshold\":{\r\n \"@type\":\"ThresholdRef\",\r\n \"id\":\"Percent\"\r\n }\r\n }\r\n }\r\n ],\r\n \"ackUserFrom\":\"hostname\",\r\n \"ackUserId\":\"username\"\r\n }\r\n }\r\n}'" + }, + "response": [ + { + "name": "Incorrect Input Value response", + "originalRequest": { + "method": "POST", + "header": [ + { + "key": "Accept", + "value": "application/json;charset=utf-8" + }, + { + "key": "Content-Type", + "value": "application/json;charset=utf-8" + }, + { + "key": "Accept-Language", + "value": "en" + }, + { + "key": "Authorization", + "value": "Basic YXBpX3VzZXI6V2lkZWNvdXAx" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"name\":\"m2m-rating\",\r\n \"header\":{\r\n \"eventType\":\"RatingUnion.PercentOverlimit.Event\",\r\n \"relatedParty\":[\r\n {\r\n \"@referredType\":\"Associations\",\r\n \"id\":999999999999,\r\n \"IDType\":1\r\n }\r\n ]\r\n },\r\n \"event\":{\r\n \"AckAlarms\":{\r\n \"@type\":\"AckAlarms\",\r\n \"alarmPattern\":[\r\n {\r\n \"@type\":\"Alarm\",\r\n \"name\":\"Counter\",\r\n \"analyticCharacteristic\":[\r\n {\r\n \"name\":\"PackageOverrideCode\",\r\n \"valueType\":\"string\",\r\n \"value\":\"111\",\r\n \"@type\":\"Characteristic\"\r\n },\r\n {\r\n \"name\":\"SimCardGroupCode\",\r\n \"valueType\":\"string\",\r\n \"value\":\"111\",\r\n \"@type\":\"Characteristic\"\r\n },\r\n {\r\n \"name\":\"RatingUnionCode\",\r\n \"valueType\":\"string\",\r\n \"value\":\"111\",\r\n \"@type\":\"Characteristic\"\r\n }\r\n ]\r\n }\r\n ],\r\n \"ackedAlarm\":[\r\n {\r\n \"@type\":\"Alarm\",\r\n \"name\":\"Percent\",\r\n \"crossedThresholdInformation\":{\r\n \"@type\":\"CrossedThresholdInformation\",\r\n \"observedValue\":\"80\",\r\n \"threshold\":{\r\n \"@type\":\"ThresholdRef\",\r\n \"id\":\"111\"\r\n }\r\n }\r\n }\r\n ],\r\n \"ackUserFrom\":\"hostname\",\r\n \"ackUserId\":\"username\"\r\n }\r\n }\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{API}}/api/v2/tmf/event/topic", + "host": [ + "{{API}}" + ], + "path": [ + "api", + "v2", + "tmf", + "event", + "topic" + ] + } + }, + "status": "Internal Server Error", + "code": 500, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Date", + "value": "Thu, 10 Oct 2024 10:04:05 GMT" + }, + { + "key": "Content-Type", + "value": "application/json; charset=utf-8" + }, + { + "key": "Content-Length", + "value": "228" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "Access-Control-Allow-Credentials", + "value": "true" + }, + { + "key": "Access-Control-Allow-Headers", + "value": "Authorization,Pragma,Cache-control,Content-type,X-Requested-With" + }, + { + "key": "Access-Control-Allow-Methods", + "value": "GET,POST,PUT,DELETE,HEAD,OPTIONS" + } + ], + "cookie": [], + "body": "{\n \"code\": \"51685\",\n \"reason\": \"50205\",\n \"message\": \"Execution error: (Помилка виконання: (Некоректне значення вхідного параметра: SimCardGroupCode))\",\n \"status\": \"500\",\n \"referenceError\": \"\"\n}" + }, + { + "name": "DataPercentOverlimit for Association", + "originalRequest": { + "method": "POST", + "header": [ + { + "key": "Accept", + "value": "application/json;charset=utf-8" + }, + { + "key": "Content-Type", + "value": "application/json;charset=utf-8" + }, + { + "key": "Accept-Language", + "value": "en" + }, + { + "key": "Authorization", + "value": "Basic YXBpX3VzZXI6V2lkZWNvdXAx" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"name\":\"m2m-rating\",\r\n \"header\":{\r\n \"eventType\":\"RatingUnion.PercentOverlimit.Event\",\r\n \"relatedParty\":[\r\n {\r\n \"@referredType\":\"Associations\",\r\n \"id\":300000407,\r\n \"IDType\":1\r\n }\r\n ]\r\n },\r\n \"event\":{\r\n \"AckAlarms\":{\r\n \"@type\":\"AckAlarms\",\r\n \"alarmPattern\":[\r\n {\r\n \"@type\":\"Alarm\",\r\n \"name\":\"Counter\",\r\n \"analyticCharacteristic\":[\r\n {\r\n \"name\":\"PackageOverrideCode\",\r\n \"valueType\":\"string\",\r\n \"value\":\"111\",\r\n \"@type\":\"Characteristic\"\r\n },\r\n {\r\n \"name\":\"SimCardGroupCode\",\r\n \"valueType\":\"string\",\r\n \"value\":\"default\",\r\n \"@type\":\"Characteristic\"\r\n }\r\n ]\r\n }\r\n ],\r\n \"ackedAlarm\":[\r\n {\r\n \"@type\":\"Alarm\",\r\n \"name\":\"Percent\",\r\n \"crossedThresholdInformation\":{\r\n \"@type\":\"CrossedThresholdInformation\",\r\n \"observedValue\":\"80\",\r\n \"threshold\":{\r\n \"@type\":\"ThresholdRef\",\r\n \"id\":\"Percent\"\r\n }\r\n }\r\n }\r\n ],\r\n \"ackUserFrom\":\"hostname\",\r\n \"ackUserId\":\"username\"\r\n }\r\n }\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{API}}/api/v2/tmf/event/topic", + "host": [ + "{{API}}" + ], + "path": [ + "api", + "v2", + "tmf", + "event", + "topic" + ] + } + }, + "status": "Created", + "code": 201, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Date", + "value": "Fri, 11 Oct 2024 12:18:11 GMT" + }, + { + "key": "Content-Type", + "value": "application/json; charset=utf-8" + }, + { + "key": "Content-Length", + "value": "171" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "Accept-Language", + "value": "en" + }, + { + "key": "Access-Control-Allow-Credentials", + "value": "true" + }, + { + "key": "Access-Control-Allow-Headers", + "value": "Authorization,Pragma,Cache-control,Content-type,X-Requested-With" + }, + { + "key": "Access-Control-Allow-Methods", + "value": "GET,POST,PUT,DELETE,HEAD,OPTIONS" + }, + { + "key": "Strict-Transport-Security", + "value": "max-age=31536000" + }, + { + "key": "Content-Security-Policy", + "value": "img-src https: data:; upgrade-insecure-requests" + } + ], + "cookie": [], + "body": "{\n \"id\": \"51\",\n \"header\": {\n \"relatedParty\": [\n {\n \"id\": \"300000407\",\n \"@referredType\": \"Associations\",\n \"idType\": \"1\"\n }\n ],\n \"eventType\": \"RatingUnion.PercentOverlimit.Event\"\n },\n \"name\": \"m2m-rating\"\n}" + } + ] + }, + { + "name": "TopicByAccount_RatingUnion.AbsoluteOverlimit.Event_UsedCounter", + "request": { + "method": "POST", + "header": [ + { + "key": "Accept", + "value": "application/json;charset=utf-8" + }, + { + "key": "Content-Type", + "value": "application/json;charset=utf-8" + }, + { + "key": "Accept-Language", + "value": "en" + }, + { + "key": "Authorization", + "value": "Basic YXBpX3VzZXI6V2lkZWNvdXAx" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"name\":\"m2m-rating\",\r\n \"header\":{\r\n \"eventType\":\"RatingUnion.AbsoluteOverlimit.Event\",\r\n \"relatedParty\":[\r\n {\r\n \"@referredType\":\"Customers\",\r\n \"id\":5234283,\r\n \"IDType\":0\r\n }\r\n ]\r\n },\r\n \"event\":{\r\n \"AckAlarms\":{\r\n \"@type\":\"AckAlarms\",\r\n \"alarmPattern\":[\r\n {\r\n \"@type\":\"Alarm\",\r\n \"name\":\"Counter\",\r\n \"analyticCharacteristic\":[\r\n {\r\n \"name\":\"PackageOverrideCode\",\r\n \"valueType\":\"string\",\r\n \"value\":\"1790906\",\r\n \"@type\":\"Characteristic\"\r\n },\r\n {\r\n \"name\":\"SimCardGroupCode\",\r\n \"valueType\":\"string\",\r\n \"value\":\"default\",\r\n \"@type\":\"Characteristic\"\r\n },\r\n {\r\n \"name\":\"RatingUnionCode\",\r\n \"valueType\":\"string\",\r\n \"value\":\"data\",\r\n \"@type\":\"Characteristic\"\r\n }\r\n ]\r\n }\r\n ],\r\n \"ackedAlarm\":[\r\n {\r\n \"@type\":\"Alarm\",\r\n \"name\":\"Absolute\",\r\n \"crossedThresholdInformation\":{\r\n \"@type\":\"CrossedThresholdInformation\",\r\n \"observedValue\":\"157286400\",\r\n \"threshold\":{\r\n \"@type\":\"ThresholdRef\",\r\n \"id\":\"Absolute\"\r\n }\r\n }\r\n }\r\n ],\r\n \"ackUserFrom\":\"hostname\",\r\n \"ackUserId\":\"username\"\r\n }\r\n }\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{API}}/api/v2/tmf/event/topic", + "host": [ + "{{API}}" + ], + "path": [ + "api", + "v2", + "tmf", + "event", + "topic" + ] + }, + "description": "Generated from cURL: curl --location 'https://localhost:443/api/v2/tmf/event/topic' \\\r\n--header 'Accept: application/json;charset=utf-8' \\\r\n--header 'Content-Type: application/json;charset=utf-8' \\\r\n--header 'Accept-Language: en' \\\r\n--header 'Authorization: Basic YXBpX3VzZXI6V2lkZWNvdXAx' \\\r\n--data-raw '{\r\n \"name\":\"m2m-rating\",\r\n \"header\":{\r\n \"eventType\":\"RatingUnion.AbsoluteOverlimit.Event\",\r\n \"relatedParty\":[\r\n {\r\n \"@referredType\":\"Customers\",\r\n \"id\":5234283,\r\n \"IDType\":0\r\n }\r\n ]\r\n },\r\n \"event\":{\r\n \"AckAlarms\":{\r\n \"@type\":\"AckAlarms\",\r\n \"alarmPattern\":[\r\n {\r\n \"@type\":\"Alarm\",\r\n \"name\":\"Counter\",\r\n \"analyticCharacteristic\":[\r\n {\r\n \"name\":\"PackageOverrideCode\",\r\n \"valueType\":\"string\",\r\n \"value\":\"1790906\",\r\n \"@type\":\"Characteristic\"\r\n },\r\n {\r\n \"name\":\"SimCardGroupCode\",\r\n \"valueType\":\"string\",\r\n \"value\":\"default\",\r\n \"@type\":\"Characteristic\"\r\n },\r\n {\r\n \"name\":\"RatingUnionCode\",\r\n \"valueType\":\"string\",\r\n \"value\":\"data\",\r\n \"@type\":\"Characteristic\"\r\n }\r\n ]\r\n }\r\n ],\r\n \"ackedAlarm\":[\r\n {\r\n \"@type\":\"Alarm\",\r\n \"name\":\"Absolute\",\r\n \"crossedThresholdInformation\":{\r\n \"@type\":\"CrossedThresholdInformation\",\r\n \"observedValue\":\"157286400\",\r\n \"threshold\":{\r\n \"@type\":\"ThresholdRef\",\r\n \"id\":\"Absolute\"\r\n }\r\n }\r\n }\r\n ],\r\n \"ackUserFrom\":\"hostname\",\r\n \"ackUserId\":\"username\"\r\n }\r\n }\r\n}'" + }, + "response": [ + { + "name": "Success", + "originalRequest": { + "method": "POST", + "header": [ + { + "key": "Accept", + "value": "application/json;charset=utf-8" + }, + { + "key": "Content-Type", + "value": "application/json;charset=utf-8" + }, + { + "key": "Accept-Language", + "value": "en" + }, + { + "key": "Authorization", + "value": "Basic YXBpX3VzZXI6V2lkZWNvdXAx" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"name\":\"m2m-rating\",\r\n \"header\":{\r\n \"eventType\":\"RatingUnion.AbsoluteOverlimit.Event\",\r\n \"relatedParty\":[\r\n {\r\n \"@referredType\":\"Customers\",\r\n \"id\":5234283,\r\n \"IDType\":0\r\n }\r\n ]\r\n },\r\n \"event\":{\r\n \"AckAlarms\":{\r\n \"@type\":\"AckAlarms\",\r\n \"alarmPattern\":[\r\n {\r\n \"@type\":\"Alarm\",\r\n \"name\":\"Counter\",\r\n \"analyticCharacteristic\":[\r\n {\r\n \"name\":\"PackageOverrideCode\",\r\n \"valueType\":\"string\",\r\n \"value\":\"1790906\",\r\n \"@type\":\"Characteristic\"\r\n },\r\n {\r\n \"name\":\"SimCardGroupCode\",\r\n \"valueType\":\"string\",\r\n \"value\":\"default\",\r\n \"@type\":\"Characteristic\"\r\n },\r\n {\r\n \"name\":\"RatingUnionCode\",\r\n \"valueType\":\"string\",\r\n \"value\":\"data\",\r\n \"@type\":\"Characteristic\"\r\n }\r\n ]\r\n }\r\n ],\r\n \"ackedAlarm\":[\r\n {\r\n \"@type\":\"Alarm\",\r\n \"name\":\"Absolute\",\r\n \"crossedThresholdInformation\":{\r\n \"@type\":\"CrossedThresholdInformation\",\r\n \"observedValue\":\"157286400\",\r\n \"threshold\":{\r\n \"@type\":\"ThresholdRef\",\r\n \"id\":\"Absolute\"\r\n }\r\n }\r\n }\r\n ],\r\n \"ackUserFrom\":\"hostname\",\r\n \"ackUserId\":\"username\"\r\n }\r\n }\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{API}}/api/v2/tmf/event/topic", + "host": [ + "{{API}}" + ], + "path": [ + "api", + "v2", + "tmf", + "event", + "topic" + ] + } + }, + "status": "Created", + "code": 201, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Date", + "value": "Thu, 17 Oct 2024 16:27:06 GMT" + }, + { + "key": "Content-Type", + "value": "application/json; charset=utf-8" + }, + { + "key": "Content-Length", + "value": "167" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "Accept-Language", + "value": "en" + }, + { + "key": "Access-Control-Allow-Credentials", + "value": "true" + }, + { + "key": "Access-Control-Allow-Headers", + "value": "Authorization,Pragma,Cache-control,Content-type,X-Requested-With" + }, + { + "key": "Access-Control-Allow-Methods", + "value": "GET,POST,PUT,DELETE,HEAD,OPTIONS" + }, + { + "key": "Strict-Transport-Security", + "value": "max-age=31536000" + }, + { + "key": "Content-Security-Policy", + "value": "img-src https: data:; upgrade-insecure-requests" + } + ], + "cookie": [], + "body": "{\n \"id\": \"59\",\n \"header\": {\n \"relatedParty\": [\n {\n \"id\": \"5234283\",\n \"@referredType\": \"Customers\",\n \"idType\": \"0\"\n }\n ],\n \"eventType\": \"RatingUnion.AbsoluteOverlimit.Event\"\n },\n \"name\": \"m2m-rating\"\n}" + } + ] + }, + { + "name": "TopicByAccoiunt_RatingUnion.AbsoluteOverlimit.Event_outOfBucketCounter", + "request": { + "method": "POST", + "header": [ + { + "key": "Accept", + "value": "application/json;charset=utf-8" + }, + { + "key": "Content-Type", + "value": "application/json;charset=utf-8" + }, + { + "key": "Accept-Language", + "value": "en" + }, + { + "key": "Authorization", + "value": "Basic YXBpX3VzZXI6V2lkZWNvdXAx" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"name\":\"m2m-rating\",\r\n \"header\":{\r\n \"eventType\":\"RatingUnion.AbsoluteOverlimit.Event\",\r\n \"relatedParty\":[\r\n {\r\n \"@referredType\":\"Customers\",\r\n \"id\":5234283,\r\n \"IDType\":0\r\n }\r\n ]\r\n },\r\n \"event\":{\r\n \"AckAlarms\":{\r\n \"@type\":\"AckAlarms\",\r\n \"alarmPattern\":[\r\n {\r\n \"@type\":\"Alarm\",\r\n \"name\":\"Counter\",\r\n \"analyticCharacteristic\":[\r\n {\r\n \"name\":\"PackageOverrideCode\",\r\n \"valueType\":\"string\",\r\n \"value\":\"1790906\",\r\n \"@type\":\"Characteristic\"\r\n },\r\n {\r\n \"name\":\"SimCardGroupCode\",\r\n \"valueType\":\"string\",\r\n \"value\":\"default\",\r\n \"@type\":\"Characteristic\"\r\n },\r\n {\r\n \"name\":\"RatingUnionCode\",\r\n \"valueType\":\"string\",\r\n \"value\":\"data\",\r\n \"@type\":\"Characteristic\"\r\n }\r\n ]\r\n }\r\n ],\r\n \"ackedAlarm\":[\r\n {\r\n \"@type\":\"Alarm\",\r\n \"name\":\"Remainder\",\r\n \"crossedThresholdInformation\":{\r\n \"@type\":\"CrossedThresholdInformation\",\r\n \"observedValue\":\"1024\",\r\n \"threshold\":{\r\n \"@type\":\"ThresholdRef\",\r\n \"id\":\"Absolute\"\r\n }\r\n }\r\n }\r\n ],\r\n \"ackUserFrom\":\"hostname\",\r\n \"ackUserId\":\"username\"\r\n }\r\n }\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://localhost:443/api/v2/tmf/event/topic", + "protocol": "https", + "host": [ + "localhost" + ], + "port": "443", + "path": [ + "api", + "v2", + "tmf", + "event", + "topic" + ] + }, + "description": "Generated from cURL: curl --location 'https://localhost:443/api/v2/tmf/event/topic' \\\r\n--header 'Accept: application/json;charset=utf-8' \\\r\n--header 'Content-Type: application/json;charset=utf-8' \\\r\n--header 'Accept-Language: en' \\\r\n--header 'Authorization: Basic YXBpX3VzZXI6V2lkZWNvdXAx' \\\r\n--data-raw '{\r\n \"name\":\"m2m-rating\",\r\n \"header\":{\r\n \"eventType\":\"RatingUnion.AbsoluteOverlimit.Event\",\r\n \"relatedParty\":[\r\n {\r\n \"@referredType\":\"Customers\",\r\n \"id\":5234283,\r\n \"IDType\":0\r\n }\r\n ]\r\n },\r\n \"event\":{\r\n \"AckAlarms\":{\r\n \"@type\":\"AckAlarms\",\r\n \"alarmPattern\":[\r\n {\r\n \"@type\":\"Alarm\",\r\n \"name\":\"Counter\",\r\n \"analyticCharacteristic\":[\r\n {\r\n \"name\":\"PackageOverrideCode\",\r\n \"valueType\":\"string\",\r\n \"value\":\"1790906\",\r\n \"@type\":\"Characteristic\"\r\n },\r\n {\r\n \"name\":\"SimCardGroupCode\",\r\n \"valueType\":\"string\",\r\n \"value\":\"default\",\r\n \"@type\":\"Characteristic\"\r\n },\r\n {\r\n \"name\":\"RatingUnionCode\",\r\n \"valueType\":\"string\",\r\n \"value\":\"data\",\r\n \"@type\":\"Characteristic\"\r\n }\r\n ]\r\n }\r\n ],\r\n \"ackedAlarm\":[\r\n {\r\n \"@type\":\"Alarm\",\r\n \"name\":\"Remainder\",\r\n \"crossedThresholdInformation\":{\r\n \"@type\":\"CrossedThresholdInformation\",\r\n \"observedValue\":\"1024\",\r\n \"threshold\":{\r\n \"@type\":\"ThresholdRef\",\r\n \"id\":\"Absolute\"\r\n }\r\n }\r\n }\r\n ],\r\n \"ackUserFrom\":\"hostname\",\r\n \"ackUserId\":\"username\"\r\n }\r\n }\r\n}'" + }, + "response": [ + { + "name": "Success", + "originalRequest": { + "method": "POST", + "header": [ + { + "key": "Accept", + "value": "application/json;charset=utf-8" + }, + { + "key": "Content-Type", + "value": "application/json;charset=utf-8" + }, + { + "key": "Accept-Language", + "value": "en" + }, + { + "key": "Authorization", + "value": "Basic YXBpX3VzZXI6V2lkZWNvdXAx" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"name\":\"m2m-rating\",\r\n \"header\":{\r\n \"eventType\":\"RatingUnion.AbsoluteOverlimit.Event\",\r\n \"relatedParty\":[\r\n {\r\n \"@referredType\":\"Customers\",\r\n \"id\":5234283,\r\n \"IDType\":0\r\n }\r\n ]\r\n },\r\n \"event\":{\r\n \"AckAlarms\":{\r\n \"@type\":\"AckAlarms\",\r\n \"alarmPattern\":[\r\n {\r\n \"@type\":\"Alarm\",\r\n \"name\":\"Counter\",\r\n \"analyticCharacteristic\":[\r\n {\r\n \"name\":\"PackageOverrideCode\",\r\n \"valueType\":\"string\",\r\n \"value\":\"1790906\",\r\n \"@type\":\"Characteristic\"\r\n },\r\n {\r\n \"name\":\"SimCardGroupCode\",\r\n \"valueType\":\"string\",\r\n \"value\":\"default\",\r\n \"@type\":\"Characteristic\"\r\n },\r\n {\r\n \"name\":\"RatingUnionCode\",\r\n \"valueType\":\"string\",\r\n \"value\":\"data\",\r\n \"@type\":\"Characteristic\"\r\n }\r\n ]\r\n }\r\n ],\r\n \"ackedAlarm\":[\r\n {\r\n \"@type\":\"Alarm\",\r\n \"name\":\"Remainder\",\r\n \"crossedThresholdInformation\":{\r\n \"@type\":\"CrossedThresholdInformation\",\r\n \"observedValue\":\"1024\",\r\n \"threshold\":{\r\n \"@type\":\"ThresholdRef\",\r\n \"id\":\"Absolute\"\r\n }\r\n }\r\n }\r\n ],\r\n \"ackUserFrom\":\"hostname\",\r\n \"ackUserId\":\"username\"\r\n }\r\n }\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://localhost:443/api/v2/tmf/event/topic", + "protocol": "https", + "host": [ + "localhost" + ], + "port": "443", + "path": [ + "api", + "v2", + "tmf", + "event", + "topic" + ] + } + }, + "status": "Created", + "code": 201, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Date", + "value": "Thu, 17 Oct 2024 16:27:13 GMT" + }, + { + "key": "Content-Type", + "value": "application/json; charset=utf-8" + }, + { + "key": "Content-Length", + "value": "167" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "Accept-Language", + "value": "en" + }, + { + "key": "Access-Control-Allow-Credentials", + "value": "true" + }, + { + "key": "Access-Control-Allow-Headers", + "value": "Authorization,Pragma,Cache-control,Content-type,X-Requested-With" + }, + { + "key": "Access-Control-Allow-Methods", + "value": "GET,POST,PUT,DELETE,HEAD,OPTIONS" + }, + { + "key": "Strict-Transport-Security", + "value": "max-age=31536000" + }, + { + "key": "Content-Security-Policy", + "value": "img-src https: data:; upgrade-insecure-requests" + } + ], + "cookie": [], + "body": "{\n \"id\": \"60\",\n \"header\": {\n \"relatedParty\": [\n {\n \"id\": \"5234283\",\n \"@referredType\": \"Customers\",\n \"idType\": \"0\"\n }\n ],\n \"eventType\": \"RatingUnion.AbsoluteOverlimit.Event\"\n },\n \"name\": \"m2m-rating\"\n}" + } + ] + }, + { + "name": "TopicByAccount_RatingGroup.AbsoluteOverlimit.Event_UsedCounter", + "request": { + "method": "POST", + "header": [ + { + "key": "Accept", + "value": "application/json;charset=utf-8" + }, + { + "key": "Content-Type", + "value": "application/json;charset=utf-8" + }, + { + "key": "Accept-Language", + "value": "en" + }, + { + "key": "Authorization", + "value": "Basic YXBpX3VzZXI6V2lkZWNvdXAx" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"name\":\"m2m-rating\",\r\n \"header\":{\r\n \"eventType\":\"RatingGroup.AbsoluteOverlimit.Event\",\r\n \"relatedParty\":[\r\n {\r\n \"@referredType\":\"Customers\",\r\n \"id\":5234283,\r\n \"IDType\":0\r\n }\r\n ]\r\n },\r\n \"event\":{\r\n \"AckAlarms\":{\r\n \"@type\":\"AckAlarms\",\r\n \"alarmPattern\":[\r\n {\r\n \"@type\":\"Alarm\",\r\n \"name\":\"Counter\",\r\n \"analyticCharacteristic\":[\r\n {\r\n \"name\":\"PackageOverrideCode\",\r\n \"valueType\":\"string\",\r\n \"value\":\"1790906\",\r\n \"@type\":\"Characteristic\"\r\n },\r\n {\r\n \"name\":\"SimCardGroupCode\",\r\n \"valueType\":\"string\",\r\n \"value\":\"default\",\r\n \"@type\":\"Characteristic\"\r\n },\r\n {\r\n \"name\":\"RatingGroupCode\",\r\n \"valueType\":\"string\",\r\n \"value\":\"DTE-IN-UA\",\r\n \"@type\":\"Characteristic\"\r\n }\r\n ]\r\n }\r\n ],\r\n \"ackedAlarm\":[\r\n {\r\n \"@type\":\"Alarm\",\r\n \"name\":\"Absolute\",\r\n \"crossedThresholdInformation\":{\r\n \"@type\":\"CrossedThresholdInformation\",\r\n \"observedValue\":\"157286400\",\r\n \"threshold\":{\r\n \"@type\":\"ThresholdRef\",\r\n \"id\":\"Absolute\"\r\n }\r\n }\r\n }\r\n ],\r\n \"ackUserFrom\":\"hostname\",\r\n \"ackUserId\":\"username\"\r\n }\r\n }\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://localhost:443/api/v2/tmf/event/topic", + "protocol": "https", + "host": [ + "localhost" + ], + "port": "443", + "path": [ + "api", + "v2", + "tmf", + "event", + "topic" + ] + }, + "description": "Generated from cURL: curl --location 'https://localhost:443/api/v2/tmf/event/topic' \\\r\n--header 'Accept: application/json;charset=utf-8' \\\r\n--header 'Content-Type: application/json;charset=utf-8' \\\r\n--header 'Accept-Language: en' \\\r\n--header 'Authorization: Basic YXBpX3VzZXI6V2lkZWNvdXAx' \\\r\n--data-raw '{\r\n \"name\":\"m2m-rating\",\r\n \"header\":{\r\n \"eventType\":\"RatingGroup.AbsoluteOverlimit.Event\",\r\n \"relatedParty\":[\r\n {\r\n \"@referredType\":\"Customers\",\r\n \"id\":5234283,\r\n \"IDType\":0\r\n }\r\n ]\r\n },\r\n \"event\":{\r\n \"AckAlarms\":{\r\n \"@type\":\"AckAlarms\",\r\n \"alarmPattern\":[\r\n {\r\n \"@type\":\"Alarm\",\r\n \"name\":\"Counter\",\r\n \"analyticCharacteristic\":[\r\n {\r\n \"name\":\"PackageOverrideCode\",\r\n \"valueType\":\"string\",\r\n \"value\":\"1790906\",\r\n \"@type\":\"Characteristic\"\r\n },\r\n {\r\n \"name\":\"SimCardGroupCode\",\r\n \"valueType\":\"string\",\r\n \"value\":\"default\",\r\n \"@type\":\"Characteristic\"\r\n },\r\n {\r\n \"name\":\"RatingGroupCode\",\r\n \"valueType\":\"string\",\r\n \"value\":\"DTE-IN-UA\",\r\n \"@type\":\"Characteristic\"\r\n }\r\n ]\r\n }\r\n ],\r\n \"ackedAlarm\":[\r\n {\r\n \"@type\":\"Alarm\",\r\n \"name\":\"Absolute\",\r\n \"crossedThresholdInformation\":{\r\n \"@type\":\"CrossedThresholdInformation\",\r\n \"observedValue\":\"157286400\",\r\n \"threshold\":{\r\n \"@type\":\"ThresholdRef\",\r\n \"id\":\"Absolute\"\r\n }\r\n }\r\n }\r\n ],\r\n \"ackUserFrom\":\"hostname\",\r\n \"ackUserId\":\"username\"\r\n }\r\n }\r\n}'" + }, + "response": [ + { + "name": "Success", + "originalRequest": { + "method": "POST", + "header": [ + { + "key": "Accept", + "value": "application/json;charset=utf-8" + }, + { + "key": "Content-Type", + "value": "application/json;charset=utf-8" + }, + { + "key": "Accept-Language", + "value": "en" + }, + { + "key": "Authorization", + "value": "Basic YXBpX3VzZXI6V2lkZWNvdXAx" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"name\":\"m2m-rating\",\r\n \"header\":{\r\n \"eventType\":\"RatingGroup.AbsoluteOverlimit.Event\",\r\n \"relatedParty\":[\r\n {\r\n \"@referredType\":\"Customers\",\r\n \"id\":5234283,\r\n \"IDType\":0\r\n }\r\n ]\r\n },\r\n \"event\":{\r\n \"AckAlarms\":{\r\n \"@type\":\"AckAlarms\",\r\n \"alarmPattern\":[\r\n {\r\n \"@type\":\"Alarm\",\r\n \"name\":\"Counter\",\r\n \"analyticCharacteristic\":[\r\n {\r\n \"name\":\"PackageOverrideCode\",\r\n \"valueType\":\"string\",\r\n \"value\":\"1790906\",\r\n \"@type\":\"Characteristic\"\r\n },\r\n {\r\n \"name\":\"SimCardGroupCode\",\r\n \"valueType\":\"string\",\r\n \"value\":\"default\",\r\n \"@type\":\"Characteristic\"\r\n },\r\n {\r\n \"name\":\"RatingGroupCode\",\r\n \"valueType\":\"string\",\r\n \"value\":\"DTE-IN-UA\",\r\n \"@type\":\"Characteristic\"\r\n }\r\n ]\r\n }\r\n ],\r\n \"ackedAlarm\":[\r\n {\r\n \"@type\":\"Alarm\",\r\n \"name\":\"Absolute\",\r\n \"crossedThresholdInformation\":{\r\n \"@type\":\"CrossedThresholdInformation\",\r\n \"observedValue\":\"157286400\",\r\n \"threshold\":{\r\n \"@type\":\"ThresholdRef\",\r\n \"id\":\"Absolute\"\r\n }\r\n }\r\n }\r\n ],\r\n \"ackUserFrom\":\"hostname\",\r\n \"ackUserId\":\"username\"\r\n }\r\n }\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://localhost:443/api/v2/tmf/event/topic", + "protocol": "https", + "host": [ + "localhost" + ], + "port": "443", + "path": [ + "api", + "v2", + "tmf", + "event", + "topic" + ] + } + }, + "status": "Created", + "code": 201, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Date", + "value": "Thu, 17 Oct 2024 16:27:17 GMT" + }, + { + "key": "Content-Type", + "value": "application/json; charset=utf-8" + }, + { + "key": "Content-Length", + "value": "167" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "Accept-Language", + "value": "en" + }, + { + "key": "Access-Control-Allow-Credentials", + "value": "true" + }, + { + "key": "Access-Control-Allow-Headers", + "value": "Authorization,Pragma,Cache-control,Content-type,X-Requested-With" + }, + { + "key": "Access-Control-Allow-Methods", + "value": "GET,POST,PUT,DELETE,HEAD,OPTIONS" + }, + { + "key": "Strict-Transport-Security", + "value": "max-age=31536000" + }, + { + "key": "Content-Security-Policy", + "value": "img-src https: data:; upgrade-insecure-requests" + } + ], + "cookie": [], + "body": "{\n \"id\": \"61\",\n \"header\": {\n \"relatedParty\": [\n {\n \"id\": \"5234283\",\n \"@referredType\": \"Customers\",\n \"idType\": \"0\"\n }\n ],\n \"eventType\": \"RatingGroup.AbsoluteOverlimit.Event\"\n },\n \"name\": \"m2m-rating\"\n}" + } + ] + }, + { + "name": "Delete the Topic", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "pm.test(\"Status code is 201\", function () {", + " pm.response.to.have.status(201);", + "});" + ], + "type": "text/javascript", + "packages": {} + } + } + ], + "request": { + "auth": { + "type": "basic", + "basic": [ + { + "key": "password", + "value": "password", + "type": "string" + }, + { + "key": "username", + "value": "login", + "type": "string" + } + ] + }, + "method": "DELETE", + "header": [ + { + "key": "Accept", + "value": "application/json;charset=utf-8" + }, + { + "key": "Content-Type", + "value": "application/json;charset=utf-8" + }, + { + "key": "x-ms-client-request-id", + "value": "20412345678903142363734", + "disabled": true + }, + { + "key": "Accept-Language", + "value": "en" + } + ], + "body": { + "mode": "raw", + "raw": "{}" + }, + "url": { + "raw": "{{API}}/api/v2/tmf/event/topic/52", + "host": [ + "{{API}}" + ], + "path": [ + "api", + "v2", + "tmf", + "event", + "topic", + "52" + ] + }, + "description": "This operation creates a BillingAccount entity." + }, + "response": [ + { + "name": "Duplicated operation", + "originalRequest": { + "method": "DELETE", + "header": [ + { + "key": "Accept", + "value": "application/json;charset=utf-8" + }, + { + "key": "Content-Type", + "value": "application/json;charset=utf-8" + }, + { + "key": "x-ms-client-request-id", + "value": "20412345678903142363734", + "disabled": true + }, + { + "key": "Accept-Language", + "value": "en" + } + ], + "body": { + "mode": "raw", + "raw": "{}" + }, + "url": { + "raw": "{{API}}/api/v2/tmf/event/topic/91", + "host": [ + "{{API}}" + ], + "path": [ + "api", + "v2", + "tmf", + "event", + "topic", + "91" + ] + } + }, + "status": "Internal Server Error", + "code": 500, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Length", + "value": "164" + }, + { + "key": "Content-Type", + "value": "application/json; charset=utf-8" + }, + { + "key": "Access-Control-Allow-Methods", + "value": "GET, PUT, POST, DELETE, OPTIONS, HEAD" + }, + { + "key": "Access-Control-Allow-Headers", + "value": "Authorization,Pragma,Cache-control,Content-type" + }, + { + "key": "Access-Control-Allow-Credentials", + "value": "true" + }, + { + "key": "Date", + "value": "Thu, 06 Jun 2024 07:32:56 GMT" + } + ], + "cookie": [], + "body": "{\n \"code\": \"51697\",\n \"reason\": \"51697\",\n \"message\": \"The specified identifier has already been deleted, so the operation is not possible\",\n \"status\": \"500\",\n \"referenceError\": \"\"\n}" + }, + { + "name": "Deleted successfully", + "originalRequest": { + "method": "DELETE", + "header": [ + { + "key": "Accept", + "value": "application/json;charset=utf-8" + }, + { + "key": "Content-Type", + "value": "application/json;charset=utf-8" + }, + { + "key": "x-ms-client-request-id", + "value": "20412345678903142363734", + "disabled": true + }, + { + "key": "Accept-Language", + "value": "en" + } + ], + "body": { + "mode": "raw", + "raw": "{}" + }, + "url": { + "raw": "{{API}}/api/v2/tmf/event/topic/49", + "host": [ + "{{API}}" + ], + "path": [ + "api", + "v2", + "tmf", + "event", + "topic", + "49" + ] + } + }, + "status": "No Content", + "code": 204, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json; charset=utf-8" + }, + { + "key": "Accept-Language", + "value": "en" + }, + { + "key": "Access-Control-Allow-Methods", + "value": "GET, PUT, POST, DELETE, OPTIONS, HEAD" + }, + { + "key": "Access-Control-Allow-Headers", + "value": "Authorization,Pragma,Cache-control,Content-type" + }, + { + "key": "Access-Control-Allow-Credentials", + "value": "true" + }, + { + "key": "Date", + "value": "Thu, 06 Jun 2024 07:58:39 GMT" + } + ], + "cookie": [], + "body": null + }, + { + "name": "Incorrect Topic ID", + "originalRequest": { + "method": "DELETE", + "header": [ + { + "key": "Accept", + "value": "application/json;charset=utf-8" + }, + { + "key": "Content-Type", + "value": "application/json;charset=utf-8" + }, + { + "key": "x-ms-client-request-id", + "value": "20412345678903142363734", + "disabled": true + }, + { + "key": "Accept-Language", + "value": "en" + } + ], + "body": { + "mode": "raw", + "raw": "{}" + }, + "url": { + "raw": "{{API}}/api/v2/tmf/event/topic/52", + "host": [ + "{{API}}" + ], + "path": [ + "api", + "v2", + "tmf", + "event", + "topic", + "52" + ] + } + }, + "status": "Internal Server Error", + "code": 500, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Date", + "value": "Thu, 17 Oct 2024 14:12:19 GMT" + }, + { + "key": "Content-Type", + "value": "application/json; charset=utf-8" + }, + { + "key": "Content-Length", + "value": "124" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "Access-Control-Allow-Credentials", + "value": "true" + }, + { + "key": "Access-Control-Allow-Headers", + "value": "Authorization,Pragma,Cache-control,Content-type,X-Requested-With" + }, + { + "key": "Access-Control-Allow-Methods", + "value": "GET,POST,PUT,DELETE,HEAD,OPTIONS" + } + ], + "cookie": [], + "body": "{\n \"code\": \"50205\",\n \"reason\": \"50205\",\n \"message\": \"Incorrect value of the input parameter: @id\",\n \"status\": \"500\",\n \"referenceError\": \"\"\n}" + } + ] + }, + { + "name": "List or find Topic entittes", + "request": { + "auth": { + "type": "basic", + "basic": [ + { + "key": "password", + "value": "password", + "type": "string" + }, + { + "key": "username", + "value": "login", + "type": "string" + } + ] + }, + "method": "GET", + "header": [ + { + "key": "Accept", + "value": "application/json;charset=utf-8" + }, + { + "key": "Content-Type", + "value": "application/json;charset=utf-8" + }, + { + "key": "x-ms-client-request-id", + "value": "20412345678903142363734", + "disabled": true + }, + { + "key": "Accept-Language", + "value": "en" + } + ], + "url": { + "raw": "{{API}}/api/v2/tmf/event/topic?limit=5&offset=1&header={relatedParty:[{\"id\": \"5234283\",\"@referredType\": \"Customers\",\"IDType\": \"0\"}],\"eventType\": \"RatingUnion.PercentOverlimit.Event\"}", + "host": [ + "{{API}}" + ], + "path": [ + "api", + "v2", + "tmf", + "event", + "topic" + ], + "query": [ + { + "key": "limit", + "value": "5" + }, + { + "key": "offset", + "value": "1" + }, + { + "key": "header", + "value": "{relatedParty:[{\"id\": \"5234283\",\"@referredType\": \"Customers\",\"IDType\": \"0\"}],\"eventType\": \"RatingUnion.PercentOverlimit.Event\"}" + } + ] + } + }, + "response": [ + { + "name": "Partial by eventType & Related Party", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "Accept", + "value": "application/json;charset=utf-8" + }, + { + "key": "Content-Type", + "value": "application/json;charset=utf-8" + }, + { + "key": "x-ms-client-request-id", + "value": "20412345678903142363734", + "disabled": true + }, + { + "key": "Accept-Language", + "value": "en" + } + ], + "url": { + "raw": "{{API}}/api/v2/tmf/event/topic?limit=5&offset=1&header={relatedParty:[{\"id\": \"5234283\",\"@referredType\": \"Customers\",\"IDType\": \"0\"}],\"eventType\": \"RatingUnion.PercentOverlimit.Event\"}", + "host": [ + "{{API}}" + ], + "path": [ + "api", + "v2", + "tmf", + "event", + "topic" + ], + "query": [ + { + "key": "limit", + "value": "5" + }, + { + "key": "offset", + "value": "1" + }, + { + "key": "header", + "value": "{relatedParty:[{\"id\": \"5234283\",\"@referredType\": \"Customers\",\"IDType\": \"0\"}],\"eventType\": \"RatingUnion.PercentOverlimit.Event\"}" + } + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "plain", + "header": [ + { + "key": "Date", + "value": "Tue, 16 Jul 2024 15:30:25 GMT" + }, + { + "key": "Content-Type", + "value": "text/plain; charset=utf-8" + }, + { + "key": "Transfer-Encoding", + "value": "chunked" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "Content-Range", + "value": "items 1-2/2" + }, + { + "key": "Accept-Language", + "value": "en" + }, + { + "key": "x-ms-client-request-id", + "value": "218d32a8-918f-41ce-ab12-ecd05bda" + }, + { + "key": "X-Total-Count", + "value": "2" + }, + { + "key": "X-Page-Count", + "value": "1" + }, + { + "key": "cacheStatus", + "value": "Added" + }, + { + "key": "Access-Control-Allow-Credentials", + "value": "true" + }, + { + "key": "Access-Control-Allow-Headers", + "value": "Authorization,Pragma,Cache-control,Content-type,X-Requested-With" + }, + { + "key": "Access-Control-Allow-Methods", + "value": "GET,POST,PUT,DELETE,HEAD,OPTIONS" + }, + { + "key": "Strict-Transport-Security", + "value": "max-age=31536000" + }, + { + "key": "Content-Security-Policy", + "value": "img-src https: data:; upgrade-insecure-requests" + } + ], + "cookie": [], + "body": "[\n{\n \"event\": {\n \"AckAlarms\": {\n \"@type\": \"AckAlarms\",\n \"alarmPattern\": [\n {\n \"@type\": \"Alarm\",\n \"name\": \"Counter\",\n \"analyticCharacteristic\": [\n {\n \"id\": \"PackageOverrideCode\",\n \"name\": \"PackageOverrideCode\",\n \"valueType\": \"string\",\n \"value\": \"1790906\",\n \"@type\": \"Characteristic\"\n },\n {\n \"id\": \"RatingUnionCode\",\n \"name\": \"RatingUnionCode\",\n \"valueType\": \"string\",\n \"value\": \"data\",\n \"@type\": \"Characteristic\"\n },\n {\n \"id\": \"scrg_code\",\n \"name\": \"SimCardGroupCode\",\n \"valueType\": \"string\",\n \"value\": \"default\",\n \"@type\": \"Characteristic\"\n }\n ]\n }\n ],\n \"ackedAlarm\": [\n {\n \"@type\": \"Alarm\",\n \"name\": \"Percent\",\n \"crossedThresholdInformation\": {\n \"@type\": \"CrossedThresholdInformation\",\n \"observedValue\": \"80.0\",\n \"threshold\": {\n \"@type\": \"ThresholdRef\",\n \"id\": \"Percent\"\n }\n }\n }\n ],\n \"ackUserFrom\": \"hostname\",\n \"ackUserId\": \"username\"\n }\n },\n \"header\": {\n \"relatedParty\": [\n {\n \"id\": \"5234283\",\n \"@referredType\": \"Customers\",\n \"IDType\": \"0\"\n }\n ],\n \"eventType\": \"RatingUnion.PercentOverlimit.Event\"\n },\n \"id\": \"14\",\n \"name\": \"m2m-rating\"\n},\n{\n \"event\": {\n \"AckAlarms\": {\n \"@type\": \"AckAlarms\",\n \"alarmPattern\": [\n {\n \"@type\": \"Alarm\",\n \"name\": \"Counter\",\n \"analyticCharacteristic\": [\n {\n \"id\": \"PackageOverrideCode\",\n \"name\": \"PackageOverrideCode\",\n \"valueType\": \"string\",\n \"value\": \"1790906\",\n \"@type\": \"Characteristic\"\n },\n {\n \"id\": \"RatingUnionCode\",\n \"name\": \"RatingUnionCode\",\n \"valueType\": \"string\",\n \"value\": \"data\",\n \"@type\": \"Characteristic\"\n },\n {\n \"id\": \"scrg_code\",\n \"name\": \"SimCardGroupCode\",\n \"valueType\": \"string\",\n \"value\": \"default\",\n \"@type\": \"Characteristic\"\n }\n ]\n }\n ],\n \"ackedAlarm\": [\n {\n \"@type\": \"Alarm\",\n \"name\": \"Percent\",\n \"crossedThresholdInformation\": {\n \"@type\": \"CrossedThresholdInformation\",\n \"observedValue\": \"80.0\",\n \"threshold\": {\n \"@type\": \"ThresholdRef\",\n \"id\": \"Percent\"\n }\n }\n }\n ],\n \"ackUserFrom\": \"hostname\",\n \"ackUserId\": \"username\"\n }\n },\n \"header\": {\n \"relatedParty\": [\n {\n \"id\": \"5234283\",\n \"@referredType\": \"Customers\",\n \"IDType\": \"0\"\n }\n ],\n \"eventType\": \"RatingUnion.PercentOverlimit.Event\"\n },\n \"id\": \"23\",\n \"name\": \"m2m-rating\"\n}\n]\n" + }, + { + "name": "Partial by Related Party", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "Accept", + "value": "application/json;charset=utf-8" + }, + { + "key": "Content-Type", + "value": "application/json;charset=utf-8" + }, + { + "key": "x-ms-client-request-id", + "value": "20412345678903142363734", + "disabled": true + }, + { + "key": "Accept-Language", + "value": "en" + } + ], + "url": { + "raw": "{{API}}/api/v2/tmf/event/topic?limit=5&offset=0&header={relatedParty:[{\"id\": \"5234283\",\"@referredType\": \"Customers\",\"IDType\": \"0\"}]}", + "host": [ + "{{API}}" + ], + "path": [ + "api", + "v2", + "tmf", + "event", + "topic" + ], + "query": [ + { + "key": "limit", + "value": "5" + }, + { + "key": "offset", + "value": "0" + }, + { + "key": "header", + "value": "{relatedParty:[{\"id\": \"5234283\",\"@referredType\": \"Customers\",\"IDType\": \"0\"}]}" + } + ] + } + }, + "status": "Partial Content", + "code": 206, + "_postman_previewlanguage": "plain", + "header": [ + { + "key": "Date", + "value": "Thu, 17 Oct 2024 13:21:50 GMT" + }, + { + "key": "Content-Type", + "value": "text/plain; charset=utf-8" + }, + { + "key": "Transfer-Encoding", + "value": "chunked" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "Content-Range", + "value": "items 1-5/6" + }, + { + "key": "Accept-Language", + "value": "en" + }, + { + "key": "x-ms-client-request-id", + "value": "5a82a64f-d619-4480-a02e-d62eda6e" + }, + { + "key": "X-Total-Count", + "value": "6" + }, + { + "key": "X-Page-Count", + "value": "2" + }, + { + "key": "cacheStatus", + "value": "Added" + }, + { + "key": "Access-Control-Allow-Credentials", + "value": "true" + }, + { + "key": "Access-Control-Allow-Headers", + "value": "Authorization,Pragma,Cache-control,Content-type,X-Requested-With" + }, + { + "key": "Access-Control-Allow-Methods", + "value": "GET,POST,PUT,DELETE,HEAD,OPTIONS" + }, + { + "key": "Strict-Transport-Security", + "value": "max-age=31536000" + }, + { + "key": "Content-Security-Policy", + "value": "img-src https: data:; upgrade-insecure-requests" + } + ], + "cookie": [], + "body": "[\n{\n \"event\": {\n \"AckAlarms\": {\n \"@type\": \"AckAlarms\",\n \"alarmPattern\": [\n {\n \"@type\": \"Alarm\",\n \"name\": \"Counter\",\n \"analyticCharacteristic\": [\n {\n \"id\": \"PackageOverrideCode\",\n \"name\": \"PackageOverrideCode\",\n \"valueType\": \"string\",\n \"value\": \"1790906\",\n \"@type\": \"Characteristic\"\n },\n {\n \"id\": \"RatingUnionCode\",\n \"name\": \"RatingUnionCode\",\n \"valueType\": \"string\",\n \"value\": \"data\",\n \"@type\": \"Characteristic\"\n },\n {\n \"id\": \"scrg_code\",\n \"name\": \"SimCardGroupCode\",\n \"valueType\": \"string\",\n \"value\": \"default\",\n \"@type\": \"Characteristic\"\n }\n ]\n }\n ],\n \"ackedAlarm\": [\n {\n \"@type\": \"Alarm\",\n \"name\": \"Percent\",\n \"crossedThresholdInformation\": {\n \"@type\": \"CrossedThresholdInformation\",\n \"observedValue\": \"80.0\",\n \"threshold\": {\n \"@type\": \"ThresholdRef\",\n \"id\": \"Percent\"\n }\n }\n }\n ],\n \"ackUserFrom\": \"hostname\",\n \"ackUserId\": \"username\"\n }\n },\n \"header\": {\n \"relatedParty\": [\n {\n \"id\": \"5234283\",\n \"@referredType\": \"Customers\",\n \"IDType\": \"0\"\n }\n ],\n \"eventType\": \"RatingUnion.PercentOverlimit.Event\"\n },\n \"id\": \"24\",\n \"name\": \"m2m-rating\"\n},\n{\n \"event\": {\n \"AckAlarms\": {\n \"@type\": \"AckAlarms\",\n \"alarmPattern\": [\n {\n \"@type\": \"Alarm\",\n \"name\": \"Counter\",\n \"analyticCharacteristic\": [\n {\n \"id\": \"PackageOverrideCode\",\n \"name\": \"PackageOverrideCode\",\n \"valueType\": \"string\",\n \"value\": \"1790906\",\n \"@type\": \"Characteristic\"\n },\n {\n \"id\": \"RatingUnionCode\",\n \"name\": \"RatingUnionCode\",\n \"valueType\": \"string\",\n \"value\": \"data\",\n \"@type\": \"Characteristic\"\n },\n {\n \"id\": \"scrg_code\",\n \"name\": \"SimCardGroupCode\",\n \"valueType\": \"string\",\n \"value\": \"default\",\n \"@type\": \"Characteristic\"\n }\n ]\n }\n ],\n \"ackedAlarm\": [\n {\n \"@type\": \"Alarm\",\n \"name\": \"Absolute\",\n \"crossedThresholdInformation\": {\n \"@type\": \"CrossedThresholdInformation\",\n \"observedValue\": \"157286400.0\",\n \"threshold\": {\n \"@type\": \"ThresholdRef\",\n \"id\": \"Absolute\"\n }\n }\n }\n ],\n \"ackUserFrom\": \"hostname\",\n \"ackUserId\": \"username\"\n }\n },\n \"header\": {\n \"relatedParty\": [\n {\n \"id\": \"5234283\",\n \"@referredType\": \"Customers\",\n \"IDType\": \"0\"\n }\n ],\n \"eventType\": \"RatingUnion.AbsoluteOverlimit.Event\"\n },\n \"id\": \"27\",\n \"name\": \"m2m-rating\"\n},\n{\n \"event\": {\n \"AckAlarms\": {\n \"@type\": \"AckAlarms\",\n \"alarmPattern\": [\n {\n \"@type\": \"Alarm\",\n \"name\": \"Counter\",\n \"analyticCharacteristic\": [\n {\n \"id\": \"PackageOverrideCode\",\n \"name\": \"PackageOverrideCode\",\n \"valueType\": \"string\",\n \"value\": \"1790906\",\n \"@type\": \"Characteristic\"\n },\n {\n \"id\": \"RatingUnionCode\",\n \"name\": \"RatingUnionCode\",\n \"valueType\": \"string\",\n \"value\": \"data\",\n \"@type\": \"Characteristic\"\n },\n {\n \"id\": \"scrg_code\",\n \"name\": \"SimCardGroupCode\",\n \"valueType\": \"string\",\n \"value\": \"default\",\n \"@type\": \"Characteristic\"\n }\n ]\n }\n ],\n \"ackedAlarm\": [\n {\n \"@type\": \"Alarm\",\n \"name\": \"Remainder\",\n \"crossedThresholdInformation\": {\n \"@type\": \"CrossedThresholdInformation\",\n \"observedValue\": \"1024.0\",\n \"threshold\": {\n \"@type\": \"ThresholdRef\",\n \"id\": \"Remainder\"\n }\n }\n }\n ],\n \"ackUserFrom\": \"hostname\",\n \"ackUserId\": \"username\"\n }\n },\n \"header\": {\n \"relatedParty\": [\n {\n \"id\": \"5234283\",\n \"@referredType\": \"Customers\",\n \"IDType\": \"0\"\n }\n ],\n \"eventType\": \"RatingUnion.AbsoluteOverlimit.Event\"\n },\n \"id\": \"30\",\n \"name\": \"m2m-rating\"\n},\n{\n \"event\": {\n \"AckAlarms\": {\n \"@type\": \"AckAlarms\",\n \"alarmPattern\": [\n {\n \"@type\": \"Alarm\",\n \"name\": \"Counter\",\n \"analyticCharacteristic\": [\n {\n \"id\": \"PackageOverrideCode\",\n \"name\": \"PackageOverrideCode\",\n \"valueType\": \"string\",\n \"value\": \"1790906\",\n \"@type\": \"Characteristic\"\n },\n {\n \"id\": \"RatingUnionCode\",\n \"name\": \"RatingUnionCode\",\n \"valueType\": \"string\",\n \"value\": \"data\",\n \"@type\": \"Characteristic\"\n },\n {\n \"id\": \"scrg_code\",\n \"name\": \"SimCardGroupCode\",\n \"valueType\": \"string\",\n \"value\": \"default\",\n \"@type\": \"Characteristic\"\n }\n ]\n }\n ],\n \"ackedAlarm\": [\n {\n \"@type\": \"Alarm\",\n \"name\": \"Remainder\",\n \"crossedThresholdInformation\": {\n \"@type\": \"CrossedThresholdInformation\",\n \"observedValue\": \"1024.0\",\n \"threshold\": {\n \"@type\": \"ThresholdRef\",\n \"id\": \"Remainder\"\n }\n }\n }\n ],\n \"ackUserFrom\": \"hostname\",\n \"ackUserId\": \"username\"\n }\n },\n \"header\": {\n \"relatedParty\": [\n {\n \"id\": \"5234283\",\n \"@referredType\": \"Customers\",\n \"IDType\": \"0\"\n }\n ],\n \"eventType\": \"RatingUnion.AbsoluteOverlimit.Event\"\n },\n \"id\": \"36\",\n \"name\": \"m2m-rating\"\n},\n{\n \"event\": {\n \"AckAlarms\": {\n \"@type\": \"AckAlarms\",\n \"alarmPattern\": [\n {\n \"@type\": \"Alarm\",\n \"name\": \"Counter\",\n \"analyticCharacteristic\": [\n {\n \"id\": \"PackageOverrideCode\",\n \"name\": \"PackageOverrideCode\",\n \"valueType\": \"string\",\n \"value\": \"1790906777777777\",\n \"@type\": \"Characteristic\"\n },\n {\n \"id\": \"RatingUnionCode\",\n \"name\": \"RatingUnionCode\",\n \"valueType\": \"string\",\n \"value\": \"data\",\n \"@type\": \"Characteristic\"\n },\n {\n \"id\": \"scrg_code\",\n \"name\": \"SimCardGroupCode\",\n \"valueType\": \"string\",\n \"value\": \"default\",\n \"@type\": \"Characteristic\"\n }\n ]\n }\n ],\n \"ackedAlarm\": [\n {\n \"@type\": \"Alarm\",\n \"name\": \"Remainder\",\n \"crossedThresholdInformation\": {\n \"@type\": \"CrossedThresholdInformation\",\n \"observedValue\": \"1024.0\",\n \"threshold\": {\n \"@type\": \"ThresholdRef\",\n \"id\": \"Remainder\"\n }\n }\n }\n ],\n \"ackUserFrom\": \"hostname\",\n \"ackUserId\": \"username\"\n }\n },\n \"header\": {\n \"relatedParty\": [\n {\n \"id\": \"5234283\",\n \"@referredType\": \"Customers\",\n \"IDType\": \"0\"\n }\n ],\n \"eventType\": \"RatingUnion.AbsoluteOverlimit.Event\"\n },\n \"id\": \"37\",\n \"name\": \"m2m-rating\"\n}\n]\n" + } + ] } - ], - "cookie": [], - "body": "[\r\n{\r\n \"periodCoverage\": {\r\n \"endDateTime\": \"2025-06-01T00:00:00\",\r\n \"startDateTime\": \"2021-04-30T23:59:59.997\"\r\n },\r\n \"relatedParty\": [\r\n {\r\n \"id\": \"7702217\",\r\n \"@referredType\": \"Customers\",\r\n \"IDType\": 0\r\n }\r\n ],\r\n \"domain\": \"ocs\",\r\n \"eventTime\": \"2024-06-26T14:48:51.707\",\r\n \"eventType\": \"RatingUnion.PercentOverlimit.Event\",\r\n \"priority\": \"Normal\",\r\n \"timeOccurred\": \"2024-06-26T14:49:43.017\",\r\n \"title\": \"\",\r\n \"event\": {\r\n \"alarm\": {\r\n \"analyticCharacteristic\": [\r\n {\r\n \"id\": \"DateFrom\",\r\n \"name\": \"DateFrom\",\r\n \"valueType\": \"string\",\r\n \"value\": \"2024-06-26T00:00:00\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"DateTo\",\r\n \"name\": \"DateTo\",\r\n \"valueType\": \"string\",\r\n \"value\": \"2024-07-25T23:59:59.997\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"dnm_id\",\r\n \"name\": \"DynamicType\",\r\n \"valueType\": \"string\",\r\n \"value\": \"199\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"EventDate\",\r\n \"name\": \"EventDate\",\r\n \"valueType\": \"string\",\r\n \"value\": \"2024-06-26T14:48:51.687\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"ext_id\",\r\n \"name\": \"Extention_ID\",\r\n \"valueType\": \"string\",\r\n \"value\": \"7892672\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"LimitTotalVolume\",\r\n \"name\": \"LimitTotalVolume\",\r\n \"valueType\": \"string\",\r\n \"value\": \"1048576000\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"LimitVolumeByUnion\",\r\n \"name\": \"LimitVolumeByUnion\",\r\n \"valueType\": \"string\",\r\n \"value\": \"1048576000\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"OriginLimitTotalVolume\",\r\n \"name\": \"OriginLimitTotalVolume\",\r\n \"valueType\": \"string\",\r\n \"value\": \"0\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"idTariffPlan\",\r\n \"name\": \"PackageId\",\r\n \"valueType\": \"string\",\r\n \"value\": \"6195\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"PackageIdLimit\",\r\n \"name\": \"PackageIdLimit\",\r\n \"valueType\": \"string\",\r\n \"value\": \"6229\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"PackageOverrideID\",\r\n \"name\": \"PackageOverrideID\",\r\n \"valueType\": \"string\",\r\n \"value\": \"6229\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"abn_id\",\r\n \"name\": \"Subscriber_ID\",\r\n \"valueType\": \"string\",\r\n \"value\": \"7702390\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"TotalVolume\",\r\n \"name\": \"TotalVolume\",\r\n \"valueType\": \"string\",\r\n \"value\": \"104857600\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"TotalVolumeByUnion\",\r\n \"name\": \"TotalVolumeByUnion\",\r\n \"valueType\": \"string\",\r\n \"value\": \"104857600\",\r\n \"@type\": \"Characteristic\"\r\n }\r\n ],\r\n \"crossedThresholdInformation\": {\r\n \"observedValue\": \"20.0\",\r\n \"threshold\": {\r\n \"@type\": \"ThresholdRef\",\r\n \"id\": \"Percent\"\r\n },\r\n \"direction\": \"up\"\r\n },\r\n \"@type\": \"alarm\",\r\n \"alarmType\": \"QualityOfServiceAlarm\",\r\n \"id\": \"162\",\r\n \"perceivedSeverity\": \"warning\",\r\n \"probableCause\": \"Threshold crossed\",\r\n \"serviceAffecting\": true,\r\n \"specificProblem\": \"Topic threshold crossed\",\r\n \"state\": \"raised\",\r\n \"affectedService\": [\r\n {\r\n \"id\": \"01-7702390\"\r\n },\r\n {\r\n \"id\": \"02-55\"\r\n }\r\n ]\r\n }\r\n },\r\n \"id\": \"402\"\r\n},\n{\r\n \"periodCoverage\": {\r\n \"endDateTime\": \"2025-06-01T00:00:00\",\r\n \"startDateTime\": \"2021-04-30T23:59:59.997\"\r\n },\r\n \"relatedParty\": [\r\n {\r\n \"id\": \"7702217\",\r\n \"@referredType\": \"Customers\",\r\n \"IDType\": 0\r\n }\r\n ],\r\n \"domain\": \"ocs\",\r\n \"eventTime\": \"2024-06-26T14:48:51.707\",\r\n \"eventType\": \"RatingUnion.PercentOverlimit.Event\",\r\n \"priority\": \"Normal\",\r\n \"timeOccurred\": \"2024-06-26T14:53:43.26\",\r\n \"title\": \"\",\r\n \"event\": {\r\n \"alarm\": {\r\n \"analyticCharacteristic\": [\r\n {\r\n \"id\": \"DateFrom\",\r\n \"name\": \"DateFrom\",\r\n \"valueType\": \"string\",\r\n \"value\": \"2024-06-26T00:00:00\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"DateTo\",\r\n \"name\": \"DateTo\",\r\n \"valueType\": \"string\",\r\n \"value\": \"2024-07-25T23:59:59.997\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"dnm_id\",\r\n \"name\": \"DynamicType\",\r\n \"valueType\": \"string\",\r\n \"value\": \"199\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"EventDate\",\r\n \"name\": \"EventDate\",\r\n \"valueType\": \"string\",\r\n \"value\": \"2024-06-26T14:48:51.687\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"ext_id\",\r\n \"name\": \"Extention_ID\",\r\n \"valueType\": \"string\",\r\n \"value\": \"7892672\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"LimitTotalVolume\",\r\n \"name\": \"LimitTotalVolume\",\r\n \"valueType\": \"string\",\r\n \"value\": \"1048576000\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"LimitVolumeByUnion\",\r\n \"name\": \"LimitVolumeByUnion\",\r\n \"valueType\": \"string\",\r\n \"value\": \"1048576000\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"OriginLimitTotalVolume\",\r\n \"name\": \"OriginLimitTotalVolume\",\r\n \"valueType\": \"string\",\r\n \"value\": \"0\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"idTariffPlan\",\r\n \"name\": \"PackageId\",\r\n \"valueType\": \"string\",\r\n \"value\": \"6195\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"PackageIdLimit\",\r\n \"name\": \"PackageIdLimit\",\r\n \"valueType\": \"string\",\r\n \"value\": \"6229\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"PackageOverrideID\",\r\n \"name\": \"PackageOverrideID\",\r\n \"valueType\": \"string\",\r\n \"value\": \"6229\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"abn_id\",\r\n \"name\": \"Subscriber_ID\",\r\n \"valueType\": \"string\",\r\n \"value\": \"7702390\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"TotalVolume\",\r\n \"name\": \"TotalVolume\",\r\n \"valueType\": \"string\",\r\n \"value\": \"104857600\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"TotalVolumeByUnion\",\r\n \"name\": \"TotalVolumeByUnion\",\r\n \"valueType\": \"string\",\r\n \"value\": \"104857600\",\r\n \"@type\": \"Characteristic\"\r\n }\r\n ],\r\n \"crossedThresholdInformation\": {\r\n \"observedValue\": \"20.0\",\r\n \"threshold\": {\r\n \"@type\": \"ThresholdRef\",\r\n \"id\": \"Percent\"\r\n },\r\n \"direction\": \"up\"\r\n },\r\n \"@type\": \"alarm\",\r\n \"alarmType\": \"QualityOfServiceAlarm\",\r\n \"id\": \"162\",\r\n \"perceivedSeverity\": \"warning\",\r\n \"probableCause\": \"Threshold crossed\",\r\n \"serviceAffecting\": true,\r\n \"specificProblem\": \"Topic threshold crossed\",\r\n \"state\": \"raised\",\r\n \"affectedService\": [\r\n {\r\n \"id\": \"01-7702390\"\r\n },\r\n {\r\n \"id\": \"02-55\"\r\n }\r\n ]\r\n }\r\n },\r\n \"id\": \"403\"\r\n},\n{\r\n \"periodCoverage\": {\r\n \"endDateTime\": \"2025-06-01T00:00:00\",\r\n \"startDateTime\": \"2021-04-30T23:59:59.997\"\r\n },\r\n \"relatedParty\": [\r\n {\r\n \"id\": \"7702217\",\r\n \"@referredType\": \"Customers\",\r\n \"IDType\": 0\r\n }\r\n ],\r\n \"domain\": \"ocs\",\r\n \"eventTime\": \"2024-06-26T14:48:51.707\",\r\n \"eventType\": \"RatingUnion.PercentOverlimit.Event\",\r\n \"priority\": \"Normal\",\r\n \"timeOccurred\": \"2024-06-26T15:13:29.567\",\r\n \"title\": \"\",\r\n \"event\": {\r\n \"alarm\": {\r\n \"analyticCharacteristic\": [\r\n {\r\n \"id\": \"DateFrom\",\r\n \"name\": \"DateFrom\",\r\n \"valueType\": \"string\",\r\n \"value\": \"2024-06-26T00:00:00\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"DateTo\",\r\n \"name\": \"DateTo\",\r\n \"valueType\": \"string\",\r\n \"value\": \"2024-07-25T23:59:59.997\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"dnm_id\",\r\n \"name\": \"DynamicType\",\r\n \"valueType\": \"string\",\r\n \"value\": \"199\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"EventDate\",\r\n \"name\": \"EventDate\",\r\n \"valueType\": \"string\",\r\n \"value\": \"2024-06-26T14:48:51.687\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"ext_id\",\r\n \"name\": \"Extention_ID\",\r\n \"valueType\": \"string\",\r\n \"value\": \"7892672\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"LimitTotalVolume\",\r\n \"name\": \"LimitTotalVolume\",\r\n \"valueType\": \"string\",\r\n \"value\": \"1048576000\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"LimitVolumeByUnion\",\r\n \"name\": \"LimitVolumeByUnion\",\r\n \"valueType\": \"string\",\r\n \"value\": \"1048576000\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"OriginLimitTotalVolume\",\r\n \"name\": \"OriginLimitTotalVolume\",\r\n \"valueType\": \"string\",\r\n \"value\": \"0\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"idTariffPlan\",\r\n \"name\": \"PackageId\",\r\n \"valueType\": \"string\",\r\n \"value\": \"6195\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"PackageIdLimit\",\r\n \"name\": \"PackageIdLimit\",\r\n \"valueType\": \"string\",\r\n \"value\": \"6229\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"PackageOverrideID\",\r\n \"name\": \"PackageOverrideID\",\r\n \"valueType\": \"string\",\r\n \"value\": \"6229\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"abn_id\",\r\n \"name\": \"Subscriber_ID\",\r\n \"valueType\": \"string\",\r\n \"value\": \"7702390\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"TotalVolume\",\r\n \"name\": \"TotalVolume\",\r\n \"valueType\": \"string\",\r\n \"value\": \"104857600\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"TotalVolumeByUnion\",\r\n \"name\": \"TotalVolumeByUnion\",\r\n \"valueType\": \"string\",\r\n \"value\": \"104857600\",\r\n \"@type\": \"Characteristic\"\r\n }\r\n ],\r\n \"crossedThresholdInformation\": {\r\n \"observedValue\": \"20.0\",\r\n \"threshold\": {\r\n \"@type\": \"ThresholdRef\",\r\n \"id\": \"Percent\"\r\n },\r\n \"direction\": \"up\"\r\n },\r\n \"@type\": \"alarm\",\r\n \"alarmType\": \"QualityOfServiceAlarm\",\r\n \"id\": \"162\",\r\n \"perceivedSeverity\": \"warning\",\r\n \"probableCause\": \"Threshold crossed\",\r\n \"serviceAffecting\": true,\r\n \"specificProblem\": \"Topic threshold crossed\",\r\n \"state\": \"raised\",\r\n \"affectedService\": [\r\n {\r\n \"id\": \"01-7702390\"\r\n },\r\n {\r\n \"id\": \"02-55\"\r\n }\r\n ]\r\n }\r\n },\r\n \"id\": \"404\"\r\n},\n{\r\n \"periodCoverage\": {\r\n \"endDateTime\": \"2025-06-01T00:00:00\",\r\n \"startDateTime\": \"2021-04-30T23:59:59.997\"\r\n },\r\n \"relatedParty\": [\r\n {\r\n \"id\": \"7702217\",\r\n \"@referredType\": \"Customers\",\r\n \"IDType\": 0\r\n }\r\n ],\r\n \"domain\": \"ocs\",\r\n \"eventTime\": \"2024-02-15T17:08:14.14\",\r\n \"eventType\": \"M2M.Test.Off\",\r\n \"priority\": \"Normal\",\r\n \"timeOccurred\": \"2024-02-16T15:18:50.66\",\r\n \"title\": \"M2M.Test.Off-6316.OwnRule\",\r\n \"event\": {\r\n \"alarm\": {\r\n \"analyticCharacteristic\": [\r\n {\r\n \"id\": \"dnm_id\",\r\n \"name\": \"DynamicType\",\r\n \"valueType\": \"string\",\r\n \"value\": \"204\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"ext_id\",\r\n \"name\": \"Extention_ID\",\r\n \"valueType\": \"string\",\r\n \"value\": \"7892664\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"LimitTotalVolume\",\r\n \"name\": \"LimitTotalVolume\",\r\n \"valueType\": \"string\",\r\n \"value\": \"60\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"idTariffPlan\",\r\n \"name\": \"PackageId\",\r\n \"valueType\": \"string\",\r\n \"value\": \"6316\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"PackageIdLimit\",\r\n \"name\": \"PackageIdLimit\",\r\n \"valueType\": \"string\",\r\n \"value\": \"6316\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"abn_id\",\r\n \"name\": \"Subscriber_ID\",\r\n \"valueType\": \"string\",\r\n \"value\": \"7702257\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"TotalVolume\",\r\n \"name\": \"TotalVolume\",\r\n \"valueType\": \"string\",\r\n \"value\": \"60\",\r\n \"@type\": \"Characteristic\"\r\n }\r\n ],\r\n \"crossedThresholdInformation\": {\r\n \"observedValue\": \"100.0\",\r\n \"threshold\": {\r\n \"@type\": \"ThresholdRef\",\r\n \"id\": \"Percent\"\r\n },\r\n \"direction\": \"up\"\r\n },\r\n \"@type\": \"alarm\",\r\n \"alarmType\": \"QualityOfServiceAlarm\",\r\n \"id\": \"26\",\r\n \"perceivedSeverity\": \"warning\",\r\n \"probableCause\": \"Threshold crossed\",\r\n \"serviceAffecting\": true,\r\n \"specificProblem\": \"Topic M2M.Test.Off-6316.OwnRule threshold crossed\",\r\n \"state\": \"raised\",\r\n \"affectedService\": [\r\n {\r\n \"id\": \"01-7702257\"\r\n },\r\n {\r\n \"id\": \"02-20\"\r\n }\r\n ]\r\n }\r\n },\r\n \"id\": \"122\"\r\n},\n{\r\n \"periodCoverage\": {\r\n \"endDateTime\": \"2025-06-01T00:00:00\",\r\n \"startDateTime\": \"2021-04-30T23:59:59.997\"\r\n },\r\n \"relatedParty\": [\r\n {\r\n \"id\": \"7702217\",\r\n \"@referredType\": \"Customers\",\r\n \"IDType\": 0\r\n }\r\n ],\r\n \"domain\": \"ocs\",\r\n \"eventTime\": \"2024-02-15T17:08:14.14\",\r\n \"eventType\": \"M2M.Test.Off\",\r\n \"priority\": \"Normal\",\r\n \"timeOccurred\": \"2024-02-16T15:28:19.25\",\r\n \"title\": \"M2M.Test.Off-6316.OwnRule\",\r\n \"event\": {\r\n \"alarm\": {\r\n \"analyticCharacteristic\": [\r\n {\r\n \"id\": \"dnm_id\",\r\n \"name\": \"DynamicType\",\r\n \"valueType\": \"string\",\r\n \"value\": \"204\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"ext_id\",\r\n \"name\": \"Extention_ID\",\r\n \"valueType\": \"string\",\r\n \"value\": \"7892664\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"LimitTotalVolume\",\r\n \"name\": \"LimitTotalVolume\",\r\n \"valueType\": \"string\",\r\n \"value\": \"60\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"idTariffPlan\",\r\n \"name\": \"PackageId\",\r\n \"valueType\": \"string\",\r\n \"value\": \"6316\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"PackageIdLimit\",\r\n \"name\": \"PackageIdLimit\",\r\n \"valueType\": \"string\",\r\n \"value\": \"6316\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"abn_id\",\r\n \"name\": \"Subscriber_ID\",\r\n \"valueType\": \"string\",\r\n \"value\": \"7702257\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"TotalVolume\",\r\n \"name\": \"TotalVolume\",\r\n \"valueType\": \"string\",\r\n \"value\": \"60\",\r\n \"@type\": \"Characteristic\"\r\n }\r\n ],\r\n \"crossedThresholdInformation\": {\r\n \"observedValue\": \"100.0\",\r\n \"threshold\": {\r\n \"@type\": \"ThresholdRef\",\r\n \"id\": \"Percent\"\r\n },\r\n \"direction\": \"up\"\r\n },\r\n \"@type\": \"alarm\",\r\n \"alarmType\": \"QualityOfServiceAlarm\",\r\n \"id\": \"26\",\r\n \"perceivedSeverity\": \"warning\",\r\n \"probableCause\": \"Threshold crossed\",\r\n \"serviceAffecting\": true,\r\n \"specificProblem\": \"Topic M2M.Test.Off-6316.OwnRule threshold crossed\",\r\n \"state\": \"raised\",\r\n \"affectedService\": [\r\n {\r\n \"id\": \"01-7702257\"\r\n },\r\n {\r\n \"id\": \"02-20\"\r\n }\r\n ]\r\n }\r\n },\r\n \"id\": \"131\"\r\n}\r\n]\r\n" - } - ] + ] }, { - "name": "Find Event by Customer and type", - "request": { - "auth": { - "type": "basic", - "basic": [ - { - "key": "username", - "value": "login", - "type": "string" - }, - { - "key": "password", - "value": "{{auth_password_0yol}}", - "type": "string" - } - ] - }, - "method": "GET", - "header": [ - { - "key": "Accept", - "value": "application/json;charset=utf-8" - }, - { - "key": "Content-Type", - "value": "application/json;charset=utf-8" - }, - { - "key": "x-ms-client-request-id", - "value": "20412345678903142363734", - "disabled": true - }, - { - "key": "Accept-Language", - "value": "en" - } - ], - "url": { - "raw": "{{API}}/api/v2/tmf/event/event?limit=5&offset=0&periodCoverage.startDateTime=2024-06-26T00%3A10%3A00.000&periodCoverage.endDateTime=2024-06-26T23%3A19%3A00.000&eventType=RatingUnion.PercentOverlimit.Event&relatedParty%5B0%5D.id=%7B%7Bcustomer-id%7D%7D&relatedParty%5B0%5D.%40referredType=Customers&relatedParty%5B0%5D.IDType=0&periodCoverage=%7B%22startDateTime%22%3A%222024-06-26T00%3A10%3A00.000%22%2C%22endDateTime%22%3A%222024-06-26T23%3A19%3A00.00%22%7D&relatedParty=%5B%7B%22id%22%3A%20%227702217%22%2C%22%40referredType%22%3A%20%22Customers%22%2C%22IDType%22%3A%200%7D%5D", - "host": [ - "{{API}}" - ], - "path": [ - "api", - "v2", - "tmf", - "event", - "event" - ], - "query": [ - { - "key": "limit", - "value": "5" - }, - { - "key": "offset", - "value": "0" - }, - { - "key": "periodCoverage.startDateTime", - "value": "2024-06-26T00%3A10%3A00.000" - }, - { - "key": "periodCoverage.endDateTime", - "value": "2024-06-26T23%3A19%3A00.000" - }, - { - "key": "eventType", - "value": "RatingUnion.PercentOverlimit.Event" - }, - { - "key": "relatedParty%5B0%5D.id", - "value": "%7B%7Bcustomer-id%7D%7D" - }, - { - "key": "relatedParty%5B0%5D.%40referredType", - "value": "Customers" - }, - { - "key": "relatedParty%5B0%5D.IDType", - "value": "0" - }, - { - "key": "periodCoverage", - "value": "%7B%22startDateTime%22%3A%222024-06-26T00%3A10%3A00.000%22%2C%22endDateTime%22%3A%222024-06-26T23%3A19%3A00.00%22%7D" - }, - { - "key": "relatedParty", - "value": "%5B%7B%22id%22%3A%20%227702217%22%2C%22%40referredType%22%3A%20%22Customers%22%2C%22IDType%22%3A%200%7D%5D" - } - ] - } - }, - "response": [ - { - "name": "200 OK", - "originalRequest": { - "method": "GET", - "header": [ - { - "key": "Accept", - "value": "application/json;charset=utf-8" - }, - { - "key": "Content-Type", - "value": "application/json;charset=utf-8" - }, - { - "key": "x-ms-client-request-id", - "value": "20412345678903142363734", - "disabled": true - }, - { - "key": "Accept-Language", - "value": "en" - } - ], - "url": { - "raw": "{{API}}/api/v2/tmf/event/event?limit=5&offset=0&periodCoverage={\"startDateTime\":\"2024-06-26T00:10:00.000\",\"endDateTime\":\"2024-06-26T23:19:00.00\"}&eventType=\"RatingUnion.PercentOverlimit.Event\"&relatedParty=[{\"id\": \"7702217\",\"@referredType\": \"Customers\",\"IDType\": 0}]", - "host": [ - "{{API}}" - ], - "path": [ - "api", - "v2", - "tmf", - "event", - "event" - ], - "query": [ - { - "key": "limit", - "value": "5" + "name": "Event", + "item": [ + { + "name": "Find Event by Period", + "request": { + "auth": { + "type": "basic", + "basic": [ + { + "key": "username", + "value": "login", + "type": "string" + }, + { + "key": "password", + "value": "{{auth_password_0yol}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [ + { + "key": "Accept", + "value": "application/json;charset=utf-8" + }, + { + "key": "Content-Type", + "value": "application/json;charset=utf-8" + }, + { + "key": "Accept-Language", + "value": "en" + } + ], + "url": { + "raw": "{{API}}/api/v2/tmf/event/event?limit=5&offset=0&periodCoverage.startDateTime=2021-04-30T23:59:59.997&periodCoverage.endDateTime=2025-06-01T00:00:00.000", + "host": [ + "{{API}}" + ], + "path": [ + "api", + "v2", + "tmf", + "event", + "event" + ], + "query": [ + { + "key": "limit", + "value": "5" + }, + { + "key": "offset", + "value": "0" + }, + { + "key": "periodCoverage.startDateTime", + "value": "2021-04-30T23:59:59.997" + }, + { + "key": "periodCoverage.endDateTime", + "value": "2025-06-01T00:00:00.000" + } + ] + } }, - { - "key": "offset", - "value": "0" + "response": [ + { + "name": "Particial Events by Period", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "Accept", + "value": "application/json;charset=utf-8" + }, + { + "key": "Content-Type", + "value": "application/json;charset=utf-8" + }, + { + "key": "x-ms-client-request-id", + "value": "20412345678903142363734", + "disabled": true + }, + { + "key": "Accept-Language", + "value": "en" + } + ], + "url": { + "raw": "{{API}}/api/v2/tmf/event/event?limit=5&offset=0&periodCoverage={\"startDateTime\":\"2021-04-30T23:59:59.997\",\"endDateTime\":\"2025-06-01T00:00:00.000\"}", + "host": [ + "{{API}}" + ], + "path": [ + "api", + "v2", + "tmf", + "event", + "event" + ], + "query": [ + { + "key": "limit", + "value": "5" + }, + { + "key": "offset", + "value": "0" + }, + { + "key": "periodCoverage", + "value": "{\"startDateTime\":\"2021-04-30T23:59:59.997\",\"endDateTime\":\"2025-06-01T00:00:00.000\"}" + } + ] + } + }, + "status": "Partial Content", + "code": 206, + "_postman_previewlanguage": "plain", + "header": [ + { + "key": "Transfer-Encoding", + "value": "chunked" + }, + { + "key": "Content-Type", + "value": "text/plain; charset=utf-8" + }, + { + "key": "Content-Encoding", + "value": "gzip" + }, + { + "key": "Content-Range", + "value": "items 1-5/32" + }, + { + "key": "Vary", + "value": "Accept-Encoding" + }, + { + "key": "Accept-Language", + "value": "en" + }, + { + "key": "x-ms-client-request-id", + "value": "776caca9-49ed-4777-b8aa-d114f958" + }, + { + "key": "X-Total-Count", + "value": "32" + }, + { + "key": "X-Page-Count", + "value": "7" + }, + { + "key": "cacheStatus", + "value": "Added" + }, + { + "key": "Access-Control-Allow-Methods", + "value": "GET, PUT, POST, DELETE, OPTIONS, HEAD" + }, + { + "key": "Access-Control-Allow-Headers", + "value": "Authorization,Pragma,Cache-control,Content-type" + }, + { + "key": "Access-Control-Allow-Credentials", + "value": "true" + }, + { + "key": "Date", + "value": "Wed, 26 Jun 2024 12:52:14 GMT" + } + ], + "cookie": [], + "body": "[\r\n{\r\n \"periodCoverage\": {\r\n \"endDateTime\": \"2025-06-01T00:00:00\",\r\n \"startDateTime\": \"2021-04-30T23:59:59.997\"\r\n },\r\n \"relatedParty\": [\r\n {\r\n \"id\": \"7702217\",\r\n \"@referredType\": \"Customers\",\r\n \"IDType\": 0\r\n }\r\n ],\r\n \"domain\": \"ocs\",\r\n \"eventTime\": \"2024-06-26T14:48:51.707\",\r\n \"eventType\": \"RatingUnion.PercentOverlimit.Event\",\r\n \"priority\": \"Normal\",\r\n \"timeOccurred\": \"2024-06-26T14:49:43.017\",\r\n \"title\": \"\",\r\n \"event\": {\r\n \"alarm\": {\r\n \"analyticCharacteristic\": [\r\n {\r\n \"id\": \"DateFrom\",\r\n \"name\": \"DateFrom\",\r\n \"valueType\": \"string\",\r\n \"value\": \"2024-06-26T00:00:00\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"DateTo\",\r\n \"name\": \"DateTo\",\r\n \"valueType\": \"string\",\r\n \"value\": \"2024-07-25T23:59:59.997\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"dnm_id\",\r\n \"name\": \"DynamicType\",\r\n \"valueType\": \"string\",\r\n \"value\": \"199\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"EventDate\",\r\n \"name\": \"EventDate\",\r\n \"valueType\": \"string\",\r\n \"value\": \"2024-06-26T14:48:51.687\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"ext_id\",\r\n \"name\": \"Extention_ID\",\r\n \"valueType\": \"string\",\r\n \"value\": \"7892672\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"LimitTotalVolume\",\r\n \"name\": \"LimitTotalVolume\",\r\n \"valueType\": \"string\",\r\n \"value\": \"1048576000\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"LimitVolumeByUnion\",\r\n \"name\": \"LimitVolumeByUnion\",\r\n \"valueType\": \"string\",\r\n \"value\": \"1048576000\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"OriginLimitTotalVolume\",\r\n \"name\": \"OriginLimitTotalVolume\",\r\n \"valueType\": \"string\",\r\n \"value\": \"0\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"idTariffPlan\",\r\n \"name\": \"PackageId\",\r\n \"valueType\": \"string\",\r\n \"value\": \"6195\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"PackageIdLimit\",\r\n \"name\": \"PackageIdLimit\",\r\n \"valueType\": \"string\",\r\n \"value\": \"6229\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"PackageOverrideID\",\r\n \"name\": \"PackageOverrideID\",\r\n \"valueType\": \"string\",\r\n \"value\": \"6229\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"abn_id\",\r\n \"name\": \"Subscriber_ID\",\r\n \"valueType\": \"string\",\r\n \"value\": \"7702390\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"TotalVolume\",\r\n \"name\": \"TotalVolume\",\r\n \"valueType\": \"string\",\r\n \"value\": \"104857600\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"TotalVolumeByUnion\",\r\n \"name\": \"TotalVolumeByUnion\",\r\n \"valueType\": \"string\",\r\n \"value\": \"104857600\",\r\n \"@type\": \"Characteristic\"\r\n }\r\n ],\r\n \"crossedThresholdInformation\": {\r\n \"observedValue\": \"20.0\",\r\n \"threshold\": {\r\n \"@type\": \"ThresholdRef\",\r\n \"id\": \"Percent\"\r\n },\r\n \"direction\": \"up\"\r\n },\r\n \"@type\": \"alarm\",\r\n \"alarmType\": \"QualityOfServiceAlarm\",\r\n \"id\": \"162\",\r\n \"perceivedSeverity\": \"warning\",\r\n \"probableCause\": \"Threshold crossed\",\r\n \"serviceAffecting\": true,\r\n \"specificProblem\": \"Topic threshold crossed\",\r\n \"state\": \"raised\",\r\n \"affectedService\": [\r\n {\r\n \"id\": \"01-7702390\"\r\n },\r\n {\r\n \"id\": \"02-55\"\r\n }\r\n ]\r\n }\r\n },\r\n \"id\": \"402\"\r\n},\n{\r\n \"periodCoverage\": {\r\n \"endDateTime\": \"2025-06-01T00:00:00\",\r\n \"startDateTime\": \"2021-04-30T23:59:59.997\"\r\n },\r\n \"relatedParty\": [\r\n {\r\n \"id\": \"7702217\",\r\n \"@referredType\": \"Customers\",\r\n \"IDType\": 0\r\n }\r\n ],\r\n \"domain\": \"ocs\",\r\n \"eventTime\": \"2024-06-26T14:48:51.707\",\r\n \"eventType\": \"RatingUnion.PercentOverlimit.Event\",\r\n \"priority\": \"Normal\",\r\n \"timeOccurred\": \"2024-06-26T14:53:43.26\",\r\n \"title\": \"\",\r\n \"event\": {\r\n \"alarm\": {\r\n \"analyticCharacteristic\": [\r\n {\r\n \"id\": \"DateFrom\",\r\n \"name\": \"DateFrom\",\r\n \"valueType\": \"string\",\r\n \"value\": \"2024-06-26T00:00:00\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"DateTo\",\r\n \"name\": \"DateTo\",\r\n \"valueType\": \"string\",\r\n \"value\": \"2024-07-25T23:59:59.997\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"dnm_id\",\r\n \"name\": \"DynamicType\",\r\n \"valueType\": \"string\",\r\n \"value\": \"199\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"EventDate\",\r\n \"name\": \"EventDate\",\r\n \"valueType\": \"string\",\r\n \"value\": \"2024-06-26T14:48:51.687\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"ext_id\",\r\n \"name\": \"Extention_ID\",\r\n \"valueType\": \"string\",\r\n \"value\": \"7892672\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"LimitTotalVolume\",\r\n \"name\": \"LimitTotalVolume\",\r\n \"valueType\": \"string\",\r\n \"value\": \"1048576000\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"LimitVolumeByUnion\",\r\n \"name\": \"LimitVolumeByUnion\",\r\n \"valueType\": \"string\",\r\n \"value\": \"1048576000\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"OriginLimitTotalVolume\",\r\n \"name\": \"OriginLimitTotalVolume\",\r\n \"valueType\": \"string\",\r\n \"value\": \"0\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"idTariffPlan\",\r\n \"name\": \"PackageId\",\r\n \"valueType\": \"string\",\r\n \"value\": \"6195\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"PackageIdLimit\",\r\n \"name\": \"PackageIdLimit\",\r\n \"valueType\": \"string\",\r\n \"value\": \"6229\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"PackageOverrideID\",\r\n \"name\": \"PackageOverrideID\",\r\n \"valueType\": \"string\",\r\n \"value\": \"6229\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"abn_id\",\r\n \"name\": \"Subscriber_ID\",\r\n \"valueType\": \"string\",\r\n \"value\": \"7702390\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"TotalVolume\",\r\n \"name\": \"TotalVolume\",\r\n \"valueType\": \"string\",\r\n \"value\": \"104857600\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"TotalVolumeByUnion\",\r\n \"name\": \"TotalVolumeByUnion\",\r\n \"valueType\": \"string\",\r\n \"value\": \"104857600\",\r\n \"@type\": \"Characteristic\"\r\n }\r\n ],\r\n \"crossedThresholdInformation\": {\r\n \"observedValue\": \"20.0\",\r\n \"threshold\": {\r\n \"@type\": \"ThresholdRef\",\r\n \"id\": \"Percent\"\r\n },\r\n \"direction\": \"up\"\r\n },\r\n \"@type\": \"alarm\",\r\n \"alarmType\": \"QualityOfServiceAlarm\",\r\n \"id\": \"162\",\r\n \"perceivedSeverity\": \"warning\",\r\n \"probableCause\": \"Threshold crossed\",\r\n \"serviceAffecting\": true,\r\n \"specificProblem\": \"Topic threshold crossed\",\r\n \"state\": \"raised\",\r\n \"affectedService\": [\r\n {\r\n \"id\": \"01-7702390\"\r\n },\r\n {\r\n \"id\": \"02-55\"\r\n }\r\n ]\r\n }\r\n },\r\n \"id\": \"403\"\r\n},\n{\r\n \"periodCoverage\": {\r\n \"endDateTime\": \"2025-06-01T00:00:00\",\r\n \"startDateTime\": \"2021-04-30T23:59:59.997\"\r\n },\r\n \"relatedParty\": [\r\n {\r\n \"id\": \"7702217\",\r\n \"@referredType\": \"Customers\",\r\n \"IDType\": 0\r\n }\r\n ],\r\n \"domain\": \"ocs\",\r\n \"eventTime\": \"2024-06-26T14:48:51.707\",\r\n \"eventType\": \"RatingUnion.PercentOverlimit.Event\",\r\n \"priority\": \"Normal\",\r\n \"timeOccurred\": \"2024-06-26T15:13:29.567\",\r\n \"title\": \"\",\r\n \"event\": {\r\n \"alarm\": {\r\n \"analyticCharacteristic\": [\r\n {\r\n \"id\": \"DateFrom\",\r\n \"name\": \"DateFrom\",\r\n \"valueType\": \"string\",\r\n \"value\": \"2024-06-26T00:00:00\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"DateTo\",\r\n \"name\": \"DateTo\",\r\n \"valueType\": \"string\",\r\n \"value\": \"2024-07-25T23:59:59.997\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"dnm_id\",\r\n \"name\": \"DynamicType\",\r\n \"valueType\": \"string\",\r\n \"value\": \"199\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"EventDate\",\r\n \"name\": \"EventDate\",\r\n \"valueType\": \"string\",\r\n \"value\": \"2024-06-26T14:48:51.687\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"ext_id\",\r\n \"name\": \"Extention_ID\",\r\n \"valueType\": \"string\",\r\n \"value\": \"7892672\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"LimitTotalVolume\",\r\n \"name\": \"LimitTotalVolume\",\r\n \"valueType\": \"string\",\r\n \"value\": \"1048576000\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"LimitVolumeByUnion\",\r\n \"name\": \"LimitVolumeByUnion\",\r\n \"valueType\": \"string\",\r\n \"value\": \"1048576000\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"OriginLimitTotalVolume\",\r\n \"name\": \"OriginLimitTotalVolume\",\r\n \"valueType\": \"string\",\r\n \"value\": \"0\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"idTariffPlan\",\r\n \"name\": \"PackageId\",\r\n \"valueType\": \"string\",\r\n \"value\": \"6195\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"PackageIdLimit\",\r\n \"name\": \"PackageIdLimit\",\r\n \"valueType\": \"string\",\r\n \"value\": \"6229\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"PackageOverrideID\",\r\n \"name\": \"PackageOverrideID\",\r\n \"valueType\": \"string\",\r\n \"value\": \"6229\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"abn_id\",\r\n \"name\": \"Subscriber_ID\",\r\n \"valueType\": \"string\",\r\n \"value\": \"7702390\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"TotalVolume\",\r\n \"name\": \"TotalVolume\",\r\n \"valueType\": \"string\",\r\n \"value\": \"104857600\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"TotalVolumeByUnion\",\r\n \"name\": \"TotalVolumeByUnion\",\r\n \"valueType\": \"string\",\r\n \"value\": \"104857600\",\r\n \"@type\": \"Characteristic\"\r\n }\r\n ],\r\n \"crossedThresholdInformation\": {\r\n \"observedValue\": \"20.0\",\r\n \"threshold\": {\r\n \"@type\": \"ThresholdRef\",\r\n \"id\": \"Percent\"\r\n },\r\n \"direction\": \"up\"\r\n },\r\n \"@type\": \"alarm\",\r\n \"alarmType\": \"QualityOfServiceAlarm\",\r\n \"id\": \"162\",\r\n \"perceivedSeverity\": \"warning\",\r\n \"probableCause\": \"Threshold crossed\",\r\n \"serviceAffecting\": true,\r\n \"specificProblem\": \"Topic threshold crossed\",\r\n \"state\": \"raised\",\r\n \"affectedService\": [\r\n {\r\n \"id\": \"01-7702390\"\r\n },\r\n {\r\n \"id\": \"02-55\"\r\n }\r\n ]\r\n }\r\n },\r\n \"id\": \"404\"\r\n},\n{\r\n \"periodCoverage\": {\r\n \"endDateTime\": \"2025-06-01T00:00:00\",\r\n \"startDateTime\": \"2021-04-30T23:59:59.997\"\r\n },\r\n \"relatedParty\": [\r\n {\r\n \"id\": \"7702217\",\r\n \"@referredType\": \"Customers\",\r\n \"IDType\": 0\r\n }\r\n ],\r\n \"domain\": \"ocs\",\r\n \"eventTime\": \"2024-02-15T17:08:14.14\",\r\n \"eventType\": \"M2M.Test.Off\",\r\n \"priority\": \"Normal\",\r\n \"timeOccurred\": \"2024-02-16T15:18:50.66\",\r\n \"title\": \"M2M.Test.Off-6316.OwnRule\",\r\n \"event\": {\r\n \"alarm\": {\r\n \"analyticCharacteristic\": [\r\n {\r\n \"id\": \"dnm_id\",\r\n \"name\": \"DynamicType\",\r\n \"valueType\": \"string\",\r\n \"value\": \"204\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"ext_id\",\r\n \"name\": \"Extention_ID\",\r\n \"valueType\": \"string\",\r\n \"value\": \"7892664\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"LimitTotalVolume\",\r\n \"name\": \"LimitTotalVolume\",\r\n \"valueType\": \"string\",\r\n \"value\": \"60\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"idTariffPlan\",\r\n \"name\": \"PackageId\",\r\n \"valueType\": \"string\",\r\n \"value\": \"6316\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"PackageIdLimit\",\r\n \"name\": \"PackageIdLimit\",\r\n \"valueType\": \"string\",\r\n \"value\": \"6316\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"abn_id\",\r\n \"name\": \"Subscriber_ID\",\r\n \"valueType\": \"string\",\r\n \"value\": \"7702257\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"TotalVolume\",\r\n \"name\": \"TotalVolume\",\r\n \"valueType\": \"string\",\r\n \"value\": \"60\",\r\n \"@type\": \"Characteristic\"\r\n }\r\n ],\r\n \"crossedThresholdInformation\": {\r\n \"observedValue\": \"100.0\",\r\n \"threshold\": {\r\n \"@type\": \"ThresholdRef\",\r\n \"id\": \"Percent\"\r\n },\r\n \"direction\": \"up\"\r\n },\r\n \"@type\": \"alarm\",\r\n \"alarmType\": \"QualityOfServiceAlarm\",\r\n \"id\": \"26\",\r\n \"perceivedSeverity\": \"warning\",\r\n \"probableCause\": \"Threshold crossed\",\r\n \"serviceAffecting\": true,\r\n \"specificProblem\": \"Topic M2M.Test.Off-6316.OwnRule threshold crossed\",\r\n \"state\": \"raised\",\r\n \"affectedService\": [\r\n {\r\n \"id\": \"01-7702257\"\r\n },\r\n {\r\n \"id\": \"02-20\"\r\n }\r\n ]\r\n }\r\n },\r\n \"id\": \"122\"\r\n},\n{\r\n \"periodCoverage\": {\r\n \"endDateTime\": \"2025-06-01T00:00:00\",\r\n \"startDateTime\": \"2021-04-30T23:59:59.997\"\r\n },\r\n \"relatedParty\": [\r\n {\r\n \"id\": \"7702217\",\r\n \"@referredType\": \"Customers\",\r\n \"IDType\": 0\r\n }\r\n ],\r\n \"domain\": \"ocs\",\r\n \"eventTime\": \"2024-02-15T17:08:14.14\",\r\n \"eventType\": \"M2M.Test.Off\",\r\n \"priority\": \"Normal\",\r\n \"timeOccurred\": \"2024-02-16T15:28:19.25\",\r\n \"title\": \"M2M.Test.Off-6316.OwnRule\",\r\n \"event\": {\r\n \"alarm\": {\r\n \"analyticCharacteristic\": [\r\n {\r\n \"id\": \"dnm_id\",\r\n \"name\": \"DynamicType\",\r\n \"valueType\": \"string\",\r\n \"value\": \"204\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"ext_id\",\r\n \"name\": \"Extention_ID\",\r\n \"valueType\": \"string\",\r\n \"value\": \"7892664\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"LimitTotalVolume\",\r\n \"name\": \"LimitTotalVolume\",\r\n \"valueType\": \"string\",\r\n \"value\": \"60\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"idTariffPlan\",\r\n \"name\": \"PackageId\",\r\n \"valueType\": \"string\",\r\n \"value\": \"6316\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"PackageIdLimit\",\r\n \"name\": \"PackageIdLimit\",\r\n \"valueType\": \"string\",\r\n \"value\": \"6316\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"abn_id\",\r\n \"name\": \"Subscriber_ID\",\r\n \"valueType\": \"string\",\r\n \"value\": \"7702257\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"TotalVolume\",\r\n \"name\": \"TotalVolume\",\r\n \"valueType\": \"string\",\r\n \"value\": \"60\",\r\n \"@type\": \"Characteristic\"\r\n }\r\n ],\r\n \"crossedThresholdInformation\": {\r\n \"observedValue\": \"100.0\",\r\n \"threshold\": {\r\n \"@type\": \"ThresholdRef\",\r\n \"id\": \"Percent\"\r\n },\r\n \"direction\": \"up\"\r\n },\r\n \"@type\": \"alarm\",\r\n \"alarmType\": \"QualityOfServiceAlarm\",\r\n \"id\": \"26\",\r\n \"perceivedSeverity\": \"warning\",\r\n \"probableCause\": \"Threshold crossed\",\r\n \"serviceAffecting\": true,\r\n \"specificProblem\": \"Topic M2M.Test.Off-6316.OwnRule threshold crossed\",\r\n \"state\": \"raised\",\r\n \"affectedService\": [\r\n {\r\n \"id\": \"01-7702257\"\r\n },\r\n {\r\n \"id\": \"02-20\"\r\n }\r\n ]\r\n }\r\n },\r\n \"id\": \"131\"\r\n}\r\n]\r\n" + } + ] + }, + { + "name": "Find Event by Customer and type", + "request": { + "auth": { + "type": "basic", + "basic": [ + { + "key": "username", + "value": "login", + "type": "string" + }, + { + "key": "password", + "value": "{{auth_password_0yol}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [ + { + "key": "Accept", + "value": "application/json;charset=utf-8" + }, + { + "key": "Content-Type", + "value": "application/json;charset=utf-8" + }, + { + "key": "x-ms-client-request-id", + "value": "20412345678903142363734", + "disabled": true + }, + { + "key": "Accept-Language", + "value": "en" + } + ], + "url": { + "raw": "{{API}}/api/v2/tmf/event/event?limit=5&offset=0&periodCoverage.startDateTime=2024-06-26T00%3A10%3A00.000&periodCoverage.endDateTime=2024-06-26T23%3A19%3A00.000&eventType=RatingUnion.PercentOverlimit.Event&relatedParty%5B0%5D.id=%7B%7Bcustomer-id%7D%7D&relatedParty%5B0%5D.%40referredType=Customers&relatedParty%5B0%5D.IDType=0&periodCoverage=%7B%22startDateTime%22%3A%222024-06-26T00%3A10%3A00.000%22%2C%22endDateTime%22%3A%222024-06-26T23%3A19%3A00.00%22%7D&relatedParty=%5B%7B%22id%22%3A%20%227702217%22%2C%22%40referredType%22%3A%20%22Customers%22%2C%22IDType%22%3A%200%7D%5D", + "host": [ + "{{API}}" + ], + "path": [ + "api", + "v2", + "tmf", + "event", + "event" + ], + "query": [ + { + "key": "limit", + "value": "5" + }, + { + "key": "offset", + "value": "0" + }, + { + "key": "periodCoverage.startDateTime", + "value": "2024-06-26T00%3A10%3A00.000" + }, + { + "key": "periodCoverage.endDateTime", + "value": "2024-06-26T23%3A19%3A00.000" + }, + { + "key": "eventType", + "value": "RatingUnion.PercentOverlimit.Event" + }, + { + "key": "relatedParty%5B0%5D.id", + "value": "%7B%7Bcustomer-id%7D%7D" + }, + { + "key": "relatedParty%5B0%5D.%40referredType", + "value": "Customers" + }, + { + "key": "relatedParty%5B0%5D.IDType", + "value": "0" + }, + { + "key": "periodCoverage", + "value": "%7B%22startDateTime%22%3A%222024-06-26T00%3A10%3A00.000%22%2C%22endDateTime%22%3A%222024-06-26T23%3A19%3A00.00%22%7D" + }, + { + "key": "relatedParty", + "value": "%5B%7B%22id%22%3A%20%227702217%22%2C%22%40referredType%22%3A%20%22Customers%22%2C%22IDType%22%3A%200%7D%5D" + } + ] + } }, - { - "key": "periodCoverage", - "value": "{\"startDateTime\":\"2024-06-26T00:10:00.000\",\"endDateTime\":\"2024-06-26T23:19:00.00\"}" + "response": [ + { + "name": "200 OK", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "Accept", + "value": "application/json;charset=utf-8" + }, + { + "key": "Content-Type", + "value": "application/json;charset=utf-8" + }, + { + "key": "x-ms-client-request-id", + "value": "20412345678903142363734", + "disabled": true + }, + { + "key": "Accept-Language", + "value": "en" + } + ], + "url": { + "raw": "{{API}}/api/v2/tmf/event/event?limit=5&offset=0&periodCoverage={\"startDateTime\":\"2024-06-26T00:10:00.000\",\"endDateTime\":\"2024-06-26T23:19:00.00\"}&eventType=\"RatingUnion.PercentOverlimit.Event\"&relatedParty=[{\"id\": \"7702217\",\"@referredType\": \"Customers\",\"IDType\": 0}]", + "host": [ + "{{API}}" + ], + "path": [ + "api", + "v2", + "tmf", + "event", + "event" + ], + "query": [ + { + "key": "limit", + "value": "5" + }, + { + "key": "offset", + "value": "0" + }, + { + "key": "periodCoverage", + "value": "{\"startDateTime\":\"2024-06-26T00:10:00.000\",\"endDateTime\":\"2024-06-26T23:19:00.00\"}" + }, + { + "key": "eventType", + "value": "\"RatingUnion.PercentOverlimit.Event\"" + }, + { + "key": "relatedParty", + "value": "[{\"id\": \"7702217\",\"@referredType\": \"Customers\",\"IDType\": 0}]" + } + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "plain", + "header": [ + { + "key": "Transfer-Encoding", + "value": "chunked" + }, + { + "key": "Content-Type", + "value": "text/plain; charset=utf-8" + }, + { + "key": "Content-Encoding", + "value": "gzip" + }, + { + "key": "Content-Range", + "value": "items 1-3/3" + }, + { + "key": "Vary", + "value": "Accept-Encoding" + }, + { + "key": "Accept-Language", + "value": "en" + }, + { + "key": "x-ms-client-request-id", + "value": "c1ffa27d-262f-4531-b09c-db38e15f" + }, + { + "key": "X-Total-Count", + "value": "3" + }, + { + "key": "X-Page-Count", + "value": "1" + }, + { + "key": "cacheStatus", + "value": "Added" + }, + { + "key": "Access-Control-Allow-Methods", + "value": "GET, PUT, POST, DELETE, OPTIONS, HEAD" + }, + { + "key": "Access-Control-Allow-Headers", + "value": "Authorization,Pragma,Cache-control,Content-type" + }, + { + "key": "Access-Control-Allow-Credentials", + "value": "true" + }, + { + "key": "Date", + "value": "Wed, 26 Jun 2024 13:02:52 GMT" + } + ], + "cookie": [], + "body": "[\r\n{\r\n \"periodCoverage\": {\r\n \"endDateTime\": \"2024-06-26T23:19:00\",\r\n \"startDateTime\": \"2024-06-26T00:10:00\"\r\n },\r\n \"relatedParty\": [\r\n {\r\n \"id\": \"7702217\",\r\n \"@referredType\": \"Customers\",\r\n \"IDType\": 0\r\n }\r\n ],\r\n \"domain\": \"ocs\",\r\n \"eventTime\": \"2024-06-26T14:48:51.707\",\r\n \"eventType\": \"RatingUnion.PercentOverlimit.Event\",\r\n \"priority\": \"Normal\",\r\n \"timeOccurred\": \"2024-06-26T14:49:43.017\",\r\n \"title\": \"\",\r\n \"event\": {\r\n \"alarm\": {\r\n \"analyticCharacteristic\": [\r\n {\r\n \"id\": \"DateFrom\",\r\n \"name\": \"DateFrom\",\r\n \"valueType\": \"string\",\r\n \"value\": \"2024-06-26T00:00:00\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"DateTo\",\r\n \"name\": \"DateTo\",\r\n \"valueType\": \"string\",\r\n \"value\": \"2024-07-25T23:59:59.997\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"dnm_id\",\r\n \"name\": \"DynamicType\",\r\n \"valueType\": \"string\",\r\n \"value\": \"199\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"EventDate\",\r\n \"name\": \"EventDate\",\r\n \"valueType\": \"string\",\r\n \"value\": \"2024-06-26T14:48:51.687\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"ext_id\",\r\n \"name\": \"Extention_ID\",\r\n \"valueType\": \"string\",\r\n \"value\": \"7892672\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"LimitTotalVolume\",\r\n \"name\": \"LimitTotalVolume\",\r\n \"valueType\": \"string\",\r\n \"value\": \"1048576000\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"LimitVolumeByUnion\",\r\n \"name\": \"LimitVolumeByUnion\",\r\n \"valueType\": \"string\",\r\n \"value\": \"1048576000\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"OriginLimitTotalVolume\",\r\n \"name\": \"OriginLimitTotalVolume\",\r\n \"valueType\": \"string\",\r\n \"value\": \"0\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"idTariffPlan\",\r\n \"name\": \"PackageId\",\r\n \"valueType\": \"string\",\r\n \"value\": \"6195\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"PackageIdLimit\",\r\n \"name\": \"PackageIdLimit\",\r\n \"valueType\": \"string\",\r\n \"value\": \"6229\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"PackageOverrideID\",\r\n \"name\": \"PackageOverrideID\",\r\n \"valueType\": \"string\",\r\n \"value\": \"6229\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"abn_id\",\r\n \"name\": \"Subscriber_ID\",\r\n \"valueType\": \"string\",\r\n \"value\": \"7702390\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"TotalVolume\",\r\n \"name\": \"TotalVolume\",\r\n \"valueType\": \"string\",\r\n \"value\": \"104857600\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"TotalVolumeByUnion\",\r\n \"name\": \"TotalVolumeByUnion\",\r\n \"valueType\": \"string\",\r\n \"value\": \"104857600\",\r\n \"@type\": \"Characteristic\"\r\n }\r\n ],\r\n \"crossedThresholdInformation\": {\r\n \"observedValue\": \"20.0\",\r\n \"threshold\": {\r\n \"@type\": \"ThresholdRef\",\r\n \"id\": \"Percent\"\r\n },\r\n \"direction\": \"up\"\r\n },\r\n \"@type\": \"alarm\",\r\n \"alarmType\": \"QualityOfServiceAlarm\",\r\n \"id\": \"162\",\r\n \"perceivedSeverity\": \"warning\",\r\n \"probableCause\": \"Threshold crossed\",\r\n \"serviceAffecting\": true,\r\n \"specificProblem\": \"Topic threshold crossed\",\r\n \"state\": \"raised\",\r\n \"affectedService\": [\r\n {\r\n \"id\": \"01-7702390\"\r\n },\r\n {\r\n \"id\": \"02-55\"\r\n }\r\n ]\r\n }\r\n },\r\n \"id\": \"402\"\r\n},\n{\r\n \"periodCoverage\": {\r\n \"endDateTime\": \"2024-06-26T23:19:00\",\r\n \"startDateTime\": \"2024-06-26T00:10:00\"\r\n },\r\n \"relatedParty\": [\r\n {\r\n \"id\": \"7702217\",\r\n \"@referredType\": \"Customers\",\r\n \"IDType\": 0\r\n }\r\n ],\r\n \"domain\": \"ocs\",\r\n \"eventTime\": \"2024-06-26T14:48:51.707\",\r\n \"eventType\": \"RatingUnion.PercentOverlimit.Event\",\r\n \"priority\": \"Normal\",\r\n \"timeOccurred\": \"2024-06-26T14:53:43.26\",\r\n \"title\": \"\",\r\n \"event\": {\r\n \"alarm\": {\r\n \"analyticCharacteristic\": [\r\n {\r\n \"id\": \"DateFrom\",\r\n \"name\": \"DateFrom\",\r\n \"valueType\": \"string\",\r\n \"value\": \"2024-06-26T00:00:00\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"DateTo\",\r\n \"name\": \"DateTo\",\r\n \"valueType\": \"string\",\r\n \"value\": \"2024-07-25T23:59:59.997\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"dnm_id\",\r\n \"name\": \"DynamicType\",\r\n \"valueType\": \"string\",\r\n \"value\": \"199\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"EventDate\",\r\n \"name\": \"EventDate\",\r\n \"valueType\": \"string\",\r\n \"value\": \"2024-06-26T14:48:51.687\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"ext_id\",\r\n \"name\": \"Extention_ID\",\r\n \"valueType\": \"string\",\r\n \"value\": \"7892672\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"LimitTotalVolume\",\r\n \"name\": \"LimitTotalVolume\",\r\n \"valueType\": \"string\",\r\n \"value\": \"1048576000\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"LimitVolumeByUnion\",\r\n \"name\": \"LimitVolumeByUnion\",\r\n \"valueType\": \"string\",\r\n \"value\": \"1048576000\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"OriginLimitTotalVolume\",\r\n \"name\": \"OriginLimitTotalVolume\",\r\n \"valueType\": \"string\",\r\n \"value\": \"0\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"idTariffPlan\",\r\n \"name\": \"PackageId\",\r\n \"valueType\": \"string\",\r\n \"value\": \"6195\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"PackageIdLimit\",\r\n \"name\": \"PackageIdLimit\",\r\n \"valueType\": \"string\",\r\n \"value\": \"6229\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"PackageOverrideID\",\r\n \"name\": \"PackageOverrideID\",\r\n \"valueType\": \"string\",\r\n \"value\": \"6229\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"abn_id\",\r\n \"name\": \"Subscriber_ID\",\r\n \"valueType\": \"string\",\r\n \"value\": \"7702390\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"TotalVolume\",\r\n \"name\": \"TotalVolume\",\r\n \"valueType\": \"string\",\r\n \"value\": \"104857600\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"TotalVolumeByUnion\",\r\n \"name\": \"TotalVolumeByUnion\",\r\n \"valueType\": \"string\",\r\n \"value\": \"104857600\",\r\n \"@type\": \"Characteristic\"\r\n }\r\n ],\r\n \"crossedThresholdInformation\": {\r\n \"observedValue\": \"20.0\",\r\n \"threshold\": {\r\n \"@type\": \"ThresholdRef\",\r\n \"id\": \"Percent\"\r\n },\r\n \"direction\": \"up\"\r\n },\r\n \"@type\": \"alarm\",\r\n \"alarmType\": \"QualityOfServiceAlarm\",\r\n \"id\": \"162\",\r\n \"perceivedSeverity\": \"warning\",\r\n \"probableCause\": \"Threshold crossed\",\r\n \"serviceAffecting\": true,\r\n \"specificProblem\": \"Topic threshold crossed\",\r\n \"state\": \"raised\",\r\n \"affectedService\": [\r\n {\r\n \"id\": \"01-7702390\"\r\n },\r\n {\r\n \"id\": \"02-55\"\r\n }\r\n ]\r\n }\r\n },\r\n \"id\": \"403\"\r\n},\n{\r\n \"periodCoverage\": {\r\n \"endDateTime\": \"2024-06-26T23:19:00\",\r\n \"startDateTime\": \"2024-06-26T00:10:00\"\r\n },\r\n \"relatedParty\": [\r\n {\r\n \"id\": \"7702217\",\r\n \"@referredType\": \"Customers\",\r\n \"IDType\": 0\r\n }\r\n ],\r\n \"domain\": \"ocs\",\r\n \"eventTime\": \"2024-06-26T14:48:51.707\",\r\n \"eventType\": \"RatingUnion.PercentOverlimit.Event\",\r\n \"priority\": \"Normal\",\r\n \"timeOccurred\": \"2024-06-26T15:13:29.567\",\r\n \"title\": \"\",\r\n \"event\": {\r\n \"alarm\": {\r\n \"analyticCharacteristic\": [\r\n {\r\n \"id\": \"DateFrom\",\r\n \"name\": \"DateFrom\",\r\n \"valueType\": \"string\",\r\n \"value\": \"2024-06-26T00:00:00\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"DateTo\",\r\n \"name\": \"DateTo\",\r\n \"valueType\": \"string\",\r\n \"value\": \"2024-07-25T23:59:59.997\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"dnm_id\",\r\n \"name\": \"DynamicType\",\r\n \"valueType\": \"string\",\r\n \"value\": \"199\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"EventDate\",\r\n \"name\": \"EventDate\",\r\n \"valueType\": \"string\",\r\n \"value\": \"2024-06-26T14:48:51.687\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"ext_id\",\r\n \"name\": \"Extention_ID\",\r\n \"valueType\": \"string\",\r\n \"value\": \"7892672\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"LimitTotalVolume\",\r\n \"name\": \"LimitTotalVolume\",\r\n \"valueType\": \"string\",\r\n \"value\": \"1048576000\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"LimitVolumeByUnion\",\r\n \"name\": \"LimitVolumeByUnion\",\r\n \"valueType\": \"string\",\r\n \"value\": \"1048576000\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"OriginLimitTotalVolume\",\r\n \"name\": \"OriginLimitTotalVolume\",\r\n \"valueType\": \"string\",\r\n \"value\": \"0\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"idTariffPlan\",\r\n \"name\": \"PackageId\",\r\n \"valueType\": \"string\",\r\n \"value\": \"6195\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"PackageIdLimit\",\r\n \"name\": \"PackageIdLimit\",\r\n \"valueType\": \"string\",\r\n \"value\": \"6229\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"PackageOverrideID\",\r\n \"name\": \"PackageOverrideID\",\r\n \"valueType\": \"string\",\r\n \"value\": \"6229\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"abn_id\",\r\n \"name\": \"Subscriber_ID\",\r\n \"valueType\": \"string\",\r\n \"value\": \"7702390\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"TotalVolume\",\r\n \"name\": \"TotalVolume\",\r\n \"valueType\": \"string\",\r\n \"value\": \"104857600\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"TotalVolumeByUnion\",\r\n \"name\": \"TotalVolumeByUnion\",\r\n \"valueType\": \"string\",\r\n \"value\": \"104857600\",\r\n \"@type\": \"Characteristic\"\r\n }\r\n ],\r\n \"crossedThresholdInformation\": {\r\n \"observedValue\": \"20.0\",\r\n \"threshold\": {\r\n \"@type\": \"ThresholdRef\",\r\n \"id\": \"Percent\"\r\n },\r\n \"direction\": \"up\"\r\n },\r\n \"@type\": \"alarm\",\r\n \"alarmType\": \"QualityOfServiceAlarm\",\r\n \"id\": \"162\",\r\n \"perceivedSeverity\": \"warning\",\r\n \"probableCause\": \"Threshold crossed\",\r\n \"serviceAffecting\": true,\r\n \"specificProblem\": \"Topic threshold crossed\",\r\n \"state\": \"raised\",\r\n \"affectedService\": [\r\n {\r\n \"id\": \"01-7702390\"\r\n },\r\n {\r\n \"id\": \"02-55\"\r\n }\r\n ]\r\n }\r\n },\r\n \"id\": \"404\"\r\n}\r\n]\r\n" + } + ] + }, + { + "name": "Find Event by Topic and Event Type with state", + "protocolProfileBehavior": { + "disableBodyPruning": true }, - { - "key": "eventType", - "value": "\"RatingUnion.PercentOverlimit.Event\"" + "request": { + "auth": { + "type": "basic", + "basic": [ + { + "key": "username", + "value": "login", + "type": "string" + }, + { + "key": "password", + "value": "{{auth_password_0yol}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [ + { + "key": "x-ms-client-request-id", + "value": "20412345678903142363734" + }, + { + "key": "Accept-Language", + "value": "en" + } + ], + "body": { + "mode": "urlencoded", + "urlencoded": [ + { + "type": "text", + "key": "limit", + "value": "50" + }, + { + "type": "text", + "key": "offset", + "value": "0" + }, + { + "type": "text", + "key": "periodCoverage", + "value": "{\"startDateTime\":\"2025-08-15T00:00:00.000Z\",\"endDateTime\":\"2025-08-15T23:59:59.999Z\"}" + }, + { + "type": "text", + "key": "eventType", + "value": "ClearAlarmStateChangeEvent" + }, + { + "type": "text", + "key": "event.clearAlarm.state", + "value": "terminatedWithError" + }, + { + "type": "text", + "key": "event.clearAlarm.topicRef.id", + "value": "21212121" + } + ] + }, + "url": { + "raw": "{{API}}/api/v2/tmf/event/topic/21212121/event?limit=50&offset=0&periodCoverage={\"startDateTime\":\"2025-08-15T00:00:00.000Z\",\"endDateTime\":\"2025-08-15T23:59:59.999Z\"}&eventType=ClearAlarmStateChangeEvent&event.clearAlarm.state=terminatedWithError", + "host": [ + "{{API}}" + ], + "path": [ + "api", + "v2", + "tmf", + "event", + "topic", + "21212121", + "event" + ], + "query": [ + { + "key": "limit", + "value": "50" + }, + { + "key": "offset", + "value": "0" + }, + { + "key": "periodCoverage", + "value": "{\"startDateTime\":\"2025-08-15T00:00:00.000Z\",\"endDateTime\":\"2025-08-15T23:59:59.999Z\"}" + }, + { + "key": "eventType", + "value": "ClearAlarmStateChangeEvent" + }, + { + "key": "event.clearAlarm.state", + "value": "terminatedWithError" + } + ] + }, + "description": "Generated from cURL: curl -G 'https://api.example.com/api/v2/tmf/event/topic/event' \\\r\n -H 'x-ms-client-request-id: 20412345678903142363734' \\\r\n -H 'Accept-Language: en' \\\r\n --data-urlencode 'limit=50' \\\r\n --data-urlencode 'offset=0' \\\r\n --data-urlencode 'periodCoverage={\"startDateTime\":\"2025-08-15T00:00:00.000Z\",\"endDateTime\":\"2025-08-15T23:59:59.999Z\"}' \\\r\n --data-urlencode 'eventType=ClearAlarmStateChangeEvent' \\\r\n --data-urlencode 'event.clearAlarm.state=terminatedWithError' \\\r\n --data-urlencode 'event.clearAlarm.topicRef.id=21212121'\r\n" }, - { - "key": "relatedParty", - "value": "[{\"id\": \"7702217\",\"@referredType\": \"Customers\",\"IDType\": 0}]" - } - ] - } - }, - "status": "OK", - "code": 200, - "_postman_previewlanguage": "plain", - "header": [ - { - "key": "Transfer-Encoding", - "value": "chunked" - }, - { - "key": "Content-Type", - "value": "text/plain; charset=utf-8" - }, - { - "key": "Content-Encoding", - "value": "gzip" - }, - { - "key": "Content-Range", - "value": "items 1-3/3" - }, - { - "key": "Vary", - "value": "Accept-Encoding" - }, - { - "key": "Accept-Language", - "value": "en" - }, - { - "key": "x-ms-client-request-id", - "value": "c1ffa27d-262f-4531-b09c-db38e15f" - }, - { - "key": "X-Total-Count", - "value": "3" - }, - { - "key": "X-Page-Count", - "value": "1" - }, - { - "key": "cacheStatus", - "value": "Added" - }, - { - "key": "Access-Control-Allow-Methods", - "value": "GET, PUT, POST, DELETE, OPTIONS, HEAD" - }, - { - "key": "Access-Control-Allow-Headers", - "value": "Authorization,Pragma,Cache-control,Content-type" - }, - { - "key": "Access-Control-Allow-Credentials", - "value": "true" - }, - { - "key": "Date", - "value": "Wed, 26 Jun 2024 13:02:52 GMT" + "response": [] } - ], - "cookie": [], - "body": "[\r\n{\r\n \"periodCoverage\": {\r\n \"endDateTime\": \"2024-06-26T23:19:00\",\r\n \"startDateTime\": \"2024-06-26T00:10:00\"\r\n },\r\n \"relatedParty\": [\r\n {\r\n \"id\": \"7702217\",\r\n \"@referredType\": \"Customers\",\r\n \"IDType\": 0\r\n }\r\n ],\r\n \"domain\": \"ocs\",\r\n \"eventTime\": \"2024-06-26T14:48:51.707\",\r\n \"eventType\": \"RatingUnion.PercentOverlimit.Event\",\r\n \"priority\": \"Normal\",\r\n \"timeOccurred\": \"2024-06-26T14:49:43.017\",\r\n \"title\": \"\",\r\n \"event\": {\r\n \"alarm\": {\r\n \"analyticCharacteristic\": [\r\n {\r\n \"id\": \"DateFrom\",\r\n \"name\": \"DateFrom\",\r\n \"valueType\": \"string\",\r\n \"value\": \"2024-06-26T00:00:00\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"DateTo\",\r\n \"name\": \"DateTo\",\r\n \"valueType\": \"string\",\r\n \"value\": \"2024-07-25T23:59:59.997\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"dnm_id\",\r\n \"name\": \"DynamicType\",\r\n \"valueType\": \"string\",\r\n \"value\": \"199\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"EventDate\",\r\n \"name\": \"EventDate\",\r\n \"valueType\": \"string\",\r\n \"value\": \"2024-06-26T14:48:51.687\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"ext_id\",\r\n \"name\": \"Extention_ID\",\r\n \"valueType\": \"string\",\r\n \"value\": \"7892672\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"LimitTotalVolume\",\r\n \"name\": \"LimitTotalVolume\",\r\n \"valueType\": \"string\",\r\n \"value\": \"1048576000\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"LimitVolumeByUnion\",\r\n \"name\": \"LimitVolumeByUnion\",\r\n \"valueType\": \"string\",\r\n \"value\": \"1048576000\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"OriginLimitTotalVolume\",\r\n \"name\": \"OriginLimitTotalVolume\",\r\n \"valueType\": \"string\",\r\n \"value\": \"0\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"idTariffPlan\",\r\n \"name\": \"PackageId\",\r\n \"valueType\": \"string\",\r\n \"value\": \"6195\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"PackageIdLimit\",\r\n \"name\": \"PackageIdLimit\",\r\n \"valueType\": \"string\",\r\n \"value\": \"6229\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"PackageOverrideID\",\r\n \"name\": \"PackageOverrideID\",\r\n \"valueType\": \"string\",\r\n \"value\": \"6229\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"abn_id\",\r\n \"name\": \"Subscriber_ID\",\r\n \"valueType\": \"string\",\r\n \"value\": \"7702390\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"TotalVolume\",\r\n \"name\": \"TotalVolume\",\r\n \"valueType\": \"string\",\r\n \"value\": \"104857600\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"TotalVolumeByUnion\",\r\n \"name\": \"TotalVolumeByUnion\",\r\n \"valueType\": \"string\",\r\n \"value\": \"104857600\",\r\n \"@type\": \"Characteristic\"\r\n }\r\n ],\r\n \"crossedThresholdInformation\": {\r\n \"observedValue\": \"20.0\",\r\n \"threshold\": {\r\n \"@type\": \"ThresholdRef\",\r\n \"id\": \"Percent\"\r\n },\r\n \"direction\": \"up\"\r\n },\r\n \"@type\": \"alarm\",\r\n \"alarmType\": \"QualityOfServiceAlarm\",\r\n \"id\": \"162\",\r\n \"perceivedSeverity\": \"warning\",\r\n \"probableCause\": \"Threshold crossed\",\r\n \"serviceAffecting\": true,\r\n \"specificProblem\": \"Topic threshold crossed\",\r\n \"state\": \"raised\",\r\n \"affectedService\": [\r\n {\r\n \"id\": \"01-7702390\"\r\n },\r\n {\r\n \"id\": \"02-55\"\r\n }\r\n ]\r\n }\r\n },\r\n \"id\": \"402\"\r\n},\n{\r\n \"periodCoverage\": {\r\n \"endDateTime\": \"2024-06-26T23:19:00\",\r\n \"startDateTime\": \"2024-06-26T00:10:00\"\r\n },\r\n \"relatedParty\": [\r\n {\r\n \"id\": \"7702217\",\r\n \"@referredType\": \"Customers\",\r\n \"IDType\": 0\r\n }\r\n ],\r\n \"domain\": \"ocs\",\r\n \"eventTime\": \"2024-06-26T14:48:51.707\",\r\n \"eventType\": \"RatingUnion.PercentOverlimit.Event\",\r\n \"priority\": \"Normal\",\r\n \"timeOccurred\": \"2024-06-26T14:53:43.26\",\r\n \"title\": \"\",\r\n \"event\": {\r\n \"alarm\": {\r\n \"analyticCharacteristic\": [\r\n {\r\n \"id\": \"DateFrom\",\r\n \"name\": \"DateFrom\",\r\n \"valueType\": \"string\",\r\n \"value\": \"2024-06-26T00:00:00\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"DateTo\",\r\n \"name\": \"DateTo\",\r\n \"valueType\": \"string\",\r\n \"value\": \"2024-07-25T23:59:59.997\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"dnm_id\",\r\n \"name\": \"DynamicType\",\r\n \"valueType\": \"string\",\r\n \"value\": \"199\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"EventDate\",\r\n \"name\": \"EventDate\",\r\n \"valueType\": \"string\",\r\n \"value\": \"2024-06-26T14:48:51.687\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"ext_id\",\r\n \"name\": \"Extention_ID\",\r\n \"valueType\": \"string\",\r\n \"value\": \"7892672\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"LimitTotalVolume\",\r\n \"name\": \"LimitTotalVolume\",\r\n \"valueType\": \"string\",\r\n \"value\": \"1048576000\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"LimitVolumeByUnion\",\r\n \"name\": \"LimitVolumeByUnion\",\r\n \"valueType\": \"string\",\r\n \"value\": \"1048576000\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"OriginLimitTotalVolume\",\r\n \"name\": \"OriginLimitTotalVolume\",\r\n \"valueType\": \"string\",\r\n \"value\": \"0\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"idTariffPlan\",\r\n \"name\": \"PackageId\",\r\n \"valueType\": \"string\",\r\n \"value\": \"6195\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"PackageIdLimit\",\r\n \"name\": \"PackageIdLimit\",\r\n \"valueType\": \"string\",\r\n \"value\": \"6229\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"PackageOverrideID\",\r\n \"name\": \"PackageOverrideID\",\r\n \"valueType\": \"string\",\r\n \"value\": \"6229\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"abn_id\",\r\n \"name\": \"Subscriber_ID\",\r\n \"valueType\": \"string\",\r\n \"value\": \"7702390\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"TotalVolume\",\r\n \"name\": \"TotalVolume\",\r\n \"valueType\": \"string\",\r\n \"value\": \"104857600\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"TotalVolumeByUnion\",\r\n \"name\": \"TotalVolumeByUnion\",\r\n \"valueType\": \"string\",\r\n \"value\": \"104857600\",\r\n \"@type\": \"Characteristic\"\r\n }\r\n ],\r\n \"crossedThresholdInformation\": {\r\n \"observedValue\": \"20.0\",\r\n \"threshold\": {\r\n \"@type\": \"ThresholdRef\",\r\n \"id\": \"Percent\"\r\n },\r\n \"direction\": \"up\"\r\n },\r\n \"@type\": \"alarm\",\r\n \"alarmType\": \"QualityOfServiceAlarm\",\r\n \"id\": \"162\",\r\n \"perceivedSeverity\": \"warning\",\r\n \"probableCause\": \"Threshold crossed\",\r\n \"serviceAffecting\": true,\r\n \"specificProblem\": \"Topic threshold crossed\",\r\n \"state\": \"raised\",\r\n \"affectedService\": [\r\n {\r\n \"id\": \"01-7702390\"\r\n },\r\n {\r\n \"id\": \"02-55\"\r\n }\r\n ]\r\n }\r\n },\r\n \"id\": \"403\"\r\n},\n{\r\n \"periodCoverage\": {\r\n \"endDateTime\": \"2024-06-26T23:19:00\",\r\n \"startDateTime\": \"2024-06-26T00:10:00\"\r\n },\r\n \"relatedParty\": [\r\n {\r\n \"id\": \"7702217\",\r\n \"@referredType\": \"Customers\",\r\n \"IDType\": 0\r\n }\r\n ],\r\n \"domain\": \"ocs\",\r\n \"eventTime\": \"2024-06-26T14:48:51.707\",\r\n \"eventType\": \"RatingUnion.PercentOverlimit.Event\",\r\n \"priority\": \"Normal\",\r\n \"timeOccurred\": \"2024-06-26T15:13:29.567\",\r\n \"title\": \"\",\r\n \"event\": {\r\n \"alarm\": {\r\n \"analyticCharacteristic\": [\r\n {\r\n \"id\": \"DateFrom\",\r\n \"name\": \"DateFrom\",\r\n \"valueType\": \"string\",\r\n \"value\": \"2024-06-26T00:00:00\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"DateTo\",\r\n \"name\": \"DateTo\",\r\n \"valueType\": \"string\",\r\n \"value\": \"2024-07-25T23:59:59.997\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"dnm_id\",\r\n \"name\": \"DynamicType\",\r\n \"valueType\": \"string\",\r\n \"value\": \"199\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"EventDate\",\r\n \"name\": \"EventDate\",\r\n \"valueType\": \"string\",\r\n \"value\": \"2024-06-26T14:48:51.687\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"ext_id\",\r\n \"name\": \"Extention_ID\",\r\n \"valueType\": \"string\",\r\n \"value\": \"7892672\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"LimitTotalVolume\",\r\n \"name\": \"LimitTotalVolume\",\r\n \"valueType\": \"string\",\r\n \"value\": \"1048576000\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"LimitVolumeByUnion\",\r\n \"name\": \"LimitVolumeByUnion\",\r\n \"valueType\": \"string\",\r\n \"value\": \"1048576000\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"OriginLimitTotalVolume\",\r\n \"name\": \"OriginLimitTotalVolume\",\r\n \"valueType\": \"string\",\r\n \"value\": \"0\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"idTariffPlan\",\r\n \"name\": \"PackageId\",\r\n \"valueType\": \"string\",\r\n \"value\": \"6195\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"PackageIdLimit\",\r\n \"name\": \"PackageIdLimit\",\r\n \"valueType\": \"string\",\r\n \"value\": \"6229\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"PackageOverrideID\",\r\n \"name\": \"PackageOverrideID\",\r\n \"valueType\": \"string\",\r\n \"value\": \"6229\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"abn_id\",\r\n \"name\": \"Subscriber_ID\",\r\n \"valueType\": \"string\",\r\n \"value\": \"7702390\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"TotalVolume\",\r\n \"name\": \"TotalVolume\",\r\n \"valueType\": \"string\",\r\n \"value\": \"104857600\",\r\n \"@type\": \"Characteristic\"\r\n },\r\n {\r\n \"id\": \"TotalVolumeByUnion\",\r\n \"name\": \"TotalVolumeByUnion\",\r\n \"valueType\": \"string\",\r\n \"value\": \"104857600\",\r\n \"@type\": \"Characteristic\"\r\n }\r\n ],\r\n \"crossedThresholdInformation\": {\r\n \"observedValue\": \"20.0\",\r\n \"threshold\": {\r\n \"@type\": \"ThresholdRef\",\r\n \"id\": \"Percent\"\r\n },\r\n \"direction\": \"up\"\r\n },\r\n \"@type\": \"alarm\",\r\n \"alarmType\": \"QualityOfServiceAlarm\",\r\n \"id\": \"162\",\r\n \"perceivedSeverity\": \"warning\",\r\n \"probableCause\": \"Threshold crossed\",\r\n \"serviceAffecting\": true,\r\n \"specificProblem\": \"Topic threshold crossed\",\r\n \"state\": \"raised\",\r\n \"affectedService\": [\r\n {\r\n \"id\": \"01-7702390\"\r\n },\r\n {\r\n \"id\": \"02-55\"\r\n }\r\n ]\r\n }\r\n },\r\n \"id\": \"404\"\r\n}\r\n]\r\n" - } - ] + ] }, { - "name": "Find Event by Topic and Event Type with state", - "protocolProfileBehavior": { - "disableBodyPruning": true - }, - "request": { - "auth": { - "type": "basic", - "basic": [ - { - "key": "username", - "value": "login", - "type": "string" - }, - { - "key": "password", - "value": "{{auth_password_0yol}}", - "type": "string" - } - ] - }, - "method": "GET", - "header": [ - { - "key": "x-ms-client-request-id", - "value": "20412345678903142363734" - }, - { - "key": "Accept-Language", - "value": "en" - } - ], - "body": { - "mode": "urlencoded", - "urlencoded": [ - { - "type": "text", - "key": "limit", - "value": "50" - }, - { - "type": "text", - "key": "offset", - "value": "0" - }, - { - "type": "text", - "key": "periodCoverage", - "value": "{\"startDateTime\":\"2025-08-15T00:00:00.000Z\",\"endDateTime\":\"2025-08-15T23:59:59.999Z\"}" - }, - { - "type": "text", - "key": "eventType", - "value": "ClearAlarmStateChangeEvent" - }, - { - "type": "text", - "key": "event.clearAlarm.state", - "value": "terminatedWithError" - }, - { - "type": "text", - "key": "event.clearAlarm.topicRef.id", - "value": "21212121" - } - ] - }, - "url": { - "raw": "{{API}}/api/v2/tmf/event/topic/21212121/event?limit=50&offset=0&periodCoverage={\"startDateTime\":\"2025-08-15T00:00:00.000Z\",\"endDateTime\":\"2025-08-15T23:59:59.999Z\"}&eventType=ClearAlarmStateChangeEvent&event.clearAlarm.state=terminatedWithError", - "host": [ - "{{API}}" - ], - "path": [ - "api", - "v2", - "tmf", - "event", - "topic", - "21212121", - "event" - ], - "query": [ - { - "key": "limit", - "value": "50" - }, - { - "key": "offset", - "value": "0" - }, - { - "key": "periodCoverage", - "value": "{\"startDateTime\":\"2025-08-15T00:00:00.000Z\",\"endDateTime\":\"2025-08-15T23:59:59.999Z\"}" - }, - { - "key": "eventType", - "value": "ClearAlarmStateChangeEvent" - }, - { - "key": "event.clearAlarm.state", - "value": "terminatedWithError" + "name": "Hub", + "item": [ + { + "name": "List or find Hub entittes", + "request": { + "auth": { + "type": "basic", + "basic": [ + { + "key": "password", + "value": "password", + "type": "string" + }, + { + "key": "username", + "value": "login", + "type": "string" + } + ] + }, + "method": "GET", + "header": [ + { + "key": "Accept", + "value": "application/json;charset=utf-8" + }, + { + "key": "Content-Type", + "value": "application/json;charset=utf-8" + }, + { + "key": "x-ms-client-request-id", + "value": "20412345678903142363734", + "disabled": true + }, + { + "key": "Accept-Language", + "value": "en" + } + ], + "url": { + "raw": "{{API}}/api/v2/tmf/event/topic/24/hub?limit=5&offset=0", + "host": [ + "{{API}}" + ], + "path": [ + "api", + "v2", + "tmf", + "event", + "topic", + "24", + "hub" + ], + "query": [ + { + "key": "limit", + "value": "5" + }, + { + "key": "offset", + "value": "0" + } + ] + } + }, + "response": [ + { + "name": "Success", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "Accept", + "value": "application/json;charset=utf-8" + }, + { + "key": "Content-Type", + "value": "application/json;charset=utf-8" + }, + { + "key": "x-ms-client-request-id", + "value": "20412345678903142363734", + "disabled": true + }, + { + "key": "Accept-Language", + "value": "en" + } + ], + "url": { + "raw": "{{API}}/api/v2/tmf/event/topic/24/hub?limit=5&offset=0", + "host": [ + "{{API}}" + ], + "path": [ + "api", + "v2", + "tmf", + "event", + "topic", + "24", + "hub" + ], + "query": [ + { + "key": "limit", + "value": "5" + }, + { + "key": "offset", + "value": "0" + } + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "plain", + "header": [ + { + "key": "Date", + "value": "Thu, 18 Jul 2024 09:44:48 GMT" + }, + { + "key": "Content-Type", + "value": "text/plain; charset=utf-8" + }, + { + "key": "Transfer-Encoding", + "value": "chunked" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "Content-Range", + "value": "items 1-0/1" + }, + { + "key": "Accept-Language", + "value": "en" + }, + { + "key": "x-ms-client-request-id", + "value": "d2a2aeb8-e57b-43ec-9a0a-977a0441" + }, + { + "key": "X-Total-Count", + "value": "1" + }, + { + "key": "X-Page-Count", + "value": "0" + }, + { + "key": "cacheStatus", + "value": "Added" + }, + { + "key": "Access-Control-Allow-Credentials", + "value": "true" + }, + { + "key": "Access-Control-Allow-Headers", + "value": "Authorization,Pragma,Cache-control,Content-type,X-Requested-With" + }, + { + "key": "Access-Control-Allow-Methods", + "value": "GET,POST,PUT,DELETE,HEAD,OPTIONS" + }, + { + "key": "Strict-Transport-Security", + "value": "max-age=31536000" + }, + { + "key": "Content-Security-Policy", + "value": "img-src https: data:; upgrade-insecure-requests" + } + ], + "cookie": [], + "body": "[\n{\n \"id\": \"204-52-24\",\n \"callback\": \"http://localhost:8080/api/kafka\",\n \"query\": \"esym_Method=ETG.Counter.Overlimit.Notification\"\n}\n]\n" + } + ] } - ] - }, - "description": "Generated from cURL: curl -G 'https://api.example.com/api/v2/tmf/event/topic/event' \\\r\n -H 'x-ms-client-request-id: 20412345678903142363734' \\\r\n -H 'Accept-Language: en' \\\r\n --data-urlencode 'limit=50' \\\r\n --data-urlencode 'offset=0' \\\r\n --data-urlencode 'periodCoverage={\"startDateTime\":\"2025-08-15T00:00:00.000Z\",\"endDateTime\":\"2025-08-15T23:59:59.999Z\"}' \\\r\n --data-urlencode 'eventType=ClearAlarmStateChangeEvent' \\\r\n --data-urlencode 'event.clearAlarm.state=terminatedWithError' \\\r\n --data-urlencode 'event.clearAlarm.topicRef.id=21212121'\r\n" - }, - "response": [] + ] } - ] - }, - { - "name": "Hub", - "item": [ + ], + "event": [ { - "name": "List or find Hub entittes", - "request": { - "auth": { - "type": "basic", - "basic": [ - { - "key": "password", - "value": "password", - "type": "string" - }, - { - "key": "username", - "value": "login", - "type": "string" - } - ] - }, - "method": "GET", - "header": [ - { - "key": "Accept", - "value": "application/json;charset=utf-8" - }, - { - "key": "Content-Type", - "value": "application/json;charset=utf-8" - }, - { - "key": "x-ms-client-request-id", - "value": "20412345678903142363734", - "disabled": true - }, - { - "key": "Accept-Language", - "value": "en" - } - ], - "url": { - "raw": "{{API}}/api/v2/tmf/event/topic/24/hub?limit=5&offset=0", - "host": [ - "{{API}}" - ], - "path": [ - "api", - "v2", - "tmf", - "event", - "topic", - "24", - "hub" - ], - "query": [ - { - "key": "limit", - "value": "5" - }, - { - "key": "offset", - "value": "0" - } - ] + "listen": "prerequest", + "script": { + "type": "text/javascript", + "packages": {}, + "exec": [ + "" + ] } - }, - "response": [ - { - "name": "Success", - "originalRequest": { - "method": "GET", - "header": [ - { - "key": "Accept", - "value": "application/json;charset=utf-8" - }, - { - "key": "Content-Type", - "value": "application/json;charset=utf-8" - }, - { - "key": "x-ms-client-request-id", - "value": "20412345678903142363734", - "disabled": true - }, - { - "key": "Accept-Language", - "value": "en" - } - ], - "url": { - "raw": "{{API}}/api/v2/tmf/event/topic/24/hub?limit=5&offset=0", - "host": [ - "{{API}}" - ], - "path": [ - "api", - "v2", - "tmf", - "event", - "topic", - "24", - "hub" - ], - "query": [ - { - "key": "limit", - "value": "5" - }, - { - "key": "offset", - "value": "0" - } - ] - } - }, - "status": "OK", - "code": 200, - "_postman_previewlanguage": "plain", - "header": [ - { - "key": "Date", - "value": "Thu, 18 Jul 2024 09:44:48 GMT" - }, - { - "key": "Content-Type", - "value": "text/plain; charset=utf-8" - }, - { - "key": "Transfer-Encoding", - "value": "chunked" - }, - { - "key": "Connection", - "value": "keep-alive" - }, - { - "key": "Content-Range", - "value": "items 1-0/1" - }, - { - "key": "Accept-Language", - "value": "en" - }, - { - "key": "x-ms-client-request-id", - "value": "d2a2aeb8-e57b-43ec-9a0a-977a0441" - }, - { - "key": "X-Total-Count", - "value": "1" - }, - { - "key": "X-Page-Count", - "value": "0" - }, - { - "key": "cacheStatus", - "value": "Added" - }, - { - "key": "Access-Control-Allow-Credentials", - "value": "true" - }, - { - "key": "Access-Control-Allow-Headers", - "value": "Authorization,Pragma,Cache-control,Content-type,X-Requested-With" - }, - { - "key": "Access-Control-Allow-Methods", - "value": "GET,POST,PUT,DELETE,HEAD,OPTIONS" - }, - { - "key": "Strict-Transport-Security", - "value": "max-age=31536000" - }, - { - "key": "Content-Security-Policy", - "value": "img-src https: data:; upgrade-insecure-requests" - } - ], - "cookie": [], - "body": "[\n{\n \"id\": \"204-52-24\",\n \"callback\": \"http://10.49.199.96:8080/api/kafka\",\n \"query\": \"esym_Method=ETG.Counter.Overlimit.Notification\"\n}\n]\n" + }, + { + "listen": "test", + "script": { + "type": "text/javascript", + "packages": {}, + "exec": [ + "" + ] } - ] } - ] - } - ], - "event": [ - { - "listen": "prerequest", - "script": { - "type": "text/javascript", - "packages": {}, - "exec": [ - "" - ] - } - }, - { - "listen": "test", - "script": { - "type": "text/javascript", - "packages": {}, - "exec": [ - "" - ] - } - } - ], - "variable": [ - { - "key": "Customer_id", - "value": "7702142" - }, - { - "key": "eventType", - "value": "DataUsageOverlimitEvent" - }, - { - "key": "tp_code", - "value": "40003" - }, - { - "key": "sim_group", - "value": "default" - }, - { - "key": "rating_group", - "value": "DTE_ROAM_1" - }, - { - "key": "pattern", - "value": "Counter" - }, - { - "key": "threshold_type", - "value": "Percent" - }, - { - "key": "threshold_value", - "value": "20" - }, - { - "key": "threshold_value_new", - "value": "30" - }, - { - "key": "auth_password_0yol", - "secret": true - } - ] -} \ No newline at end of file + ], + "variable": [ + { + "key": "Customer_id", + "value": "7702142" + }, + { + "key": "eventType", + "value": "DataUsageOverlimitEvent" + }, + { + "key": "tp_code", + "value": "40003" + }, + { + "key": "sim_group", + "value": "default" + }, + { + "key": "rating_group", + "value": "DTE_ROAM_1" + }, + { + "key": "pattern", + "value": "Counter" + }, + { + "key": "threshold_type", + "value": "Percent" + }, + { + "key": "threshold_value", + "value": "20" + }, + { + "key": "threshold_value_new", + "value": "30" + }, + { + "key": "auth_password_0yol", + "secret": true + } + ] +} diff --git a/tmforum-apis/TMF688_Event_Management/TMF688_Get_Hub.bpmn b/tmforum-apis/TMF688_Event_Management/TMF688_Get_Hub.bpmn index 60c7b6d..9974cb7 100644 --- a/tmforum-apis/TMF688_Event_Management/TMF688_Get_Hub.bpmn +++ b/tmforum-apis/TMF688_Event_Management/TMF688_Get_Hub.bpmn @@ -7,7 +7,7 @@ [] [ { "name": "RestApi", "initCode": "functions://default/RestApi", "initParameters": [ { "name": "Uri", "type": "Uri", "required": true, "oldName": "Uri", "oldType": "Uri", "defaultValue": "http://servername:port/resource" }, { "name": "Method", "type": "string", "required": true, "oldName": "Method", "oldType": "string", "defaultValue": "GET" }, { "name": "Login", "type": "string", "required": false, "oldName": "Login", "oldType": "string", "defaultValue": null }, { "name": "Password", "type": "string", "required": false, "oldName": "Password", "oldType": "string", "defaultValue": null }, { "name": "Headers", "type": "StringDictionary", "required": false, "oldName": "Headers", "oldType": "StringDictionary", "defaultValue": "{\r\n \"Content-Type\":\"application/json;charset=utf-16\",\r\n \"system\":\"204\",\r\n \"global_unique_id\":\"6a297fcb-956e-4228-8c11-017e9bacd629\"\r\n }" }, { "name": "Body", "type": "string", "required": false, "oldName": "Body", "oldType": "string", "defaultValue": "{}" }, { "name": "Encoding", "type": "string", "required": false, "oldName": "Encoding", "oldType": "string", "defaultValue": "utf-8" }, { "name": "Result", "type": "HttpResponse", "required": false, "oldName": "Result", "oldType": "HttpResponse", "defaultValue": null } ], "oldName": "RestApi" }, { "name": "RestApi_Get", "initCode": "functions://default/RestApi/Get", "initParameters": [ { "name": "Uri", "type": "Uri", "required": true, "oldName": "Uri", "oldType": "Uri", "defaultValue": "http://servername:port/resource" }, { "name": "Login", "type": "string", "required": false, "oldName": "Login", "oldType": "string", "defaultValue": null }, { "name": "Password", "type": "string", "required": false, "oldName": "Password", "oldType": "string", "defaultValue": null }, { "name": "Headers", "type": "StringDictionary", "required": false, "oldName": "Headers", "oldType": "StringDictionary", "defaultValue": "{\r\n \"Content-Type\":\"application/json;charset=utf-16\",\r\n \"system\":\"204\",\r\n \"global_unique_id\":\"6a297fcb-956e-4228-8c11-017e9bacd629\"\r\n }" }, { "name": "Encoding", "type": "string", "required": false, "oldName": "Encoding", "oldType": "string", "defaultValue": "utf-8" }, { "name": "Result", "type": "HttpResponse", "required": false, "oldName": "Result", "oldType": "HttpResponse", "defaultValue": null } ], "oldName": "RestApi_Get" }, { "name": "JsonPath", "initCode": "functions://default//JsonPath", "initParameters": [ { "name": "Response", "type": "HttpResponse", "required": true, "oldName": "Response", "oldType": "HttpResponse", "defaultValue": null }, { "name": "Path", "type": "string", "required": false, "oldName": "Path", "oldType": "string", "defaultValue": "$" }, { "name": "Result", "type": "Json", "required": false, "oldName": "Result", "oldType": "Json", "defaultValue": null } ], "oldName": "JsonPath" }, { "name": "SaveVariable", "initCode": "functions://default//SaveVariable", "initParameters": [ { "name": "VariableName", "type": "string", "required": true, "oldName": "VariableName", "oldType": "string", "defaultValue": "varName" }, { "name": "Data", "type": "object", "required": true, "oldName": "Data", "oldType": "object", "defaultValue": "#previous" } ], "oldName": "SaveVariable" }, { "name": "Wait", "initCode": "functions://default//Wait", "initParameters": [ { "name": "millisecondsTimeout", "type": "int", "required": true, "oldName": "millisecondsTimeout", "oldType": "int", "defaultValue": "1000" } ], "oldName": "Wait" }, { "name": "SQL_Oracle_Query", "initCode": "functions://default//SQL/Oracle/Query", "initParameters": [ { "name": "userID", "type": "string", "required": true, "oldName": "userID", "oldType": "string", "defaultValue": null }, { "name": "password", "type": "string", "required": false, "oldName": "password", "oldType": "string", "defaultValue": null }, { "name": "dataSource", "type": "string", "required": false, "oldName": "dataSource", "oldType": "string", "defaultValue": null }, { "name": "query", "type": "string", "required": false, "oldName": "query", "oldType": "string", "defaultValue": null }, { "name": "Result", "type": "Collection", "required": false, "oldName": "Result", "oldType": "Collection", "defaultValue": null } ], "oldName": "SQL_Oracle_Query" }, { "name": "SQL_Oracle_Command", "initCode": "functions://default//SQL/Oracle/Command", "initParameters": [ { "name": "userID", "type": "string", "required": true, "oldName": "userID", "oldType": "string", "defaultValue": null }, { "name": "password", "type": "string", "required": false, "oldName": "password", "oldType": "string", "defaultValue": null }, { "name": "dataSource", "type": "string", "required": false, "oldName": "dataSource", "oldType": "string", "defaultValue": null }, { "name": "command", "type": "string", "required": false, "oldName": "command", "oldType": "string", "defaultValue": null }, { "name": "Result", "type": "int", "required": false, "oldName": "Result", "oldType": "int", "defaultValue": null } ], "oldName": "SQL_Oracle_Command" }] [] - [ { "name": "cacheId", "type": "string", "initialValue": null }, { "name": "cachePrefix", "type": "string", "initialValue": "hub_GET_" }, { "name": "cacheStatus", "type": "string", "initialValue": null }, { "name": "httpConfig", "type": "HttpConfig", "initialValue": "{\r\n \"host\":\"https://10.29.101.122\",\r\n \"port\":\"6992\",\r\n \"login\":\"login\",\r\n \"password\":\"password\",\r\n \"encoding\":\"utf-8\",\r\n \"headers\":{\r\n \"Content-Type\":\"application/vnd.api+json\",\r\n \"Accept\":\"application/vnd.api+json\"\r\n }\r\n}\r\n" }, { "name": "oracleConfig", "type": "OracleConfig", "initialValue": "{\r\n \"userId\":\"login\",\r\n \"password\":\"password\",\r\n \"dataSource\":\"10.49.1.198:1521/bisdb_prm.kyivstar.ua\"\r\n}\r\n" }, { "name": "sqlConnectionString", "type": "string", "initialValue": "Data Source=sqlserv;Initial Catalog=unibill;User ID=login;Password=password;MultipleActiveResultSets=true;Encrypt=True;TrustServerCertificate=True;Command Timeout=3600" }, { "name": "x_page_count", "type": "int", "initialValue": "" }] + [ { "name": "cacheId", "type": "string", "initialValue": null }, { "name": "cachePrefix", "type": "string", "initialValue": "hub_GET_" }, { "name": "cacheStatus", "type": "string", "initialValue": null }, { "name": "httpConfig", "type": "HttpConfig", "initialValue": "{\r\n \"host\":\"https://localhost\",\r\n \"port\":\"6992\",\r\n \"login\":\"login\",\r\n \"password\":\"password\",\r\n \"encoding\":\"utf-8\",\r\n \"headers\":{\r\n \"Content-Type\":\"application/vnd.api+json\",\r\n \"Accept\":\"application/vnd.api+json\"\r\n }\r\n}\r\n" }, { "name": "oracleConfig", "type": "OracleConfig", "initialValue": "{\r\n \"userId\":\"login\",\r\n \"password\":\"password\",\r\n \"dataSource\":\"localhost:1521/XEPDB1\"\r\n}\r\n" }, { "name": "sqlConnectionString", "type": "string", "initialValue": "Data Source=localhost;Initial Catalog=examples;User ID=login;Password=;MultipleActiveResultSets=true;Encrypt=True;TrustServerCertificate=True;Command Timeout=3600" }, { "name": "x_page_count", "type": "int", "initialValue": "" }] { "ErrFormat": "json", "Accept-Language": "uk", "offset": 1, "limit": 50, "sort": "id", "SortDirection": "ASC", "name": "10000000003", "x-ms-client-request-id": "yiz.3", "relatedParty": [ { "id": 6839, "@referredType": "Associations", "IDType": 1 }, { "id": 7702209, "@referredType": "Customers", "IDType": 0 } ]} diff --git a/tmforum-apis/TMF688_Event_Management/TMF688_Get_Topic.bpmn b/tmforum-apis/TMF688_Event_Management/TMF688_Get_Topic.bpmn index c4a4530..9a7b4ae 100644 --- a/tmforum-apis/TMF688_Event_Management/TMF688_Get_Topic.bpmn +++ b/tmforum-apis/TMF688_Event_Management/TMF688_Get_Topic.bpmn @@ -7,7 +7,7 @@ [] [ { "name": "RestApi", "initCode": "functions://default/RestApi", "initParameters": [ { "name": "Uri", "type": "Uri", "required": true, "oldName": "Uri", "oldType": "Uri", "defaultValue": "http://servername:port/resource" }, { "name": "Method", "type": "string", "required": true, "oldName": "Method", "oldType": "string", "defaultValue": "GET" }, { "name": "Login", "type": "string", "required": false, "oldName": "Login", "oldType": "string", "defaultValue": null }, { "name": "Password", "type": "string", "required": false, "oldName": "Password", "oldType": "string", "defaultValue": null }, { "name": "Headers", "type": "StringDictionary", "required": false, "oldName": "Headers", "oldType": "StringDictionary", "defaultValue": "{\r\n \"Content-Type\":\"application/json;charset=utf-16\",\r\n \"system\":\"204\",\r\n \"global_unique_id\":\"6a297fcb-956e-4228-8c11-017e9bacd629\"\r\n }" }, { "name": "Body", "type": "string", "required": false, "oldName": "Body", "oldType": "string", "defaultValue": "{}" }, { "name": "Encoding", "type": "string", "required": false, "oldName": "Encoding", "oldType": "string", "defaultValue": "utf-8" }, { "name": "Result", "type": "HttpResponse", "required": false, "oldName": "Result", "oldType": "HttpResponse", "defaultValue": null } ], "oldName": "RestApi" }, { "name": "RestApi_Get", "initCode": "functions://default/RestApi/Get", "initParameters": [ { "name": "Uri", "type": "Uri", "required": true, "oldName": "Uri", "oldType": "Uri", "defaultValue": "http://servername:port/resource" }, { "name": "Login", "type": "string", "required": false, "oldName": "Login", "oldType": "string", "defaultValue": null }, { "name": "Password", "type": "string", "required": false, "oldName": "Password", "oldType": "string", "defaultValue": null }, { "name": "Headers", "type": "StringDictionary", "required": false, "oldName": "Headers", "oldType": "StringDictionary", "defaultValue": "{\r\n \"Content-Type\":\"application/json;charset=utf-16\",\r\n \"system\":\"204\",\r\n \"global_unique_id\":\"6a297fcb-956e-4228-8c11-017e9bacd629\"\r\n }" }, { "name": "Encoding", "type": "string", "required": false, "oldName": "Encoding", "oldType": "string", "defaultValue": "utf-8" }, { "name": "Result", "type": "HttpResponse", "required": false, "oldName": "Result", "oldType": "HttpResponse", "defaultValue": null } ], "oldName": "RestApi_Get" }, { "name": "JsonPath", "initCode": "functions://default//JsonPath", "initParameters": [ { "name": "Response", "type": "HttpResponse", "required": true, "oldName": "Response", "oldType": "HttpResponse", "defaultValue": null }, { "name": "Path", "type": "string", "required": false, "oldName": "Path", "oldType": "string", "defaultValue": "$" }, { "name": "Result", "type": "Json", "required": false, "oldName": "Result", "oldType": "Json", "defaultValue": null } ], "oldName": "JsonPath" }, { "name": "SaveVariable", "initCode": "functions://default//SaveVariable", "initParameters": [ { "name": "VariableName", "type": "string", "required": true, "oldName": "VariableName", "oldType": "string", "defaultValue": "varName" }, { "name": "Data", "type": "object", "required": true, "oldName": "Data", "oldType": "object", "defaultValue": "#previous" } ], "oldName": "SaveVariable" }, { "name": "Wait", "initCode": "functions://default//Wait", "initParameters": [ { "name": "millisecondsTimeout", "type": "int", "required": true, "oldName": "millisecondsTimeout", "oldType": "int", "defaultValue": "1000" } ], "oldName": "Wait" }, { "name": "SQL_Oracle_Query", "initCode": "functions://default//SQL/Oracle/Query", "initParameters": [ { "name": "userID", "type": "string", "required": true, "oldName": "userID", "oldType": "string", "defaultValue": null }, { "name": "password", "type": "string", "required": false, "oldName": "password", "oldType": "string", "defaultValue": null }, { "name": "dataSource", "type": "string", "required": false, "oldName": "dataSource", "oldType": "string", "defaultValue": null }, { "name": "query", "type": "string", "required": false, "oldName": "query", "oldType": "string", "defaultValue": null }, { "name": "Result", "type": "Collection", "required": false, "oldName": "Result", "oldType": "Collection", "defaultValue": null } ], "oldName": "SQL_Oracle_Query" }, { "name": "SQL_Oracle_Command", "initCode": "functions://default//SQL/Oracle/Command", "initParameters": [ { "name": "userID", "type": "string", "required": true, "oldName": "userID", "oldType": "string", "defaultValue": null }, { "name": "password", "type": "string", "required": false, "oldName": "password", "oldType": "string", "defaultValue": null }, { "name": "dataSource", "type": "string", "required": false, "oldName": "dataSource", "oldType": "string", "defaultValue": null }, { "name": "command", "type": "string", "required": false, "oldName": "command", "oldType": "string", "defaultValue": null }, { "name": "Result", "type": "int", "required": false, "oldName": "Result", "oldType": "int", "defaultValue": null } ], "oldName": "SQL_Oracle_Command" }] [] - [ { "name": "oracleConfig", "type": "OracleConfig", "initialValue": "{\r\n \"userId\":\"login\",\r\n \"password\":\"password\",\r\n \"dataSource\":\"10.49.1.198:1521/bisdb_prm.kyivstar.ua\"\r\n}\r\n" }, { "name": "httpConfig", "type": "HttpConfig", "initialValue": "{\r\n \"host\":\"https://10.29.101.122\",\r\n \"port\":\"6992\",\r\n \"login\":\"login\",\r\n \"password\":\"password\",\r\n \"encoding\":\"utf-8\",\r\n \"headers\":{\r\n \"Content-Type\":\"application/vnd.api+json\",\r\n \"Accept\":\"application/vnd.api+json\"\r\n }\r\n}\r\n" }, { "name": "sqlConnectionString", "type": "string", "initialValue": "Data Source=sqlserv;Initial Catalog=unibill;User ID=login;Password=password;MultipleActiveResultSets=true;Encrypt=True;TrustServerCertificate=True;Command Timeout=3600" }, { "name": "cacheId", "type": "string", "initialValue": null }, { "name": "cacheStatus", "type": "string", "initialValue": null }, { "name": "x_page_count", "type": "Int", "initialValue": "" }] + [ { "name": "oracleConfig", "type": "OracleConfig", "initialValue": "{\r\n \"userId\":\"login\",\r\n \"password\":\"password\",\r\n \"dataSource\":\"localhost:1521/XEPDB1\"\r\n}\r\n" }, { "name": "httpConfig", "type": "HttpConfig", "initialValue": "{\r\n \"host\":\"https://localhost\",\r\n \"port\":\"6992\",\r\n \"login\":\"login\",\r\n \"password\":\"password\",\r\n \"encoding\":\"utf-8\",\r\n \"headers\":{\r\n \"Content-Type\":\"application/vnd.api+json\",\r\n \"Accept\":\"application/vnd.api+json\"\r\n }\r\n}\r\n" }, { "name": "sqlConnectionString", "type": "string", "initialValue": "Data Source=localhost;Initial Catalog=examples;User ID=login;Password=;MultipleActiveResultSets=true;Encrypt=True;TrustServerCertificate=True;Command Timeout=3600" }, { "name": "cacheId", "type": "string", "initialValue": null }, { "name": "cacheStatus", "type": "string", "initialValue": null }, { "name": "x_page_count", "type": "Int", "initialValue": "" }] { "Accept-Language": "uk", "offset": 1, "limit": 50, "sort": "name"} diff --git a/tmforum-apis/TMF688_Event_Management/TMF688_Get_Topic_Event.bpmn b/tmforum-apis/TMF688_Event_Management/TMF688_Get_Topic_Event.bpmn index ee291aa..ae92557 100644 --- a/tmforum-apis/TMF688_Event_Management/TMF688_Get_Topic_Event.bpmn +++ b/tmforum-apis/TMF688_Event_Management/TMF688_Get_Topic_Event.bpmn @@ -7,7 +7,7 @@ [] [ { "name": "RestApi", "initCode": "functions://default/RestApi", "initParameters": [ { "name": "Uri", "type": "Uri", "required": true, "oldName": "Uri", "oldType": "Uri", "defaultValue": "http://servername:port/resource" }, { "name": "Method", "type": "string", "required": true, "oldName": "Method", "oldType": "string", "defaultValue": "GET" }, { "name": "Login", "type": "string", "required": false, "oldName": "Login", "oldType": "string", "defaultValue": null }, { "name": "Password", "type": "string", "required": false, "oldName": "Password", "oldType": "string", "defaultValue": null }, { "name": "Headers", "type": "StringDictionary", "required": false, "oldName": "Headers", "oldType": "StringDictionary", "defaultValue": "{\r\n \"Content-Type\":\"application/json;charset=utf-16\",\r\n \"system\":\"204\",\r\n \"global_unique_id\":\"6a297fcb-956e-4228-8c11-017e9bacd629\"\r\n }" }, { "name": "Body", "type": "string", "required": false, "oldName": "Body", "oldType": "string", "defaultValue": "{}" }, { "name": "Encoding", "type": "string", "required": false, "oldName": "Encoding", "oldType": "string", "defaultValue": "utf-8" }, { "name": "Result", "type": "HttpResponse", "required": false, "oldName": "Result", "oldType": "HttpResponse", "defaultValue": null } ], "oldName": "RestApi" }, { "name": "RestApi_Get", "initCode": "functions://default/RestApi/Get", "initParameters": [ { "name": "Uri", "type": "Uri", "required": true, "oldName": "Uri", "oldType": "Uri", "defaultValue": "http://servername:port/resource" }, { "name": "Login", "type": "string", "required": false, "oldName": "Login", "oldType": "string", "defaultValue": null }, { "name": "Password", "type": "string", "required": false, "oldName": "Password", "oldType": "string", "defaultValue": null }, { "name": "Headers", "type": "StringDictionary", "required": false, "oldName": "Headers", "oldType": "StringDictionary", "defaultValue": "{\r\n \"Content-Type\":\"application/json;charset=utf-16\",\r\n \"system\":\"204\",\r\n \"global_unique_id\":\"6a297fcb-956e-4228-8c11-017e9bacd629\"\r\n }" }, { "name": "Encoding", "type": "string", "required": false, "oldName": "Encoding", "oldType": "string", "defaultValue": "utf-8" }, { "name": "Result", "type": "HttpResponse", "required": false, "oldName": "Result", "oldType": "HttpResponse", "defaultValue": null } ], "oldName": "RestApi_Get" }, { "name": "JsonPath", "initCode": "functions://default//JsonPath", "initParameters": [ { "name": "Response", "type": "HttpResponse", "required": true, "oldName": "Response", "oldType": "HttpResponse", "defaultValue": null }, { "name": "Path", "type": "string", "required": false, "oldName": "Path", "oldType": "string", "defaultValue": "$" }, { "name": "Result", "type": "Json", "required": false, "oldName": "Result", "oldType": "Json", "defaultValue": null } ], "oldName": "JsonPath" }, { "name": "SaveVariable", "initCode": "functions://default//SaveVariable", "initParameters": [ { "name": "VariableName", "type": "string", "required": true, "oldName": "VariableName", "oldType": "string", "defaultValue": "varName" }, { "name": "Data", "type": "object", "required": true, "oldName": "Data", "oldType": "object", "defaultValue": "#previous" } ], "oldName": "SaveVariable" }, { "name": "Wait", "initCode": "functions://default//Wait", "initParameters": [ { "name": "millisecondsTimeout", "type": "int", "required": true, "oldName": "millisecondsTimeout", "oldType": "int", "defaultValue": "1000" } ], "oldName": "Wait" }, { "name": "SQL_Oracle_Query", "initCode": "functions://default//SQL/Oracle/Query", "initParameters": [ { "name": "userID", "type": "string", "required": true, "oldName": "userID", "oldType": "string", "defaultValue": null }, { "name": "password", "type": "string", "required": false, "oldName": "password", "oldType": "string", "defaultValue": null }, { "name": "dataSource", "type": "string", "required": false, "oldName": "dataSource", "oldType": "string", "defaultValue": null }, { "name": "query", "type": "string", "required": false, "oldName": "query", "oldType": "string", "defaultValue": null }, { "name": "Result", "type": "Collection", "required": false, "oldName": "Result", "oldType": "Collection", "defaultValue": null } ], "oldName": "SQL_Oracle_Query" }, { "name": "SQL_Oracle_Command", "initCode": "functions://default//SQL/Oracle/Command", "initParameters": [ { "name": "userID", "type": "string", "required": true, "oldName": "userID", "oldType": "string", "defaultValue": null }, { "name": "password", "type": "string", "required": false, "oldName": "password", "oldType": "string", "defaultValue": null }, { "name": "dataSource", "type": "string", "required": false, "oldName": "dataSource", "oldType": "string", "defaultValue": null }, { "name": "command", "type": "string", "required": false, "oldName": "command", "oldType": "string", "defaultValue": null }, { "name": "Result", "type": "int", "required": false, "oldName": "Result", "oldType": "int", "defaultValue": null } ], "oldName": "SQL_Oracle_Command" }] [] - [ { "name": "oracleConfig", "type": "OracleConfig", "initialValue": "{\r\n \"userId\":\"login\",\r\n \"password\":\"password\",\r\n \"dataSource\":\"10.49.1.198:1521/bisdb_prm.kyivstar.ua\"\r\n}\r\n" }, { "name": "httpConfig", "type": "HttpConfig", "initialValue": "{\r\n \"host\":\"https://10.29.101.122\",\r\n \"port\":\"6992\",\r\n \"login\":\"login\",\r\n \"password\":\"password\",\r\n \"encoding\":\"utf-8\",\r\n \"headers\":{\r\n \"Content-Type\":\"application/vnd.api+json\",\r\n \"Accept\":\"application/vnd.api+json\"\r\n }\r\n}\r\n" }, { "name": "sqlConnectionString", "type": "string", "initialValue": "Data Source=sqlserv;Initial Catalog=unibill;User ID=login;Password=password;MultipleActiveResultSets=true;Encrypt=True;TrustServerCertificate=True;Command Timeout=3600" }, { "name": "cacheId", "type": "string", "initialValue": null }, { "name": "cacheStatus", "type": "string", "initialValue": null }, { "name": "x_page_count", "type": "Int", "initialValue": "" }] + [ { "name": "oracleConfig", "type": "OracleConfig", "initialValue": "{\r\n \"userId\":\"login\",\r\n \"password\":\"password\",\r\n \"dataSource\":\"localhost:1521/XEPDB1\"\r\n}\r\n" }, { "name": "httpConfig", "type": "HttpConfig", "initialValue": "{\r\n \"host\":\"https://localhost\",\r\n \"port\":\"6992\",\r\n \"login\":\"login\",\r\n \"password\":\"password\",\r\n \"encoding\":\"utf-8\",\r\n \"headers\":{\r\n \"Content-Type\":\"application/vnd.api+json\",\r\n \"Accept\":\"application/vnd.api+json\"\r\n }\r\n}\r\n" }, { "name": "sqlConnectionString", "type": "string", "initialValue": "Data Source=localhost;Initial Catalog=examples;User ID=login;Password=;MultipleActiveResultSets=true;Encrypt=True;TrustServerCertificate=True;Command Timeout=3600" }, { "name": "cacheId", "type": "string", "initialValue": null }, { "name": "cacheStatus", "type": "string", "initialValue": null }, { "name": "x_page_count", "type": "Int", "initialValue": "" }] { "Accept-Language": "uk", "offset": 1, "limit": 50, "sort": "name"} diff --git a/tmforum-apis/TMF688_Event_Management/TMF688_Post_Topic.bpmn b/tmforum-apis/TMF688_Event_Management/TMF688_Post_Topic.bpmn index b232971..68fde4e 100644 --- a/tmforum-apis/TMF688_Event_Management/TMF688_Post_Topic.bpmn +++ b/tmforum-apis/TMF688_Event_Management/TMF688_Post_Topic.bpmn @@ -7,7 +7,7 @@ [] [ { "name": "RestApi", "initCode": "functions://default/RestApi", "initParameters": [ { "name": "Uri", "type": "Uri", "required": true, "oldName": "Uri", "oldType": "Uri", "defaultValue": "http://servername:port/resource" }, { "name": "Method", "type": "string", "required": true, "oldName": "Method", "oldType": "string", "defaultValue": "GET" }, { "name": "Login", "type": "string", "required": false, "oldName": "Login", "oldType": "string", "defaultValue": null }, { "name": "Password", "type": "string", "required": false, "oldName": "Password", "oldType": "string", "defaultValue": null }, { "name": "Headers", "type": "StringDictionary", "required": false, "oldName": "Headers", "oldType": "StringDictionary", "defaultValue": "{\r\n \"Content-Type\":\"application/json;charset=utf-16\",\r\n \"system\":\"204\",\r\n \"global_unique_id\":\"6a297fcb-956e-4228-8c11-017e9bacd629\"\r\n }" }, { "name": "Body", "type": "string", "required": false, "oldName": "Body", "oldType": "string", "defaultValue": "{}" }, { "name": "Encoding", "type": "string", "required": false, "oldName": "Encoding", "oldType": "string", "defaultValue": "utf-8" }, { "name": "Result", "type": "HttpResponse", "required": false, "oldName": "Result", "oldType": "HttpResponse", "defaultValue": null } ], "oldName": "RestApi" }, { "name": "RestApi_Get", "initCode": "functions://default/RestApi/Get", "initParameters": [ { "name": "Uri", "type": "Uri", "required": true, "oldName": "Uri", "oldType": "Uri", "defaultValue": "http://servername:port/resource" }, { "name": "Login", "type": "string", "required": false, "oldName": "Login", "oldType": "string", "defaultValue": null }, { "name": "Password", "type": "string", "required": false, "oldName": "Password", "oldType": "string", "defaultValue": null }, { "name": "Headers", "type": "StringDictionary", "required": false, "oldName": "Headers", "oldType": "StringDictionary", "defaultValue": "{\r\n \"Content-Type\":\"application/json;charset=utf-16\",\r\n \"system\":\"204\",\r\n \"global_unique_id\":\"6a297fcb-956e-4228-8c11-017e9bacd629\"\r\n }" }, { "name": "Encoding", "type": "string", "required": false, "oldName": "Encoding", "oldType": "string", "defaultValue": "utf-8" }, { "name": "Result", "type": "HttpResponse", "required": false, "oldName": "Result", "oldType": "HttpResponse", "defaultValue": null } ], "oldName": "RestApi_Get" }, { "name": "JsonPath", "initCode": "functions://default//JsonPath", "initParameters": [ { "name": "Response", "type": "HttpResponse", "required": true, "oldName": "Response", "oldType": "HttpResponse", "defaultValue": null }, { "name": "Path", "type": "string", "required": false, "oldName": "Path", "oldType": "string", "defaultValue": "$" }, { "name": "Result", "type": "Json", "required": false, "oldName": "Result", "oldType": "Json", "defaultValue": null } ], "oldName": "JsonPath" }, { "name": "SaveVariable", "initCode": "functions://default//SaveVariable", "initParameters": [ { "name": "VariableName", "type": "string", "required": true, "oldName": "VariableName", "oldType": "string", "defaultValue": "varName" }, { "name": "Data", "type": "object", "required": true, "oldName": "Data", "oldType": "object", "defaultValue": "#previous" } ], "oldName": "SaveVariable" }, { "name": "Wait", "initCode": "functions://default//Wait", "initParameters": [ { "name": "millisecondsTimeout", "type": "int", "required": true, "oldName": "millisecondsTimeout", "oldType": "int", "defaultValue": "1000" } ], "oldName": "Wait" }, { "name": "SQL_Oracle_Query", "initCode": "functions://default//SQL/Oracle/Query", "initParameters": [ { "name": "userID", "type": "string", "required": true, "oldName": "userID", "oldType": "string", "defaultValue": null }, { "name": "password", "type": "string", "required": false, "oldName": "password", "oldType": "string", "defaultValue": null }, { "name": "dataSource", "type": "string", "required": false, "oldName": "dataSource", "oldType": "string", "defaultValue": null }, { "name": "query", "type": "string", "required": false, "oldName": "query", "oldType": "string", "defaultValue": null }, { "name": "Result", "type": "Collection", "required": false, "oldName": "Result", "oldType": "Collection", "defaultValue": null } ], "oldName": "SQL_Oracle_Query" }, { "name": "SQL_Oracle_Command", "initCode": "functions://default//SQL/Oracle/Command", "initParameters": [ { "name": "userID", "type": "string", "required": true, "oldName": "userID", "oldType": "string", "defaultValue": null }, { "name": "password", "type": "string", "required": false, "oldName": "password", "oldType": "string", "defaultValue": null }, { "name": "dataSource", "type": "string", "required": false, "oldName": "dataSource", "oldType": "string", "defaultValue": null }, { "name": "command", "type": "string", "required": false, "oldName": "command", "oldType": "string", "defaultValue": null }, { "name": "Result", "type": "int", "required": false, "oldName": "Result", "oldType": "int", "defaultValue": null } ], "oldName": "SQL_Oracle_Command" }] [] - [ { "name": "httpConfig", "type": "HttpConfig", "initialValue": "{\r\n \"host\":\"https://10.29.101.122\",\r\n \"port\":\"6992\",\r\n \"login\":\"login\",\r\n \"password\":\"password\",\r\n \"encoding\":\"utf-8\",\r\n \"headers\":{\r\n \"Content-Type\":\"application/vnd.api+json\",\r\n \"Accept\":\"application/vnd.api+json\"\r\n }\r\n}\r\n" }, { "name": "sqlConnectionString", "type": "string", "initialValue": "Data Source=sqlserv;Initial Catalog=unibill;User ID=login;Password=password;MultipleActiveResultSets=true;Encrypt=True;TrustServerCertificate=True;Command Timeout=3600" }, { "name": "x_ms_client_request_id", "type": "string", "initialValue": "" }] + [ { "name": "httpConfig", "type": "HttpConfig", "initialValue": "{\r\n \"host\":\"https://localhost\",\r\n \"port\":\"6992\",\r\n \"login\":\"login\",\r\n \"password\":\"password\",\r\n \"encoding\":\"utf-8\",\r\n \"headers\":{\r\n \"Content-Type\":\"application/vnd.api+json\",\r\n \"Accept\":\"application/vnd.api+json\"\r\n }\r\n}\r\n" }, { "name": "sqlConnectionString", "type": "string", "initialValue": "Data Source=localhost;Initial Catalog=examples;User ID=login;Password=;MultipleActiveResultSets=true;Encrypt=True;TrustServerCertificate=True;Command Timeout=3600" }, { "name": "x_ms_client_request_id", "type": "string", "initialValue": "" }] { "name": "myFirstTriger", "header": { "eventType": "DataUsageOverlimitEvent", "relatedParty": [ { "@referredType": "Customers", "id": 7702142, "IDType": 0 } ] }, "event": { "AckAlarms": { "@type": "AckAlarms", "ackUserId": "username", "ackUserFrom": "hostname", "alarmPattern": [ { "@type": "Alarm", "name": "Counter", "analyticCharacteristic": [ { "id": "tp_Code", "name": "tp_Code", "value": "40003", "valueType": "string", "@type": "Characteristic" }, { "@type": "Characteristic", "valueType": "string", "id": "scrg_Code", "name": "scrg_Code", "value": "default" }, { "@type": "Characteristic", "valueType": "string", "id": "dnm_Code", "name": "dnm_Code", "value": "DTE_ROAM_1" } ] } ], "ackedAlarm": [ { "@type": "Alarm", "name": "Percent", "crossedThresholdInformation": { "observedValue": "20", "threshold": { "@type": "ThresholdRef", "id": "Percent" }, "@type": "CrossedThresholdInformation" } } ] } }} diff --git a/tmforum-apis/TMF688_Event_Management/TMF688_Put_Topic.bpmn b/tmforum-apis/TMF688_Event_Management/TMF688_Put_Topic.bpmn index c75f2df..928bbdc 100644 --- a/tmforum-apis/TMF688_Event_Management/TMF688_Put_Topic.bpmn +++ b/tmforum-apis/TMF688_Event_Management/TMF688_Put_Topic.bpmn @@ -7,7 +7,7 @@ [] [ { "name": "RestApi", "initCode": "functions://default/RestApi", "initParameters": [ { "name": "Uri", "type": "Uri", "required": true, "oldName": "Uri", "oldType": "Uri", "defaultValue": "http://servername:port/resource" }, { "name": "Method", "type": "string", "required": true, "oldName": "Method", "oldType": "string", "defaultValue": "GET" }, { "name": "Login", "type": "string", "required": false, "oldName": "Login", "oldType": "string", "defaultValue": null }, { "name": "Password", "type": "string", "required": false, "oldName": "Password", "oldType": "string", "defaultValue": null }, { "name": "Headers", "type": "StringDictionary", "required": false, "oldName": "Headers", "oldType": "StringDictionary", "defaultValue": "{\r\n\n \"Content-Type\":\"application/json;charset=utf-16\",\r\n\n \"system\":\"204\",\r\n\n \"global_unique_id\":\"6a297fcb-956e-4228-8c11-017e9bacd629\"\r\n\n }" }, { "name": "Body", "type": "string", "required": false, "oldName": "Body", "oldType": "string", "defaultValue": "{}" }, { "name": "Encoding", "type": "string", "required": false, "oldName": "Encoding", "oldType": "string", "defaultValue": "utf-8" }, { "name": "Result", "type": "HttpResponse", "required": false, "oldName": "Result", "oldType": "HttpResponse", "defaultValue": null } ], "oldName": "RestApi" }, { "name": "RestApi_Get", "initCode": "functions://default/RestApi/Get", "initParameters": [ { "name": "Uri", "type": "Uri", "required": true, "oldName": "Uri", "oldType": "Uri", "defaultValue": "http://servername:port/resource" }, { "name": "Login", "type": "string", "required": false, "oldName": "Login", "oldType": "string", "defaultValue": null }, { "name": "Password", "type": "string", "required": false, "oldName": "Password", "oldType": "string", "defaultValue": null }, { "name": "Headers", "type": "StringDictionary", "required": false, "oldName": "Headers", "oldType": "StringDictionary", "defaultValue": "{\r\n\n \"Content-Type\":\"application/json;charset=utf-16\",\r\n\n \"system\":\"204\",\r\n\n \"global_unique_id\":\"6a297fcb-956e-4228-8c11-017e9bacd629\"\r\n\n }" }, { "name": "Encoding", "type": "string", "required": false, "oldName": "Encoding", "oldType": "string", "defaultValue": "utf-8" }, { "name": "Result", "type": "HttpResponse", "required": false, "oldName": "Result", "oldType": "HttpResponse", "defaultValue": null } ], "oldName": "RestApi_Get" }, { "name": "JsonPath", "initCode": "functions://default//JsonPath", "initParameters": [ { "name": "Response", "type": "HttpResponse", "required": true, "oldName": "Response", "oldType": "HttpResponse", "defaultValue": null }, { "name": "Path", "type": "string", "required": false, "oldName": "Path", "oldType": "string", "defaultValue": "$" }, { "name": "Result", "type": "Json", "required": false, "oldName": "Result", "oldType": "Json", "defaultValue": null } ], "oldName": "JsonPath" }, { "name": "SaveVariable", "initCode": "functions://default//SaveVariable", "initParameters": [ { "name": "VariableName", "type": "string", "required": true, "oldName": "VariableName", "oldType": "string", "defaultValue": "varName" }, { "name": "Data", "type": "object", "required": true, "oldName": "Data", "oldType": "object", "defaultValue": "#previous" } ], "oldName": "SaveVariable" }, { "name": "Wait", "initCode": "functions://default//Wait", "initParameters": [ { "name": "millisecondsTimeout", "type": "int", "required": true, "oldName": "millisecondsTimeout", "oldType": "int", "defaultValue": "1000" } ], "oldName": "Wait" }, { "name": "SQL_Oracle_Query", "initCode": "functions://default//SQL/Oracle/Query", "initParameters": [ { "name": "userID", "type": "string", "required": true, "oldName": "userID", "oldType": "string", "defaultValue": null }, { "name": "password", "type": "string", "required": false, "oldName": "password", "oldType": "string", "defaultValue": null }, { "name": "dataSource", "type": "string", "required": false, "oldName": "dataSource", "oldType": "string", "defaultValue": null }, { "name": "query", "type": "string", "required": false, "oldName": "query", "oldType": "string", "defaultValue": null }, { "name": "Result", "type": "Collection", "required": false, "oldName": "Result", "oldType": "Collection", "defaultValue": null } ], "oldName": "SQL_Oracle_Query" }, { "name": "SQL_Oracle_Command", "initCode": "functions://default//SQL/Oracle/Command", "initParameters": [ { "name": "userID", "type": "string", "required": true, "oldName": "userID", "oldType": "string", "defaultValue": null }, { "name": "password", "type": "string", "required": false, "oldName": "password", "oldType": "string", "defaultValue": null }, { "name": "dataSource", "type": "string", "required": false, "oldName": "dataSource", "oldType": "string", "defaultValue": null }, { "name": "command", "type": "string", "required": false, "oldName": "command", "oldType": "string", "defaultValue": null }, { "name": "Result", "type": "int", "required": false, "oldName": "Result", "oldType": "int", "defaultValue": null } ], "oldName": "SQL_Oracle_Command" }] [] - [ { "name": "httpConfig", "type": "HttpConfig", "initialValue": "{\r\n\n \"host\":\"https://10.29.101.122\",\r\n\n \"port\":\"6992\",\r\n\n \"login\":\"login\",\r\n\n \"password\":\"password\",\r\n\n \"encoding\":\"utf-8\",\r\n\n \"headers\":{\r\n\n \"Content-Type\":\"application/vnd.api+json\",\r\n\n \"Accept\":\"application/vnd.api+json\"\r\n\n }\r\n\n}\r\n\n" }, { "name": "sqlConnectionString", "type": "string", "initialValue": "Data Source=sqlserv;Initial Catalog=unibill;User ID=login;Password=password;MultipleActiveResultSets=true;Encrypt=True;TrustServerCertificate=True;Command Timeout=3600" }] + [ { "name": "httpConfig", "type": "HttpConfig", "initialValue": "{\r\n\n \"host\":\"https://localhost\",\r\n\n \"port\":\"6992\",\r\n\n \"login\":\"login\",\r\n\n \"password\":\"password\",\r\n\n \"encoding\":\"utf-8\",\r\n\n \"headers\":{\r\n\n \"Content-Type\":\"application/vnd.api+json\",\r\n\n \"Accept\":\"application/vnd.api+json\"\r\n\n }\r\n\n}\r\n\n" }, { "name": "sqlConnectionString", "type": "string", "initialValue": "Data Source=localhost;Initial Catalog=examples;User ID=login;Password=;MultipleActiveResultSets=true;Encrypt=True;TrustServerCertificate=True;Command Timeout=3600" }] { "name": "myFirstTriger", "header": { "eventType": "DataUsageOverlimitEvent", "relatedParty": [ { "@referredType": "Customers", "id": 7702142, "IDType": 0 } ] }, "event": { "AckAlarms": { "@type": "AckAlarms", "ackUserId": "username", "ackUserFrom": "hostname", "alarmPattern": [ { "@type": "Alarm", "name": "Counter", "analyticCharacteristic": [ { "id": "tp_Code", "name": "tp_Code", "value": "40003", "valueType": "string", "@type": "Characteristic" }, { "@type": "Characteristic", "valueType": "string", "id": "scrg_Code", "name": "scrg_Code", "value": "default" }, { "@type": "Characteristic", "valueType": "string", "id": "dnm_Code", "name": "dnm_Code", "value": "DTE_ROAM_1" } ] } ], "ackedAlarm": [ { "@type": "Alarm", "name": "Percent", "crossedThresholdInformation": { "observedValue": "20", "threshold": { "@type": "ThresholdRef", "id": "Percent" }, "@type": "CrossedThresholdInformation" } } ] } }, "id": "64"} diff --git a/tmforum-apis/TMF688_Event_Management/tmf688_event.management.json b/tmforum-apis/TMF688_Event_Management/tmf688_event.management.json index 115a0ea..2a48288 100644 --- a/tmforum-apis/TMF688_Event_Management/tmf688_event.management.json +++ b/tmforum-apis/TMF688_Event_Management/tmf688_event.management.json @@ -1613,7 +1613,7 @@ "note": [ { "author": "domain+username", - "hostname": "192.156.7.77", + "hostname": "localhost", "text": "creating GSM services", "@type": "Note" } @@ -1737,7 +1737,7 @@ "note": [ { "author": "domain+username", - "hostname": "192.156.7.77", + "hostname": "localhost", "text": "creating GSM services", "@type": "Note" } @@ -1785,7 +1785,7 @@ "note": [ { "author": "domain+username", - "hostname": "192.156.7.77", + "hostname": "localhost", "text": "creating GSM services", "@type": "Note" } @@ -2662,7 +2662,7 @@ "note": [ { "author": "domain+username", - "hostname": "192.156.7.77", + "hostname": "localhost", "text": "creating GSM services", "@type": "Note" } @@ -2786,7 +2786,7 @@ "note": [ { "author": "domain+username", - "hostname": "192.156.7.77", + "hostname": "localhost", "text": "creating GSM services", "@type": "Note" } @@ -2834,7 +2834,7 @@ "note": [ { "author": "domain+username", - "hostname": "192.156.7.77", + "hostname": "localhost", "text": "creating GSM services", "@type": "Note" } diff --git a/tmforum-apis/TMF724_Incident_Management/TMF724_Incident_Management.postman_collection.json b/tmforum-apis/TMF724_Incident_Management/TMF724_Incident_Management.postman_collection.json index 271877c..4516e69 100644 --- a/tmforum-apis/TMF724_Incident_Management/TMF724_Incident_Management.postman_collection.json +++ b/tmforum-apis/TMF724_Incident_Management/TMF724_Incident_Management.postman_collection.json @@ -359,7 +359,7 @@ ] }, { - "name": "185.190.206.134:8484/diagnoseIncident", + "name": "localhost:8484/diagnoseIncident", "request": { "method": "POST", "header": [ @@ -378,7 +378,7 @@ } }, "url": { - "raw": "http://185.190.206.134:8484/diagnoseIncident", + "raw": "http://localhost:8484/diagnoseIncident", "protocol": "http", "host": [ "185", @@ -413,7 +413,7 @@ } }, "url": { - "raw": "http://185.190.206.134:8484/diagnoseIncident", + "raw": "http://localhost:8484/diagnoseIncident", "protocol": "http", "host": [ "185", diff --git a/tmforum-apis/TMF724_Incident_Management/TMF724_POST_diagnoseIncident.bpmn b/tmforum-apis/TMF724_Incident_Management/TMF724_POST_diagnoseIncident.bpmn index affa39f..228159f 100644 --- a/tmforum-apis/TMF724_Incident_Management/TMF724_POST_diagnoseIncident.bpmn +++ b/tmforum-apis/TMF724_Incident_Management/TMF724_POST_diagnoseIncident.bpmn @@ -8,7 +8,7 @@ [] [{"name":"RestApi","initCode":"functions://default/RestApi","initParameters":[{"name":"Uri","type":"Uri","required":true,"oldName":"Uri","oldType":"Uri","defaultValue":"http://servername:port/resource"},{"name":"Method","type":"string","required":true,"oldName":"Method","oldType":"string","defaultValue":"GET"},{"name":"Login","type":"string","required":false,"oldName":"Login","oldType":"string","defaultValue":null},{"name":"Password","type":"string","required":false,"oldName":"Password","oldType":"string","defaultValue":null},{"name":"Headers","type":"StringDictionary","required":false,"oldName":"Headers","oldType":"StringDictionary","defaultValue":"{\r\n \"Content-Type\":\"application/json;charset=utf-16\",\r\n \"system\":\"204\",\r\n \"global_unique_id\":\"6a297fcb-956e-4228-8c11-017e9bacd629\"\r\n }"},{"name":"Body","type":"string","required":false,"oldName":"Body","oldType":"string","defaultValue":"{}"},{"name":"Encoding","type":"string","required":false,"oldName":"Encoding","oldType":"string","defaultValue":"utf-8"},{"name":"Timeout","type":"int","required":false,"oldName":"Timeout","oldType":"int","defaultValue":"0"},{"name":"Result","type":"HttpResponse","required":false,"oldName":"Result","oldType":"HttpResponse","defaultValue":null}],"oldName":"RestApi"},{"name":"RestApi/GET","initCode":"functions://default/RestApi/Get","initParameters":[{"name":"Uri","type":"Uri","required":true,"oldName":"Uri","oldType":"Uri","defaultValue":"http://servername:port/resource"},{"name":"Login","type":"string","required":false,"oldName":"Login","oldType":"string","defaultValue":null},{"name":"Password","type":"string","required":false,"oldName":"Password","oldType":"string","defaultValue":null},{"name":"Headers","type":"StringDictionary","required":false,"oldName":"Headers","oldType":"StringDictionary","defaultValue":"{\r\n \"Content-Type\":\"application/json;charset=utf-16\",\r\n \"system\":\"204\",\r\n \"global_unique_id\":\"6a297fcb-956e-4228-8c11-017e9bacd629\"\r\n }"},{"name":"Encoding","type":"string","required":false,"oldName":"Encoding","oldType":"string","defaultValue":"utf-8"},{"name":"Timeout","type":"int","required":false,"oldName":"Timeout","oldType":"int","defaultValue":"0"},{"name":"Result","type":"HttpResponse","required":false,"oldName":"Result","oldType":"HttpResponse","defaultValue":null}],"oldName":"RestApi/GET"},{"name":"JsonPath","initCode":"functions://default//JsonPath","initParameters":[{"name":"Response","type":"HttpResponse","required":true,"oldName":"Response","oldType":"HttpResponse","defaultValue":null},{"name":"Path","type":"string","required":false,"oldName":"Path","oldType":"string","defaultValue":"$"},{"name":"Result","type":"Json","required":false,"oldName":"Result","oldType":"Json","defaultValue":null}],"oldName":"JsonPath"},{"name":"SaveVariable","initCode":"functions://default//SaveVariable","initParameters":[{"name":"VariableName","type":"string","required":true,"oldName":"VariableName","oldType":"string","defaultValue":"varName"},{"name":"Data","type":"object","required":true,"oldName":"Data","oldType":"object","defaultValue":"#previous"}],"oldName":"SaveVariable"},{"name":"SQL/Oracle/Query","initCode":"functions://default//SQL/Oracle/Query","initParameters":[{"name":"userID","type":"string","required":true,"oldName":"userID","oldType":"string","defaultValue":null},{"name":"password","type":"string","required":false,"oldName":"password","oldType":"string","defaultValue":null},{"name":"dataSource","type":"string","required":false,"oldName":"dataSource","oldType":"string","defaultValue":null},{"name":"query","type":"string","required":false,"oldName":"query","oldType":"string","defaultValue":null},{"name":"Result","type":"Collection","required":false,"oldName":"Result","oldType":"Collection","defaultValue":null}],"oldName":"SQL/Oracle/Query"},{"name":"SQL/Oracle/Command","initCode":"functions://default//SQL/Oracle/Command","initParameters":[{"name":"userID","type":"string","required":true,"oldName":"userID","oldType":"string","defaultValue":null},{"name":"password","type":"string","required":false,"oldName":"password","oldType":"string","defaultValue":null},{"name":"dataSource","type":"string","required":false,"oldName":"dataSource","oldType":"string","defaultValue":null},{"name":"command","type":"string","required":false,"oldName":"command","oldType":"string","defaultValue":null},{"name":"Result","type":"int","required":false,"oldName":"Result","oldType":"int","defaultValue":null}],"oldName":"SQL/Oracle/Command"}] [] - [{"name":"dbConnectionString ","type":"string","initialValue":"host=192.168.25.204;port=5432;Database=catalyst_hw;User Id=postgres;password=example;"},{"name":"di","type":"DiagnoseIncident","initialValue":""},{"name":"HuaweiApiHost","type":"string","initialValue":"http://185.190.206.134:8484"},{"name":"InfosysApiHost","type":"string","initialValue":""},{"name":"llamaBearer","type":"string","initialValue":"LL-OlLPN1yRufuR3uEXRnTZkbHjBaC7NMq3o4wwobAGIJbUyeSQ13mcn0Bak3yUqwKG"},{"name":"QvantelApiHost","type":"string","initialValue":""},{"name":"textEmbeddingUrl","type":"string","initialValue":"http://192.168.25.204:5000"},{"name":"TroubleTicket","type":"Json","initialValue":""},{"name":"listOfAlarms","type":"string[]","initialValue":""}] + [{"name":"dbConnectionString ","type":"string","initialValue":"host=localhost;port=5432;Database=catalyst_hw;User Id=postgres;password=example;"},{"name":"di","type":"DiagnoseIncident","initialValue":""},{"name":"HuaweiApiHost","type":"string","initialValue":"http://localhost:8484"},{"name":"InfosysApiHost","type":"string","initialValue":""},{"name":"llamaBearer","type":"string","initialValue":"LL-OlLPN1yRufuR3uEXRnTZkbHjBaC7NMq3o4wwobAGIJbUyeSQ13mcn0Bak3yUqwKG"},{"name":"QvantelApiHost","type":"string","initialValue":""},{"name":"textEmbeddingUrl","type":"string","initialValue":"http://localhost:5000"},{"name":"TroubleTicket","type":"Json","initialValue":""},{"name":"listOfAlarms","type":"string[]","initialValue":""}] {"id":null,"conversationId":"345-999","ownerId":"121-456","errorLog":null,"incident":{"id":123,"occurTime":"2022-03-10","updateTime":"string","ackState":"ACKNOWLEDGED","category":"network","incidentDetail":"router ping is not successfull","incidentResolutionSuggestion":null,"rootCause":null,"name":"Incident router","@type":"Incident","eventId":[{"description":"Loss of signal to the Ethernet port. The alarm is generated when no Ethernet signal is received on the Ethernet port.","date":"23/05/24","ne":3758,"id":"ETH_LOS","@type":"alarm"},{"description":"Loss of signal to the Ethernet port. The alarm is generated when no Ethernet signal is received on the Ethernet port.","date":"23/05/24","ne":310,"id":"MPLS_TUNNEL_LOCV","@type":"alarm"},{"description":"Loss of signal to the Ethernet port. The alarm is generated when no Ethernet signal is received on the Ethernet port.","date":"23/05/24","ne":3789,"id":"MPLS_PW_LOCV","@type":"alarm"},{"description":"Loss of signal to the Ethernet port. The alarm is generated when no Ethernet signal is received on the Ethernet port.","date":"23/05/24","ne":3789,"id":"MPLS_TUNNEL_LOCV","@type":"alarm"}]},"state":null,"@type":"DiagnoseIncident"} {"CompileInfo":{"ExportName":"Incident","PackageName":"Incident.management","PackageVersion":"1.0.0.20","PluginName":"Incident_management"},"Workflows":[{"Id":114}]} {"id":null,"conversationId":345,"ownerId":456,"errorLog":null,"incident":{"id":123,"occurTime":"2022-03-10","updateTime":"string","ackState":"ACKNOWLEDGED","category":"network","incidentDetail":"router ping is not successfull","incidentResolutionSuggestion":null,"rootCause":null,"name":"Incident router","@type":"Incident","eventId":[{"description":"Loss of signal to the Ethernet port. The alarm is generated when no Ethernet signal is received on the Ethernet port.","date":"23/05/24","ne":3758,"id":"ETH_LOS","@type":"alarm"},{"description":"Loss of signal to the Ethernet port. The alarm is generated when no Ethernet signal is received on the Ethernet port.","date":"23/05/24","ne":310,"id":"MPLS_TUNNEL_LOCV","@type":"alarm"},{"description":"Loss of signal to the Ethernet port. The alarm is generated when no Ethernet signal is received on the Ethernet port.","date":"23/05/24","ne":3789,"id":"MPLS_PW_LOCV","@type":"alarm"},{"description":"Loss of signal to the Ethernet port. The alarm is generated when no Ethernet signal is received on the Ethernet port.","date":"23/05/24","ne":3789,"id":"MPLS_TUNNEL_LOCV","@type":"alarm"}]},"state":null,"@type":"DiagnoseIncident"} diff --git a/tmforum-apis/TMF727_Service_Usage_Management/TMF727_Get_ServiceUsage.bpmn b/tmforum-apis/TMF727_Service_Usage_Management/TMF727_Get_ServiceUsage.bpmn index f77c19f..5264c63 100644 --- a/tmforum-apis/TMF727_Service_Usage_Management/TMF727_Get_ServiceUsage.bpmn +++ b/tmforum-apis/TMF727_Service_Usage_Management/TMF727_Get_ServiceUsage.bpmn @@ -7,7 +7,7 @@ [] [ { "name": "RestApi", "initCode": "functions://default/RestApi", "initParameters": [ { "name": "Uri", "type": "Uri", "required": true, "oldName": "Uri", "defaultValue": "http://servername:port/resource" }, { "name": "Method", "type": "String", "required": true, "oldName": "Method", "defaultValue": "GET" }, { "name": "Login", "type": "String", "required": false, "oldName": "Login", "defaultValue": null }, { "name": "Password", "type": "String", "required": false, "oldName": "Password", "defaultValue": null }, { "name": "Headers", "type": "StringDictionary", "required": false, "oldName": "Headers", "defaultValue": "{\r\n \"Content-Type\":\"application/json;charset=utf-16\",\r\n \"system\":\"204\",\r\n \"global_unique_id\":\"6a297fcb-956e-4228-8c11-017e9bacd629\"\r\n }" }, { "name": "Body", "type": "String", "required": false, "oldName": "Body", "defaultValue": "{}" }, { "name": "Encoding", "type": "String", "required": false, "oldName": "Encoding", "defaultValue": "utf-8" }, { "name": "Result", "type": "HttpResponse", "required": false, "oldName": "Result", "defaultValue": null } ], "oldName": "RestApi" }, { "name": "RestApi_Get", "initCode": "functions://default/RestApi/Get", "initParameters": [ { "name": "Uri", "type": "Uri", "required": true, "oldName": "Uri", "defaultValue": "http://servername:port/resource" }, { "name": "Login", "type": "String", "required": false, "oldName": "Login", "defaultValue": null }, { "name": "Password", "type": "String", "required": false, "oldName": "Password", "defaultValue": null }, { "name": "Headers", "type": "StringDictionary", "required": false, "oldName": "Headers", "defaultValue": "{\r\n \"Content-Type\":\"application/json;charset=utf-16\",\r\n \"system\":\"204\",\r\n \"global_unique_id\":\"6a297fcb-956e-4228-8c11-017e9bacd629\"\r\n }" }, { "name": "Encoding", "type": "String", "required": false, "oldName": "Encoding", "defaultValue": "utf-8" }, { "name": "Result", "type": "HttpResponse", "required": false, "oldName": "Result", "defaultValue": null } ], "oldName": "RestApi_Get" }, { "name": "JsonPath", "initCode": "functions://default//JsonPath", "initParameters": [ { "name": "Response", "type": "HttpResponse", "required": true, "oldName": "Response", "defaultValue": null }, { "name": "Path", "type": "String", "required": false, "oldName": "Path", "defaultValue": "$" }, { "name": "Result", "type": "Json", "required": false, "oldName": "Result", "defaultValue": null } ], "oldName": "JsonPath" }, { "name": "SaveVariable", "initCode": "functions://default//SaveVariable", "initParameters": [ { "name": "VariableName", "type": "string", "required": true, "oldName": "VariableName", "defaultValue": "varName" }, { "name": "Data", "type": "object", "required": true, "oldName": "Data", "defaultValue": "#previous" } ], "oldName": "SaveVariable" }, { "name": "Wait", "initCode": "functions://default//Wait", "initParameters": [ { "name": "millisecondsTimeout", "type": "int", "required": true, "oldName": "millisecondsTimeout", "defaultValue": "1000" } ], "oldName": "Wait" }, { "name": "SQL_Oracle_Query", "initCode": "functions://default//SQL/Oracle/Query", "initParameters": [ { "name": "userID", "type": "String", "required": true, "oldName": "userID", "defaultValue": null }, { "name": "password", "type": "String", "required": false, "oldName": "password", "defaultValue": null }, { "name": "dataSource", "type": "String", "required": false, "oldName": "dataSource", "defaultValue": null }, { "name": "query", "type": "String", "required": false, "oldName": "query", "defaultValue": null }, { "name": "Result", "type": "Collection", "required": false, "oldName": "Result", "defaultValue": null } ], "oldName": "SQL_Oracle_Query" }, { "name": "SQL_Oracle_Command", "initCode": "functions://default//SQL/Oracle/Command", "initParameters": [ { "name": "userID", "type": "String", "required": true, "oldName": "userID", "defaultValue": null }, { "name": "password", "type": "String", "required": false, "oldName": "password", "defaultValue": null }, { "name": "dataSource", "type": "String", "required": false, "oldName": "dataSource", "defaultValue": null }, { "name": "command", "type": "String", "required": false, "oldName": "command", "defaultValue": null }, { "name": "Result", "type": "int", "required": false, "oldName": "Result", "defaultValue": null } ], "oldName": "SQL_Oracle_Command" }] [] - [ { "name": "oracleConfig", "type": "OracleConfig", "initialValue": "{\r\n \"userId\":\"login\",\r\n \"password\":\"password\",\r\n \"dataSource\":\"10.49.1.198:1521/bisdb_prm.kyivstar.ua\"\r\n}\r\n" }, { "name": "httpConfig", "type": "HttpConfig", "initialValue": "{\r\n \"host\":\"https://10.29.101.122\",\r\n \"port\":\"6992\",\r\n \"login\":\"login\",\r\n \"password\":\"password\",\r\n \"encoding\":\"utf-8\",\r\n \"headers\":{\r\n \"Content-Type\":\"application/vnd.api+json\",\r\n \"Accept\":\"application/vnd.api+json\"\r\n }\r\n}\r\n" }, { "name": "sqlConnectionString", "type": "string", "initialValue": "Data Source=sqlserv;Initial Catalog=unibill;User ID=login;Password=password;MultipleActiveResultSets=true;Encrypt=True;TrustServerCertificate=True;Command Timeout=3600" }, { "name": "cacheId", "type": "string", "initialValue": null }, { "name": "cacheStatus", "type": "string", "initialValue": null }, { "name": "x_page_count", "type": "Int", "initialValue": "" }] + [ { "name": "oracleConfig", "type": "OracleConfig", "initialValue": "{\r\n \"userId\":\"login\",\r\n \"password\":\"password\",\r\n \"dataSource\":\"localhost:1521/XEPDB1\"\r\n}\r\n" }, { "name": "httpConfig", "type": "HttpConfig", "initialValue": "{\r\n \"host\":\"https://localhost\",\r\n \"port\":\"6992\",\r\n \"login\":\"login\",\r\n \"password\":\"password\",\r\n \"encoding\":\"utf-8\",\r\n \"headers\":{\r\n \"Content-Type\":\"application/vnd.api+json\",\r\n \"Accept\":\"application/vnd.api+json\"\r\n }\r\n}\r\n" }, { "name": "sqlConnectionString", "type": "string", "initialValue": "Data Source=localhost;Initial Catalog=examples;User ID=login;Password=;MultipleActiveResultSets=true;Encrypt=True;TrustServerCertificate=True;Command Timeout=3600" }, { "name": "cacheId", "type": "string", "initialValue": null }, { "name": "cacheStatus", "type": "string", "initialValue": null }, { "name": "x_page_count", "type": "Int", "initialValue": "" }] { "offset": 1, "limit": 50, "externalId": [ { "@type": "externalId", "externalIdentifierType": "Extentions", "id": "456" } ], "relatedParty": [ { "@referredType": "Customers", "id": 4012662, "IDType": 0 } ], "sort": "-id"} From 9cbd0e68c2f36b6464f298bac80070d2cb68fc25 Mon Sep 17 00:00:00 2001 From: Sergej Polovnikov Date: Tue, 1 Sep 2026 03:40:38 +0300 Subject: [PATCH 05/19] feat(flow-patterns): teaching examples written for this folder MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The group held fourteen models lifted from running systems. Read as teaching material they did not work: a newcomer met `sharepoint-get-folders-latest`, `CredentialSP`, `billCycleNo`, `AgentCard` and a node labelled "to do", and had to guess which parts were the lesson. One model was a byte-for-byte copy of the repository's own `http-stream` example. Three referenced a personal library, which the platform resolves only for the account that created it, so they could never compile for a reader. Replaced by nine models, one per group plus the configuration Flow they all share. Each is generated from the platform's own function catalogue, so no declaration can drift from the engine, and each was compiled against the platform before being committed: nine of nine, with the repository's own linter at zero findings. What changed in kind, not only in content: - The code is commented. `#Previous`, `Root.`, `Transition.Counter` and `Action.BoundaryEvents` all look like ordinary identifiers and none of them are; the comments say so at the point of use. - Every group README now states the same four things: which capabilities the example demonstrates and where to look, which types it declares and how each is used, what you actually get back, and why it is built that way. - The replies in those READMEs were taken from real runs, not written from expectation. That is how two facts got recorded that contradict the intent of the code: the error branch answers HTTP 200 with a 500 in the body, and the event example answers 204 because its second branch finishes last. - Settings point at two public sources with no key and no account — `api.frankfurter.dev` and `jsonplaceholder.typicode.com` — so the examples run without a credential to obtain. `login` and `password` stay empty. Two limits are stated in the READMEs rather than hidden. `AI/Completions` cannot be called from a model: its body reaches for `Action.BoundaryEvents` and a cancellation token that are not in scope where the engine inlines it. And a Flow that calls out needs a stand with a route to the internet; without one it ends on the error branch, which the streaming README shows as the expected reply. Co-Authored-By: Claude Fable 5 --- flow-patterns/01-basics/README.md | 99 ++++++-- flow-patterns/01-basics/first-flow.bpmn | 143 +++++++++++ flow-patterns/02-error-handling/README.md | 108 ++++++-- .../02-error-handling/error-as-branch.bpmn | 156 ++++++++++++ flow-patterns/03-config-as-flow/README.md | 116 +++++++-- .../03-config-as-flow/service-config.bpmn | 98 ++++++++ .../03-config-as-flow/use-config.bpmn | 143 +++++++++++ flow-patterns/04-pagination/README.md | 101 ++++++-- flow-patterns/04-pagination/paged-fetch.bpmn | 230 ++++++++++++++++++ flow-patterns/05-events-and-signals/README.md | 108 ++++++-- .../05-events-and-signals/raise-event.bpmn | 176 ++++++++++++++ flow-patterns/06-streaming-sse/README.md | 108 ++++++-- .../06-streaming-sse/stream-response.bpmn | 204 ++++++++++++++++ flow-patterns/07-triggers/README.md | 98 ++++++-- flow-patterns/07-triggers/http-start.bpmn | 146 +++++++++++ flow-patterns/08-ai-agents/README.md | 114 +++++++-- .../08-ai-agents/structured-prompt.bpmn | 143 +++++++++++ flow-patterns/README.md | 122 ++++++---- flow-patterns/TYPE-DESIGN.md | 20 +- 19 files changed, 2190 insertions(+), 243 deletions(-) create mode 100644 flow-patterns/01-basics/first-flow.bpmn create mode 100644 flow-patterns/02-error-handling/error-as-branch.bpmn create mode 100644 flow-patterns/03-config-as-flow/service-config.bpmn create mode 100644 flow-patterns/03-config-as-flow/use-config.bpmn create mode 100644 flow-patterns/04-pagination/paged-fetch.bpmn create mode 100644 flow-patterns/05-events-and-signals/raise-event.bpmn create mode 100644 flow-patterns/06-streaming-sse/stream-response.bpmn create mode 100644 flow-patterns/07-triggers/http-start.bpmn create mode 100644 flow-patterns/08-ai-agents/structured-prompt.bpmn diff --git a/flow-patterns/01-basics/README.md b/flow-patterns/01-basics/README.md index fc19ede..758a9df 100644 --- a/flow-patterns/01-basics/README.md +++ b/flow-patterns/01-basics/README.md @@ -1,35 +1,90 @@ -# 01 · Basics: the data pipeline +# 01 · Basics: how data moves through a Flow -The smallest working Flows. They show how data enters a process, passes through the elements, and leaves — with no queues, files, or parallelism. +The smallest Flow that still does something real: it takes typed input, passes it +through one step, and returns typed output. -## When to use +## What this example demonstrates -Your first Flow. Or when you need to recall where `#Previous` comes from and how `Global` differs from `Parameters`. +| Capability | Where to look | +|---|---| +| A typed process boundary | the start and end events, each tied to a data element | +| `Input` — what the caller sent | `T_Compose`, first line | +| `#Previous` — the previous node's result | `T_ParseConfig`, which casts it | +| Settings taken from a separate Flow | the `Get Config` Call Activity | +| An error path drawn on the diagram | the boundary event on `T_ParseConfig` | +| Writing to the run log | `Logger.LogInformation` | -## Files +## The model -| File | What it shows | -|---|---| -| `echo-agent.bpmn` | a minimal pipeline: start → task → end; input and output typed with the same type | -| `global-and-jsonpath.bpmn` | `JsonPath` extracts a value from the response, `SaveVariable` puts it into `Global`, and the following steps read it | +``` +start → Get Config → Parse Config → compose the greeting → end + ↓ (on error) + handle Exception → end +``` + +Five nodes, and three of them are there before your own work begins. That is the +point of reading this one first. + +## Types it declares + +| Type | Kind | How it is used | +|---|---|---| +| `GreetingRequest` | inner, JSON Schema | the process boundary: the start event accepts it, the end event returns it. `Input.name` and `Input.language` are its fields | +| `ErrorResponse` | inner, JSON Schema | what `HandleException` returns, so a failure has a shape too | +| `ExternalConfig` | external → `types://external/ConfigActivity/Config` | the configuration type, declared **once** in `service-config` and only referenced here | + +`ExternalConfig` is the one worth pausing on. This file never repeats the fields +of the configuration; it points at the Flow that owns them. Change the shape +there and every consumer sees the change, instead of each keeping a stale copy. + +## What you should get back + +``` +POST .../flowdefinitions/personal//first-flow/Start.json?run=auto +{ "name": "Ada", "language": "en" } +``` + +``` +HTTP 200 +{"name":"Ada","language":"en"} +``` + +With an empty `name` the reply is `{"name":"world","language":null}` — the step +substitutes the default. The run log shows one line: `greeting Ada`. + +## Why it is built this way + +**The settings come from another Flow, not from this file.** The first two nodes +call `service-config` and cast its answer into `Parameters.config`. It looks like +ceremony in an example this small, and it is the single most important habit in +the group — see [03 · Configuration](../03-config-as-flow/) for what it buys you. -## Platform functions used +**The input is a declared type, not a loose bag.** The compiler can then tell you +that `Input.nmae` does not exist, instead of the process returning null at run +time and leaving you to guess. -`JsonPath` · `SaveVariable` · `RestApi` +**The error path exists even though nothing here can fail.** A boundary error +event sits on the parsing step, leading to a handler and its own end event. +Without it a failure ends the process silently. -## Reserved words +## Where newcomers stumble -`Input` · `#Previous` · `Parameters` · `Global` · `Logger` +- **`#Previous` is the previous node's result, not the process input.** After the + configuration steps, `#Previous` holds the configuration — not what the caller + sent. Reach for `Input` when you mean the caller's payload. +- **A step must return something.** The body of a task is compiled into a method + with a return type. A branch that falls off the end without `return` fails the + whole model with `CS0161`, and the message points at generated code you cannot + open. +- **Input and output share a type here.** That is fine for an echo. In a real + process each step usually deserves its own type; a shared one hides the moment + the shape actually changes. -## What to watch out for +## Run it -- `SaveVariable` writes **to `Global`**, not to `Parameters`. To read it later, - use `Global.`; it stays available until the process run ends. -- `Global` is dynamic: the compiler will not see a mistake in a name, it will - surface at run time. Name your variables once and name them consistently. -- In `echo-agent` the input and the output are the same type. That is fine for - an echo, but in a real process each step usually has its own (see - TYPE-DESIGN §3.1). +Import `service-config.bpmn` from [03 · Configuration](../03-config-as-flow/) +into a **tenant** library first, under the name `flow-patterns-config`. Then +import this file and compile it. --- -For the data types in these examples, see [TYPE-DESIGN.md](../TYPE-DESIGN.md). +For how the types in this example are designed, see [TYPE-DESIGN.md](../TYPE-DESIGN.md). diff --git a/flow-patterns/01-basics/first-flow.bpmn b/flow-patterns/01-basics/first-flow.bpmn new file mode 100644 index 0000000..5805479 --- /dev/null +++ b/flow-patterns/01-basics/first-flow.bpmn @@ -0,0 +1,143 @@ + + + + [{"name": "GreetingRequest", "definition": "{\"$schema\": \"http://json-schema.org/draft-06/schema#\", \"$ref\": \"#/definitions/GreetingRequest\", \"definitions\": {\"GreetingRequest\": {\"type\": \"object\", \"additionalProperties\": true, \"properties\": {\"name\": {\"type\": \"string\"}, \"language\": {\"type\": \"string\"}}, \"title\": \"GreetingRequest\"}}}", "isNativeDefinition": false}, {"name": "ErrorResponse", "definition": "{\"$schema\": \"http://json-schema.org/draft-06/schema#\", \"$ref\": \"#/definitions/ErrorResponse\", \"definitions\": {\"ErrorResponse\": {\"type\": \"object\", \"additionalProperties\": true, \"properties\": {\"LevelMessage\": {\"type\": \"string\"}, \"statusCode\": {\"type\": \"integer\"}, \"Message\": {\"type\": \"string\"}, \"State\": {\"type\": \"string\"}}, \"title\": \"ErrorResponse\"}}}", "isNativeDefinition": false}] + [{"name": "ExternalConfig", "definition": "types://external/ConfigActivity/Config"}] + [{"name": "HandleException", "initCode": "ErrorResponse HandleException(PassingResult prevData)\n{\n Logger.LogError($\"flow failed: {prevData.Exception?.Message}\");\n if (WorkflowEnvironment.RuntimeName == \"UCP\")\n WorkflowEnvironment.Variables[\"StatusCode\"] = 500;\n return new ErrorResponse()\n {\n Message = prevData.Exception?.Message,\n LevelMessage = \"11\",\n statusCode = 500,\n State = \"1\"\n };\n}", "initParameters": [{"name": "Result", "type": "ErrorResponse"}, {"name": "prevData", "type": "PassingResult", "required": true}]}] + [] + [{"name": "ConfigActivity", "link": "activities://bpmn-mnemo/tenant/tenant_shared/flow-patterns-config/#latest", "version": "", "entities": []}] + [{"name": "config", "type": "ExternalConfig", "initialValue": ""}] + + + + + + + + Fl_001 + + DO_Input + + + + + {"libName": "tenant_shared", "libType": "tenant", "flowName": "flow-patterns-config", "version": "#latest", "packSize": 0} + activities://bpmn-mnemo/tenant/tenant_shared/flow-patterns-config/#latest + + Fl_001 + Fl_002 + + + + {"actionType": "Expression", "action": "ExternalConfig cfg = ((JSON)#Previous).Cast<ExternalConfig>();\nParameters.config = cfg;\nLogger.LogInformation($\"config loaded from flow-patterns-config\");\nreturn cfg;"} + + Fl_002 + Fl_003 + + + + {"actionType": "Expression", "action": "// Input is what the caller sent. It stays reachable for the whole\n// process, unlike #Previous, which is only the previous step's result.\nvar who = string.IsNullOrEmpty(Input.name) ? \"world\" : Input.name;\n\n// Logger writes into the run log you can open next to the diagram.\nLogger.LogInformation($\"greeting {who}\");\n\n// A step must return a value: the engine compiles this body into a\n// method, and a path without return fails the whole model (CS0161).\nreturn new GreetingRequest() { name = who, language = Input.language };"} + + Fl_003 + Fl_004 + + + Fl_004 + + + DO_Output + Prop_Ev_End + + + + + {"actionType": "Action", "action": "HandleException", "actionParam": {"prevData": "#PreviousData"}} + + Fl_005 + Fl_006 + + + + {"status": "HttpRequestAttributes", "code": "500"} + + Fl_006 + + + DO_Output + Prop_Ev_Failed + + + + Fl_005 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/flow-patterns/02-error-handling/README.md b/flow-patterns/02-error-handling/README.md index 840b850..bdcbfc9 100644 --- a/flow-patterns/02-error-handling/README.md +++ b/flow-patterns/02-error-handling/README.md @@ -1,35 +1,99 @@ -# 02 · Errors as a separate path +# 02 · Errors as a branch of the diagram -Here an error does not stop the process silently — it becomes a branch of the diagram with its own result and its own HTTP code. +An error is not an interruption here. It is a path on the diagram, with its own +handler and its own typed answer. -## When to use +## What this example demonstrates -Any Flow that calls an external system. That is, almost any Flow. +| Capability | Where to look | +|---|---| +| Boundary error event on a task | `Ev_Err_T_Validate`, attached to the validating step | +| One handler serving several tasks | two sequence flows arriving at `handle Exception` | +| `#PreviousData` — the only carrier of the exception | the handler's `actionParam` | +| A Code Action (`HandleException`) | declared in `CodeActions`, called by the handler | +| `EndSignalRoute` on the failing end event | `Ev_Failed` | +| Telling the runtime apart | `WorkflowEnvironment.RuntimeName` inside the handler | -## Files +## The model -| File | What it shows | -|---|---| -| `event-error-routing.bpmn` | an error boundary event on two tasks → a shared handler → a separate end event with code 500 | +``` +start → Get Config → Parse Config → validate the order → end + ↓ ↓ + └───────────→ handle Exception → end (error) +``` + +Both risky steps lead into the **same** handler. That is normal: several incoming +sequence flows into one node is how BPMN says "these failures are handled alike". + +## Types it declares + +| Type | Kind | How it is used | +|---|---|---| +| `OrderRequest` | inner, JSON Schema | the process boundary; `Input.orderId` is its only field | +| `ErrorResponse` | inner, JSON Schema | the shape of a failure: `levelMessage`, `statusCode`, `message`, `state`. The handler fills it and it becomes the process result | +| `ExternalConfig` | external | the configuration type, owned by `service-config` | +| `PassingResult` | reserved | not declared by you — it is the type of `#PreviousData`, the wrapper that carries `Exception` | + +The pairing to remember is `ErrorResponse` + `PassingResult`. One is what you +give the caller, the other is what the engine gives you. + +## What you should get back + +A valid order goes down the happy path: + +``` +{ "orderId": "A-1001" } → HTTP 200 {"orderId":"A-1001"} +``` + +An empty one takes the error branch: + +``` +{ "orderId": "" } +``` +``` +HTTP 200 +{"levelMessage":"11","statusCode":500, + "message":"Error while try to call action 'T_Validate/validate the order'", + "state":"1"} +``` + +Read that second reply carefully. **The transport status is 200 while the body +says 500.** `EndSignalRoute` and `WorkflowEnvironment.Variables["StatusCode"]` +set the code the platform reports when the Flow is published behind an HTTP +route; a direct `Start` call still answers 200 and puts your `ErrorResponse` in +the body. If a caller of yours branches on the HTTP code alone, it will read a +failure as success — branch on the body. + +## Why it is built this way -## Platform functions used +**The handler takes `#PreviousData`, never `#Previous`.** This is the single +detail that costs newcomers the most time. `#Previous` is the previous node's +*result* — on a failure there is no result. `#PreviousData` is the wrapper around +it, and the only place carrying the `Exception`. Feed the handler `#Previous` and +the compiler answers `Cannot implicitly convert 'System.Exception' to +'WorkflowPassingNodeResult'`, which does not obviously mean "wrong placeholder". -— (everything is done with Code Action and Expression) +**The handler sets `WorkflowEnvironment.Variables["StatusCode"]` as well.** The +same Flow can run inside the platform or inside a plugin, and the two report +status differently. `WorkflowEnvironment.RuntimeName` tells them apart. -## Reserved words +## Where newcomers stumble -`#PreviousData` · `PassingResult` · `WorkflowEnvironment.RuntimeName` · `WorkflowEnvironment.Variables["StatusCode"]` +- **Catching inside the code instead of on the diagram.** A `try/catch` in a task + body hides the failure from the diagram: the process continues down the happy + path with a half-built result. Let it throw and draw the branch. +- **One handler per task.** Tempting, and it doubles the diagram. Attach several + boundary events to one handler until the responses genuinely differ. +- **Returning the exception text to the caller.** Note what the reply above does + *not* contain: the message from `throw`. The handler decides once what the + outside world is allowed to see. -## What to watch out for +## Run it -- The handler takes `#PreviousData`, not `#Previous`: it needs the wrapper with - the `Exception` field, not the result. -- One handler for several tasks is normal practice: several incoming flows lead - into it. -- `WorkflowEnvironment.RuntimeName` tells the mode apart (`UCP` / `Plugin`) — - the response code is set differently in each. -- The end event has its own `EndSignalRoute` with a code; without it the client - gets 200 for an error. +Import `service-config.bpmn` from [03 · Configuration](../03-config-as-flow/) +into a **tenant** library first, under the name `flow-patterns-config`. Then +import this file, compile it, and start it twice — with and without an +`orderId`. --- -For the data types in these examples, see [TYPE-DESIGN.md](../TYPE-DESIGN.md). +For how the types in this example are designed, see [TYPE-DESIGN.md](../TYPE-DESIGN.md). diff --git a/flow-patterns/02-error-handling/error-as-branch.bpmn b/flow-patterns/02-error-handling/error-as-branch.bpmn new file mode 100644 index 0000000..02b1794 --- /dev/null +++ b/flow-patterns/02-error-handling/error-as-branch.bpmn @@ -0,0 +1,156 @@ + + + + [{"name": "OrderRequest", "definition": "{\"$schema\": \"http://json-schema.org/draft-06/schema#\", \"$ref\": \"#/definitions/OrderRequest\", \"definitions\": {\"OrderRequest\": {\"type\": \"object\", \"additionalProperties\": true, \"properties\": {\"orderId\": {\"type\": \"string\"}}, \"title\": \"OrderRequest\"}}}", "isNativeDefinition": false}, {"name": "ErrorResponse", "definition": "{\"$schema\": \"http://json-schema.org/draft-06/schema#\", \"$ref\": \"#/definitions/ErrorResponse\", \"definitions\": {\"ErrorResponse\": {\"type\": \"object\", \"additionalProperties\": true, \"properties\": {\"LevelMessage\": {\"type\": \"string\"}, \"statusCode\": {\"type\": \"integer\"}, \"Message\": {\"type\": \"string\"}, \"State\": {\"type\": \"string\"}}, \"title\": \"ErrorResponse\"}}}", "isNativeDefinition": false}] + [{"name": "ExternalConfig", "definition": "types://external/ConfigActivity/Config"}] + [{"name": "HandleException", "initCode": "ErrorResponse HandleException(PassingResult prevData)\n{\n Logger.LogError($\"flow failed: {prevData.Exception?.Message}\");\n if (WorkflowEnvironment.RuntimeName == \"UCP\")\n WorkflowEnvironment.Variables[\"StatusCode\"] = 500;\n return new ErrorResponse()\n {\n Message = prevData.Exception?.Message,\n LevelMessage = \"11\",\n statusCode = 500,\n State = \"1\"\n };\n}", "initParameters": [{"name": "Result", "type": "ErrorResponse"}, {"name": "prevData", "type": "PassingResult", "required": true}]}] + [] + [{"name": "ConfigActivity", "link": "activities://bpmn-mnemo/tenant/tenant_shared/flow-patterns-config/#latest", "version": "", "entities": []}] + [{"name": "config", "type": "ExternalConfig", "initialValue": ""}] + + + + + + + + Fl_001 + + DO_Input + + + + + {"libName": "tenant_shared", "libType": "tenant", "flowName": "flow-patterns-config", "version": "#latest", "packSize": 0} + activities://bpmn-mnemo/tenant/tenant_shared/flow-patterns-config/#latest + + Fl_001 + Fl_002 + + + + {"actionType": "Expression", "action": "ExternalConfig cfg = ((JSON)#Previous).Cast<ExternalConfig>();\nParameters.config = cfg;\nLogger.LogInformation($\"config loaded from flow-patterns-config\");\nreturn cfg;"} + + Fl_002 + Fl_003 + + + + {"actionType": "Expression", "action": "// Let it throw. Catching here would hide the failure from the diagram\n// and the process would carry on down the happy path with no order.\nif (string.IsNullOrEmpty(Input.orderId))\n throw new Exception(\"orderId is required\");\n\nLogger.LogInformation($\"order {Input.orderId} accepted\");\nreturn new OrderRequest() { orderId = Input.orderId };"} + + Fl_003 + Fl_004 + + + Fl_004 + + + DO_Output + Prop_Ev_End + + + + + {"actionType": "Action", "action": "HandleException", "actionParam": {"prevData": "#PreviousData"}} + + Fl_005 + Fl_006 + Fl_007 + + + + {"status": "HttpRequestAttributes", "code": "500"} + + Fl_007 + + + DO_Output + Prop_Ev_Failed + + + + Fl_005 + + + + Fl_006 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/flow-patterns/03-config-as-flow/README.md b/flow-patterns/03-config-as-flow/README.md index 2f63bdc..1e975b3 100644 --- a/flow-patterns/03-config-as-flow/README.md +++ b/flow-patterns/03-config-as-flow/README.md @@ -1,39 +1,105 @@ # 03 · Configuration as a separate Flow -Connection strings, addresses, and mail settings do not belong in the process model. This group shows how to move them into a separate Flow and plug it in through a Call Activity — and what the same process looked like before the refactoring. +Two files. One holds the settings, the other uses them and never learns which +environment it is running in. -## When to use +## What this example demonstrates -As soon as a Flow contains even one connection string or stand address. +| Capability | Where to look | +|---|---| +| A Flow whose whole job is to answer with settings | `service-config.bpmn` | +| Call Activity by mnemonic reference | `Get Config` in `use-config.bpmn` | +| `activities://bpmn-mnemo////#latest` | the `ExternalDefinitionLink` element parameter | +| An external type instead of a copied one | `types://external/ConfigActivity/Config` | +| Casting the answer and parking it | `Parse Config`, which fills `Parameters.config` | +| A native C# type as a declared type | the `Config` class in `service-config.bpmn` | -## Files +## The two models -| File | What it shows | -|---|---| -| `get-config.bpmn` | the target configuration Flow: three elements, returns a typed object | -| `send-links.bpmn` | the consumer: Call Activity → `Parse Config` → everything else takes its values from `Root.Parameters.config` | -| `send-links-before.bpmn` | **how it was**: the connection string in the model, a hand-written `HttpClient`, a hard-coded mail address | +``` +service-config.bpmn: start → resolve the settings → end + ↓ (on error) + handle Exception → end + +use-config.bpmn: start → Get Config → Parse Config → build the call → end + ↓ (on error) + handle Exception → end +``` + +`Get Config` is a Call Activity: it runs the other Flow and hands back its +answer. `Parse Config` casts that answer once, into `Parameters.config`, so every +later step reads a typed object rather than loose JSON. + +## Types it declares + +| Type | Where | Kind | How it is used | +|---|---|---|---| +| `Config` | `service-config.bpmn` | inner, **native C#** | the settings themselves: `ratesUrl`, `listUrl`, `login`, `password`, `pageSize`. Declared here and nowhere else | +| `ExternalConfig` | `use-config.bpmn` | external → `types://external/ConfigActivity/Config` | the same type, reached by reference. `ConfigActivity` is the alias bound in `UsedLibs` to the configuration Flow | +| `LookupRequest` | `use-config.bpmn` | inner, JSON Schema | the process boundary of the consumer | +| `ErrorResponse` | both | inner, JSON Schema | the shape of a failure | + +**This is the mechanism worth understanding.** The alias in `UsedLibs` points at +a Flow; `types://external//` then reaches inside that Flow for a +type it declares. No copy is made. If `Config` grows a field, consumers see it +after a recompile — and if it loses one, they fail to compile instead of failing +at midnight. + +## What you should get back + +The configuration Flow answers with the settings: + +``` +{} → HTTP 200 +{"ratesUrl":"https://api.frankfurter.dev/v1", + "listUrl":"https://jsonplaceholder.typicode.com/posts", + "login":"","password":"","pageSize":10} +``` + +The consumer builds a call out of them: + +``` +{ "key": "EUR" } → HTTP 200 +{"key":"https://api.frankfurter.dev/v1/latest?base=EUR"} +``` + +Note what the consumer never contains: the host name. Move the Flow to another +environment, point the configuration Flow somewhere else, and this reply changes +without the consumer being touched. + +## Why it is built this way + +**The reference is mnemonic, not numeric.** `activities://bpmn-mnemo/tenant/…` +resolves by *name* and follows `#latest`. The numeric form +`activities://bpmn////` pins identifiers that +exist in exactly one environment, and it carries no name — it will not resolve +anywhere else. Prefer the mnemonic form in anything you intend to share. -## Platform functions used +**The library type is `tenant`, not `personal`.** A personal library resolves +only for the account that created it: the platform filters by creator unless the +library type is Tenant. A `personal/…` reference in a shared Flow works for its +author and for nobody else. -`RestApi/Download` +**The settings are one type, not five parameters.** Adding a field then means +editing one class, not hunting for every Flow that reads settings. -## Reserved words +## Where newcomers stumble -`Root.Parameters` · `#Previous` · `Input` · `DataAssociations` +- **The companion must exist before the consumer compiles.** Import + `service-config.bpmn` first, into a **tenant** library, under the name + `flow-patterns-config`. Otherwise the consumer fails with `cant resolve class + name for uri 'activities://bpmn-mnemo/…'`. +- **The alias name must match.** `UsedLibs` binds the alias `ConfigActivity`; + `types://external/ConfigActivity/Config` uses that exact word. Rename one and + the type silently becomes `#error`. +- **Passwords belong here, empty or filled — never in the consumer.** Both + sources used by this group are public, so `login` and `password` stay empty. A + real deployment fills them in this one file. -## What to watch out for +## Run it -- Compare `send-links-before` and `send-links` side by side — it is the same - task before and after the configuration was moved out. -- The configuration type is declared by **both** sides: in `get-config` as its - own, in `send-links` as external (`types://external/…`). -- `Root.Parameters` — `Root` specifically, because the values are read from sub - processes; a plain `Parameters` inside a Sub Process points at its own. -- A reference to an external Flow has **two forms**: mnemonic - (`activities://bpmn-mnemo////#latest`) and numeric - (`activities://bpmn////`). The first is - readable, the second pins a specific version. +Import `service-config.bpmn` into a tenant library as `flow-patterns-config` and +compile it. Then import `use-config.bpmn` and compile that. --- -For the data types in these examples, see [TYPE-DESIGN.md](../TYPE-DESIGN.md). +For how the types in this example are designed, see [TYPE-DESIGN.md](../TYPE-DESIGN.md). diff --git a/flow-patterns/03-config-as-flow/service-config.bpmn b/flow-patterns/03-config-as-flow/service-config.bpmn new file mode 100644 index 0000000..b9dde48 --- /dev/null +++ b/flow-patterns/03-config-as-flow/service-config.bpmn @@ -0,0 +1,98 @@ + + + + [{"name": "Config", "definition": "public class Config\n{\n /* One declaration of the settings, shared by every Flow that calls this one.\n Consumers reach these fields as ExternalConfig, never as a copy. */\n\n /* Exchange rates published by the European Central Bank. Open, no key. */\n public string ratesUrl { get; set; }\n\n /* A list endpoint that understands _start and _limit, for the paging example. */\n public string listUrl { get; set; }\n\n /* Both sources are public, so these stay empty. Real deployments fill them\n here, in one place, and no consuming Flow ever holds a credential. */\n public string login { get; set; }\n public string password { get; set; }\n\n public int pageSize { get; set; }\n}", "isNativeDefinition": true},{"name": "ErrorResponse", "definition": "{\"$schema\": \"http://json-schema.org/draft-06/schema#\", \"$ref\": \"#/definitions/ErrorResponse\", \"definitions\": {\"ErrorResponse\": {\"type\": \"object\", \"additionalProperties\": true, \"properties\": {\"LevelMessage\": {\"type\": \"string\"}, \"statusCode\": {\"type\": \"integer\"}, \"Message\": {\"type\": \"string\"}, \"State\": {\"type\": \"string\"}}, \"title\": \"ErrorResponse\"}}}", "isNativeDefinition": false}] + [] + [{"name": "HandleException", "initCode": "ErrorResponse HandleException(PassingResult prevData)\n{\n Logger.LogError($\"flow failed: {prevData.Exception?.Message}\");\n if (WorkflowEnvironment.RuntimeName == \"UCP\")\n WorkflowEnvironment.Variables[\"StatusCode\"] = 500;\n return new ErrorResponse()\n {\n Message = prevData.Exception?.Message,\n LevelMessage = \"11\",\n statusCode = 500,\n State = \"1\"\n };\n}", "initParameters": [{"name": "Result", "type": "ErrorResponse"}, {"name": "prevData", "type": "PassingResult", "required": true}]}] + [] + [] + + + + + + Fl_001 + + + + {"actionType": "Expression", "action": "return new Config()\n{\n ratesUrl = \"https://api.frankfurter.dev/v1\",\n listUrl = \"https://jsonplaceholder.typicode.com/posts\",\n login = \"\",\n password = \"\",\n pageSize = 10\n};"} + + Fl_001 + Fl_002 + + + Fl_002 + + + DO_Output + Prop_Ev_End + + + + + {"actionType": "Action", "action": "HandleException", "actionParam": {"prevData": "#PreviousData"}} + + Fl_003 + Fl_004 + + + + {"status": "HttpRequestAttributes", "code": "500"} + + Fl_004 + + + Fl_003 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/flow-patterns/03-config-as-flow/use-config.bpmn b/flow-patterns/03-config-as-flow/use-config.bpmn new file mode 100644 index 0000000..2e52f6d --- /dev/null +++ b/flow-patterns/03-config-as-flow/use-config.bpmn @@ -0,0 +1,143 @@ + + + + [{"name": "LookupRequest", "definition": "{\"$schema\": \"http://json-schema.org/draft-06/schema#\", \"$ref\": \"#/definitions/LookupRequest\", \"definitions\": {\"LookupRequest\": {\"type\": \"object\", \"additionalProperties\": true, \"properties\": {\"key\": {\"type\": \"string\"}}, \"title\": \"LookupRequest\"}}}", "isNativeDefinition": false}, {"name": "ErrorResponse", "definition": "{\"$schema\": \"http://json-schema.org/draft-06/schema#\", \"$ref\": \"#/definitions/ErrorResponse\", \"definitions\": {\"ErrorResponse\": {\"type\": \"object\", \"additionalProperties\": true, \"properties\": {\"LevelMessage\": {\"type\": \"string\"}, \"statusCode\": {\"type\": \"integer\"}, \"Message\": {\"type\": \"string\"}, \"State\": {\"type\": \"string\"}}, \"title\": \"ErrorResponse\"}}}", "isNativeDefinition": false}] + [{"name": "ExternalConfig", "definition": "types://external/ConfigActivity/Config"}] + [{"name": "HandleException", "initCode": "ErrorResponse HandleException(PassingResult prevData)\n{\n Logger.LogError($\"flow failed: {prevData.Exception?.Message}\");\n if (WorkflowEnvironment.RuntimeName == \"UCP\")\n WorkflowEnvironment.Variables[\"StatusCode\"] = 500;\n return new ErrorResponse()\n {\n Message = prevData.Exception?.Message,\n LevelMessage = \"11\",\n statusCode = 500,\n State = \"1\"\n };\n}", "initParameters": [{"name": "Result", "type": "ErrorResponse"}, {"name": "prevData", "type": "PassingResult", "required": true}]}] + [] + [{"name": "ConfigActivity", "link": "activities://bpmn-mnemo/tenant/tenant_shared/flow-patterns-config/#latest", "version": "", "entities": []}] + [{"name": "config", "type": "ExternalConfig", "initialValue": ""}] + + + + + + + + Fl_001 + + DO_Input + + + + + {"libName": "tenant_shared", "libType": "tenant", "flowName": "flow-patterns-config", "version": "#latest", "packSize": 0} + activities://bpmn-mnemo/tenant/tenant_shared/flow-patterns-config/#latest + + Fl_001 + Fl_002 + + + + {"actionType": "Expression", "action": "ExternalConfig cfg = ((JSON)#Previous).Cast<ExternalConfig>();\nParameters.config = cfg;\nLogger.LogInformation($\"config loaded from flow-patterns-config\");\nreturn cfg;"} + + Fl_002 + Fl_003 + + + + {"actionType": "Expression", "action": "// Parameters.config was filled by the Parse Config step from the answer\n// of the configuration Flow. Nothing here knows which environment it is.\nvar cfg = Parameters.config;\n\n// Change the endpoint once, in the configuration Flow, and every Flow\n// that reads it follows. That is the whole point of the indirection.\nvar url = $\"{cfg.ratesUrl}/latest?base={Input.key}\";\n\nLogger.LogInformation($\"the call would go to {url}, \"\n + $\"taking {cfg.pageSize} rows at a time\");\nreturn new LookupRequest() { key = url };"} + + Fl_003 + Fl_004 + + + Fl_004 + + + DO_Output + Prop_Ev_End + + + + + {"actionType": "Action", "action": "HandleException", "actionParam": {"prevData": "#PreviousData"}} + + Fl_005 + Fl_006 + + + + {"status": "HttpRequestAttributes", "code": "500"} + + Fl_006 + + + DO_Output + Prop_Ev_Failed + + + + Fl_005 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/flow-patterns/04-pagination/README.md b/flow-patterns/04-pagination/README.md index 377e411..67184a3 100644 --- a/flow-patterns/04-pagination/README.md +++ b/flow-patterns/04-pagination/README.md @@ -1,34 +1,93 @@ -# 04 · Paginating large result sets +# 04 · Handling a result set page by page -When there is more data than fits into one response: the list of pages is prepared by a separate step, and each page is handled by a Sub Process. +More rows than fit in one answer. One step plans the pages, a Sub Process walks +them. -## When to use +## What this example demonstrates -A result set that does not fit into a single request, or the processing of a set of files. +| Capability | Where to look | +|---|---| +| Sub Process with Multi Instance | `SP_Page` and its `multiInstanceLoopCharacteristics` | +| A collection handed to the Sub Process | the data element `DO_Pages`, named `PageInfo[]` | +| `PackSize` — how many instances run together | the element parameter on `SP_Page` | +| A Sub Process with its own typed boundary | `SP_DO_In` / `SP_DO_Out` inside it | +| `Input` meaning **one element** inside the loop | `T_Page`, first line | +| `Transition.Counter` — which pass this is | the log line in `T_Page` | +| Reaching the outer scope with `Root.` | `Root.Parameters.config.listUrl` in `T_Page` | -## Files +## The model -| File | What it shows | -|---|---| -| `sync-folder-paged.bpmn` | a Sub Process with Multi Instance, `PackSize`, nested Call Activities | +``` +start → Get Config → Parse Config → plan the pages → [ handle one page ] → end + ↓ (Multi Instance) + handle Exception → end +``` + +Inside the Sub Process: + +``` +start → read one page → end +``` + +## Types it declares + +| Type | Kind | How it is used | +|---|---|---| +| `PageInfo` | inner, **native C#** | one page: `number`, `startIndex`, `size`. The planning step builds a `List`; the Sub Process receives **one** of them per instance | +| `PageRequest` | inner, JSON Schema | the process boundary; `Input.total` is how many rows exist | +| `ErrorResponse` | inner, JSON Schema | the shape of a failure | +| `ExternalConfig` | external | the configuration type; `pageSize` and `listUrl` come from it | + +The `[]` on the data element name is not decoration. `PageInfo[]` is what tells +the engine this element carries a collection. Drop the brackets and the Sub +Process receives the whole list as a single item and runs exactly once — no +error, no warning, just one pass where you expected three. + +## What you should get back + +``` +{ "total": 25 } +``` +``` +HTTP 200 +[{"number":1,"startIndex":0,"size":10}, + {"number":2,"startIndex":10,"size":10}, + {"number":3,"startIndex":20,"size":10}] +``` + +Twenty-five rows at ten per page make three pages, the last one short. The run +log carries one line per page, each naming the URL that page would read: +`page 2 would read https://jsonplaceholder.typicode.com/posts?_start=10&_limit=10, pass 2`. + +## Why it is built this way + +**Planning and walking are separate steps.** The planning step is pure +arithmetic: it decides how many pages there are and what each one covers. Only +then does the Sub Process start. That separation is what allows the pages to run +in parallel — a loop that discovers the next page from the previous answer cannot. -## Platform functions used +**The page size comes from the configuration.** It is a setting, not a constant: +one place decides it, and every Flow that pages agrees. -`RestApi` · `JsonPath` +**The Sub Process declares its own input and output types.** Without them the +compiler stops with `WorkflowNodeSubProcessGenerator::Generate: input or output +type is empty`. A Sub Process is a process: it has a boundary like any other. -## Reserved words +## Where newcomers stumble -`Input` (an element of the set) · `Transition.Counter` · `PackSize` +- **`Input` inside the Sub Process is one element, not the set.** Cast it to the + element type (`(PageInfo)Input`) and work with that. +- **`Parameters` inside a Sub Process is not the outer one.** Reach the parent + scope through `Root.` — `Root.Parameters.config.listUrl`. +- **Sequential or parallel is a property of the Sub Process, not of the code.** + Horizontal bars mean one after another, vertical bars mean together. `PackSize` + caps how many run at once. -## What to watch out for +## Run it -- A Sub Process with Multi Instance receives **one element** of the set in - `Input`, not the whole set. If it ran only once, the `[]` was forgotten on the - data element. -- `PackSize` sets the pack size; sequential mode (horizontal bars) versus - parallel mode (vertical bars) is a property of the Sub Process, not of the - code. -- The pass counter is `Transition.Counter` (also known as `#PassCounter`). +Import `service-config.bpmn` from [03 · Configuration](../03-config-as-flow/) +into a **tenant** library first, under the name `flow-patterns-config`. Then +import this file and compile it. --- -For the data types in these examples, see [TYPE-DESIGN.md](../TYPE-DESIGN.md). +For how the types in this example are designed, see [TYPE-DESIGN.md](../TYPE-DESIGN.md). diff --git a/flow-patterns/04-pagination/paged-fetch.bpmn b/flow-patterns/04-pagination/paged-fetch.bpmn new file mode 100644 index 0000000..4d5fff7 --- /dev/null +++ b/flow-patterns/04-pagination/paged-fetch.bpmn @@ -0,0 +1,230 @@ + + + + [{"name": "PageInfo", "definition": "public class PageInfo\n{\n public int number { get; set; }\n public int startIndex { get; set; }\n public int size { get; set; }\n}", "isNativeDefinition": true}, {"name": "PageRequest", "definition": "{\"$schema\": \"http://json-schema.org/draft-06/schema#\", \"$ref\": \"#/definitions/PageRequest\", \"definitions\": {\"PageRequest\": {\"type\": \"object\", \"additionalProperties\": true, \"properties\": {\"total\": {\"type\": \"integer\"}}, \"title\": \"PageRequest\"}}}", "isNativeDefinition": false}, {"name": "ErrorResponse", "definition": "{\"$schema\": \"http://json-schema.org/draft-06/schema#\", \"$ref\": \"#/definitions/ErrorResponse\", \"definitions\": {\"ErrorResponse\": {\"type\": \"object\", \"additionalProperties\": true, \"properties\": {\"LevelMessage\": {\"type\": \"string\"}, \"statusCode\": {\"type\": \"integer\"}, \"Message\": {\"type\": \"string\"}, \"State\": {\"type\": \"string\"}}, \"title\": \"ErrorResponse\"}}}", "isNativeDefinition": false}] + [{"name": "ExternalConfig", "definition": "types://external/ConfigActivity/Config"}] + [{"name": "HandleException", "initCode": "ErrorResponse HandleException(PassingResult prevData)\n{\n Logger.LogError($\"flow failed: {prevData.Exception?.Message}\");\n if (WorkflowEnvironment.RuntimeName == \"UCP\")\n WorkflowEnvironment.Variables[\"StatusCode\"] = 500;\n return new ErrorResponse()\n {\n Message = prevData.Exception?.Message,\n LevelMessage = \"11\",\n statusCode = 500,\n State = \"1\"\n };\n}", "initParameters": [{"name": "Result", "type": "ErrorResponse"}, {"name": "prevData", "type": "PassingResult", "required": true}]}] + [] + [{"name": "ConfigActivity", "link": "activities://bpmn-mnemo/tenant/tenant_shared/flow-patterns-config/#latest", "version": "", "entities": []}] + [{"name": "config", "type": "ExternalConfig", "initialValue": ""}] + + + + + + + + + + Fl_001 + + DO_Input + + + + + {"libName": "tenant_shared", "libType": "tenant", "flowName": "flow-patterns-config", "version": "#latest", "packSize": 0} + activities://bpmn-mnemo/tenant/tenant_shared/flow-patterns-config/#latest + + Fl_001 + Fl_002 + + + + {"actionType": "Expression", "action": "ExternalConfig cfg = ((JSON)#Previous).Cast<ExternalConfig>();\nParameters.config = cfg;\nLogger.LogInformation($\"config loaded from flow-patterns-config\");\nreturn cfg;"} + + Fl_002 + Fl_003 + + + + {"actionType": "Expression", "action": "// The page size is a setting, not a constant: it belongs in the\n// configuration Flow so every consumer agrees on it.\nvar size = Parameters.config.pageSize;\n\n// This step only plans. Building the list first, and walking it\n// second, is what lets the Sub Process run the pages in parallel.\nvar pages = new List<PageInfo>();\nfor (int start = 0; start < Input.total; start += size)\n pages.Add(new PageInfo() { number = pages.Count + 1, startIndex = start, size = size });\n\nLogger.LogInformation($\"{Input.total} rows split into {pages.Count} pages of {size}\");\nreturn pages;"} + + Fl_003 + Fl_020 + + DO_Pages + + + + Fl_021 + + + DO_Output + Prop_Ev_End + + + + + {"actionType": "Action", "action": "HandleException", "actionParam": {"prevData": "#PreviousData"}} + + Fl_005 + Fl_006 + + + + {"status": "HttpRequestAttributes", "code": "500"} + + Fl_006 + + + DO_Output + Prop_Ev_Failed + + + + Fl_005 + + + + + 2 + + Fl_020 + Fl_021 + + + DO_Pages + Prop_SP_Page + + + + + + + + Fl_022 + + SP_DO_In + + + + + {"actionType": "Expression", "action": "var page = (PageInfo)Input;\nvar url = $\u0022{Root.Parameters.config.listUrl}?_start={page.startIndex}&_limit={page.size}\u0022;\nLogger.LogInformation($\u0022page {page.number} would read {url}, pass {Transition.Counter}\u0022);\nreturn page;"} + + Fl_022 + Fl_023 + + + Fl_023 + + + SP_DO_Out + Prop_Ev_Page_End + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/flow-patterns/05-events-and-signals/README.md b/flow-patterns/05-events-and-signals/README.md index d8b057f..afdacfa 100644 --- a/flow-patterns/05-events-and-signals/README.md +++ b/flow-patterns/05-events-and-signals/README.md @@ -1,38 +1,96 @@ -# 05 · Events and signals +# 05 · Raising an event from code -Two different things that are easy to confuse: a **signal** is heard by everyone subscribed to it; a **message** goes to a single recipient. And, separately, how to raise an event from code. +A step that takes a while does not have to stay silent until it ends. It can +raise an event, and a second branch of the diagram reacts while the first keeps +working. -## When to use +## What this example demonstrates -Assembling a result from parts, coordinating parallel branches, "continue when it arrives". +| Capability | Where to look | +|---|---| +| **`Action.BoundaryEvents["…"].Raise(payload)`** | inside `T_Work` — the point of this group | +| A non-interrupting boundary event | `Event_Progress`, with `cancelActivity="false"` | +| A message event definition on a boundary event | `messageEventDefinition` inside it | +| A second branch running alongside the main one | `T_Report` → `Ev_Reported` | +| `#event.Data` — the payload that was raised | the log line in `T_Report` | -## Files +## The model -| File | What it shows | -|---|---| -| `zip-chunks.bpmn` | parallel gateway fork/join, signal `AllPagesCompleted` versus message `PageNCompleted`, event-based gateway in a wait loop, ordering of the parts | -| `boundary-event-fanout.bpmn` | **`Action.BoundaryEvents["…"].Raise(payload)`** — raising a boundary event from code; non-interrupting boundary event | +``` +start → Get Config → Parse Config → do the work in parts → end + │ + (progress, non-interrupting) + ↓ + report the progress → end +``` + +The bar under the working step is the boundary event. Because it does **not** +cancel the activity, the work continues while the lower branch runs. + +## Types it declares + +| Type | Kind | How it is used | +|---|---|---| +| `JobRequest` | inner, JSON Schema | the process boundary; `Input.jobId` names the job | +| `ErrorResponse` | inner, JSON Schema | the shape of a failure | +| `ExternalConfig` | external | the configuration type | + +The event payload itself is a plain string here (`"part 2 of 3"`). It can be any +declared type — the reporting branch reads it as `#event.Data`. Start with a +string and give it a type once the branch does more than log. + +## What you should get back + +``` +{ "jobId": "job-7" } → HTTP 204, empty body +``` + +The **204 is the lesson**. The reporting branch is the one that finished last, +and it returns nothing, so the process as a whole answers with no content. The +work actually done shows in the run log: + +``` +part 1 done +part 2 done +part 3 done +progress reported: part 1 of 3 +progress reported: part 2 of 3 +progress reported: part 3 of 3 +``` + +If you need the main branch's result back, the two paths have to be joined +before the end — a parallel gateway does that. Left as they are, two ends mean +whichever finishes last decides the answer. + +## Why it is built this way + +**`cancelActivity="false"` is what makes it a fan-out.** An interrupting boundary +event stops the task and takes over — right for errors, wrong for progress. Turn +it off and the two branches run side by side. -## Platform functions used +**The name in brackets is the id on the diagram**, not the label. Get it wrong +and the engine raises `BoundaryEventNotFound`; the built-in functions that raise +events catch exactly that and downgrade it to a warning, so a typo can pass +unnoticed. -`RestApi/GET` +**The event carries data.** `Raise(payload)` hands the branch something to work +with; without it the branch knows only that *something* happened. -## Reserved words +## Where newcomers stumble -**`Action.BoundaryEvents[].Raise()`** · `#event.Data` · `#Previous["node-name"]` · `Parameters.Clone()` · `Transition` +- **Two end events mean two answers.** As above: join the branches if the caller + should get the main result. +- **A signal is not a message.** A signal is heard by everyone subscribed; a + message goes to one recipient. The boundary event here is a message. +- **`Parameters.Clone()` when branches write.** Two branches sharing one + parameter object write over each other. Give a branch its own copy if it + mutates state. -## What to watch for +## Run it -- **`Action.BoundaryEvents["Event_X"].Raise(x)`** — the main point of this group: - this is how the code of a task raises the boundary event attached to it. The name - in brackets is the `id` of the event in the diagram. -- A boundary event with `cancelActivity="false"` does **not** interrupt the task: the - task keeps running and the event branch runs in parallel. That is exactly what a - fan-out needs. -- After a parallel gateway, `#Previous` is a dictionary. Address it as - `#Previous["node-name"]`, otherwise you get the dictionary instead of the object. -- `Parameters.Clone()` gives a branch its own copy of the state; without it, two - branches write into the same one. +Import `service-config.bpmn` from [03 · Configuration](../03-config-as-flow/) +into a **tenant** library first, under the name `flow-patterns-config`. Then +import this file and compile it. Watch the run log, not only the reply. --- -For the data types in these examples, see [TYPE-DESIGN.md](../TYPE-DESIGN.md). +For how the types in this example are designed, see [TYPE-DESIGN.md](../TYPE-DESIGN.md). diff --git a/flow-patterns/05-events-and-signals/raise-event.bpmn b/flow-patterns/05-events-and-signals/raise-event.bpmn new file mode 100644 index 0000000..bbda395 --- /dev/null +++ b/flow-patterns/05-events-and-signals/raise-event.bpmn @@ -0,0 +1,176 @@ + + + + [{"name": "JobRequest", "definition": "{\"$schema\": \"http://json-schema.org/draft-06/schema#\", \"$ref\": \"#/definitions/JobRequest\", \"definitions\": {\"JobRequest\": {\"type\": \"object\", \"additionalProperties\": true, \"properties\": {\"jobId\": {\"type\": \"string\"}}, \"title\": \"JobRequest\"}}}", "isNativeDefinition": false}, {"name": "ErrorResponse", "definition": "{\"$schema\": \"http://json-schema.org/draft-06/schema#\", \"$ref\": \"#/definitions/ErrorResponse\", \"definitions\": {\"ErrorResponse\": {\"type\": \"object\", \"additionalProperties\": true, \"properties\": {\"LevelMessage\": {\"type\": \"string\"}, \"statusCode\": {\"type\": \"integer\"}, \"Message\": {\"type\": \"string\"}, \"State\": {\"type\": \"string\"}}, \"title\": \"ErrorResponse\"}}}", "isNativeDefinition": false}] + [{"name": "ExternalConfig", "definition": "types://external/ConfigActivity/Config"}] + [{"name": "HandleException", "initCode": "ErrorResponse HandleException(PassingResult prevData)\n{\n Logger.LogError($\"flow failed: {prevData.Exception?.Message}\");\n if (WorkflowEnvironment.RuntimeName == \"UCP\")\n WorkflowEnvironment.Variables[\"StatusCode\"] = 500;\n return new ErrorResponse()\n {\n Message = prevData.Exception?.Message,\n LevelMessage = \"11\",\n statusCode = 500,\n State = \"1\"\n };\n}", "initParameters": [{"name": "Result", "type": "ErrorResponse"}, {"name": "prevData", "type": "PassingResult", "required": true}]}] + [] + [{"name": "ConfigActivity", "link": "activities://bpmn-mnemo/tenant/tenant_shared/flow-patterns-config/#latest", "version": "", "entities": []}] + [{"name": "config", "type": "ExternalConfig", "initialValue": ""}] + + + + + + + + Fl_001 + + DO_Input + + + + + {"libName": "tenant_shared", "libType": "tenant", "flowName": "flow-patterns-config", "version": "#latest", "packSize": 0} + activities://bpmn-mnemo/tenant/tenant_shared/flow-patterns-config/#latest + + Fl_001 + Fl_002 + + + + {"actionType": "Expression", "action": "ExternalConfig cfg = ((JSON)#Previous).Cast<ExternalConfig>();\nParameters.config = cfg;\nLogger.LogInformation($\"config loaded from flow-patterns-config\");\nreturn cfg;"} + + Fl_002 + Fl_003 + + + + {"actionType": "Expression", "action": "// A long step does not have to stay silent until it ends. Raising the\n// boundary event lets a second branch report progress while this one\n// keeps working — the event is non-interrupting.\nfor (int part = 1; part <= 3; part++)\n{\n Logger.LogInformation($\"part {part} done\");\n\n // The name in brackets is the id of the boundary event on the\n // diagram. Get it wrong and the engine raises BoundaryEventNotFound.\n Action.BoundaryEvents[\"Event_Progress\"].Raise($\"part {part} of 3\");\n}\nreturn new JobRequest() { jobId = Input.jobId };"} + + Fl_003 + Fl_004 + + + Fl_004 + + + DO_Output + Prop_Ev_End + + + + + {"actionType": "Action", "action": "HandleException", "actionParam": {"prevData": "#PreviousData"}} + + Fl_005 + Fl_006 + + + + {"status": "HttpRequestAttributes", "code": "500"} + + Fl_006 + + + DO_Output + Prop_Ev_Failed + + + + Fl_005 + + + + Fl_010 + + + + + {"actionType": "Expression", "action": "Logger.LogInformation($\u0022progress reported: {#event.Data}\u0022);\nreturn null;"} + + Fl_010 + Fl_011 + + + Fl_011 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/flow-patterns/06-streaming-sse/README.md b/flow-patterns/06-streaming-sse/README.md index c5e4ad8..1e2c806 100644 --- a/flow-patterns/06-streaming-sse/README.md +++ b/flow-patterns/06-streaming-sse/README.md @@ -1,35 +1,99 @@ -# 06 · Streaming responses and SSE +# 06 · Reading a response as a stream -Reading a response that arrives in chunks, and sending each chunk out to clients immediately. +Some answers arrive over time. Reading them line by line, and passing each line +on as it lands, keeps memory flat and lets the caller see progress. -## When to use +## What this example demonstrates -LLM streaming, Server-Sent Events, any long response that cannot be waited for in full. +| Capability | Where to look | +|---|---| +| A built-in function as a step | `T_Call`, `actionType: Function`, `action: RestApi` | +| Every declared argument, `Timeout` included | the `actionParam` of `T_Call` | +| Credentials taken from the configuration | `Login` and `Password`, read from `Parameters.config` | +| `#Previous.Reader` — the open response body | `T_Stream`, the `while` loop | +| Passing each chunk out through an event | `Action.BoundaryEvents["Event_Chunk"].Raise(line)` | +| A non-interrupting boundary event | `Event_Chunk`, `cancelActivity="false"` | -## Files +## The model -| File | What it shows | -|---|---| -| `llm-stream.bpmn` | branching on "stream / no stream" by `Content-Type`, line-by-line reading, stop flag | -| `sse-roundtrip.bpmn` | the full cycle: subscribe, send, receive, verify what was received | +``` +start → Get Config → Parse Config → open the stream → read line by line → end + │ + (chunk, non-interrupting) + ↓ + send the chunk on → end +``` + +## Types it declares + +| Type | Kind | How it is used | +|---|---|---| +| `StreamRequest` | inner, JSON Schema | the process boundary; `Input.topic` selects what to ask for | +| `ErrorResponse` | inner, JSON Schema | the shape of a failure | +| `ExternalConfig` | external | supplies `ratesUrl`, `login` and `password` | + +`HttpResponse` is not declared by you: it is the result type of the `RestApi` +function, and `.Reader` is its open body. Nothing in the model holds the whole +answer at once. + +## What you should get back + +**On a stand that can reach the public internet**, the reading step raises one +event per non-empty line and the process ends without a body of its own — the +chunks are the output. The run log shows one `chunk out: …` line per chunk. + +**On a stand without outbound access** — including the one these examples were +verified on — the call fails and the error branch answers: + +``` +{ "topic": "USD" } → HTTP 200 +{"levelMessage":"11","statusCode":500, + "message":"Error while try to call action 'T_Call/open the stream'","state":"1"} +``` + +That is the example working correctly: an unreachable endpoint is a failure, and +the failure has a path. Add `debug=true` to the start call and the reply also +carries `parametersContainer`, where you can see the configuration that was +resolved: + +```json +"config": { "ratesUrl": "https://api.frankfurter.dev/v1", + "listUrl": "https://jsonplaceholder.typicode.com/posts", + "login": "", "password": "", "pageSize": 10 } +``` + +Use that when a Flow behaves as if it had no settings: it tells you whether the +configuration arrived or the call itself is at fault. + +## Why it is built this way + +**Every declared argument is passed, `Timeout` included.** The engine inlines the +function's body into your model, and that body names each declared parameter. Omit +`Timeout` and the name binds to the type `System.Threading.Timeout` instead, so +the compiler answers `'Timeout' is a type, which is not valid in the given +context` — pointing at code you never wrote. -## Platform functions used +**The credentials come from the configuration, and are empty.** A public source +needs none. When a real one does, exactly one file changes. -`RestApi` · `RestApi/GET` +**Chunks leave through an event, not through the return value.** A returned +collection would mean waiting for the last line before anything moves. -## Reserved words +## Where newcomers stumble -`#Previous.Reader` · `#Previous.IsStreamResponse` · `#Previous.StatusCode` · `#Previous.Headers[…]` · `Action.BoundaryEvents[].Raise()` · `Parameters` +- **Reading the body twice.** `.Reader` is a stream: once consumed, it is gone. + Keep what you need as you pass. +- **Expecting a body from the process.** The result is the sequence of chunks. If + you also need a summary, join the branches before the end event. +- **Blank lines.** Streamed protocols use them as separators; the loop skips them + rather than raising empty events. -## What to watch for +## Run it -- `#Previous.Reader.ReadLine()` reads one line; at the end always call - `.Dispose()`, otherwise the connection stays open. -- The branch condition checks `Content-Type`. If the service adds `charset`, a - strict equality test will not match — check for containment instead. -- Reading is stopped through a flag parameter that the chunk handler sets. -- Delivery goes through `ThrowMessageEvent` with `tsk_ProcessName: "Server-side events"`; - it requires the `Platform` library to be linked. +Import `service-config.bpmn` from [03 · Configuration](../03-config-as-flow/) +into a **tenant** library first, under the name `flow-patterns-config`. Then +import this file and compile it. It compiles anywhere; whether it *runs* depends +on your stand reaching `api.frankfurter.dev`. --- -For the data types in these examples, see [TYPE-DESIGN.md](../TYPE-DESIGN.md). +For how the types in this example are designed, see [TYPE-DESIGN.md](../TYPE-DESIGN.md). diff --git a/flow-patterns/06-streaming-sse/stream-response.bpmn b/flow-patterns/06-streaming-sse/stream-response.bpmn new file mode 100644 index 0000000..59d630e --- /dev/null +++ b/flow-patterns/06-streaming-sse/stream-response.bpmn @@ -0,0 +1,204 @@ + + + + [{"name": "StreamRequest", "definition": "{\"$schema\": \"http://json-schema.org/draft-06/schema#\", \"$ref\": \"#/definitions/StreamRequest\", \"definitions\": {\"StreamRequest\": {\"type\": \"object\", \"additionalProperties\": true, \"properties\": {\"topic\": {\"type\": \"string\"}}, \"title\": \"StreamRequest\"}}}", "isNativeDefinition": false}, {"name": "ErrorResponse", "definition": "{\"$schema\": \"http://json-schema.org/draft-06/schema#\", \"$ref\": \"#/definitions/ErrorResponse\", \"definitions\": {\"ErrorResponse\": {\"type\": \"object\", \"additionalProperties\": true, \"properties\": {\"LevelMessage\": {\"type\": \"string\"}, \"statusCode\": {\"type\": \"integer\"}, \"Message\": {\"type\": \"string\"}, \"State\": {\"type\": \"string\"}}, \"title\": \"ErrorResponse\"}}}", "isNativeDefinition": false}] + [{"name": "ExternalConfig", "definition": "types://external/ConfigActivity/Config"}] + [{"name": "HandleException", "initCode": "ErrorResponse HandleException(PassingResult prevData)\n{\n Logger.LogError($\"flow failed: {prevData.Exception?.Message}\");\n if (WorkflowEnvironment.RuntimeName == \"UCP\")\n WorkflowEnvironment.Variables[\"StatusCode\"] = 500;\n return new ErrorResponse()\n {\n Message = prevData.Exception?.Message,\n LevelMessage = \"11\",\n statusCode = 500,\n State = \"1\"\n };\n}", "initParameters": [{"name": "Result", "type": "ErrorResponse"}, {"name": "prevData", "type": "PassingResult", "required": true}]}] + [{"name": "RestApi", "initCode": "functions://default/RestApi", "initParameters": [{"name": "Uri", "type": "Uri", "required": true, "nullable": false}, {"name": "Method", "type": "String", "required": true, "nullable": false}, {"name": "Login", "type": "String", "required": false, "nullable": false}, {"name": "Password", "type": "String", "required": false, "nullable": false}, {"name": "Headers", "type": "StringDictionary", "required": false, "nullable": false}, {"name": "Body", "type": "String", "required": false, "nullable": false}, {"name": "Encoding", "type": "String", "required": false, "nullable": false}, {"name": "Timeout", "type": "int", "required": false, "nullable": false}, {"name": "Result", "type": "HttpResponse", "required": false, "nullable": false}]}] + [{"name": "ConfigActivity", "link": "activities://bpmn-mnemo/tenant/tenant_shared/flow-patterns-config/#latest", "version": "", "entities": []}] + [{"name": "config", "type": "ExternalConfig", "initialValue": ""}] + + + + + + + + Fl_001 + + DO_Input + + + + + {"libName": "tenant_shared", "libType": "tenant", "flowName": "flow-patterns-config", "version": "#latest", "packSize": 0} + activities://bpmn-mnemo/tenant/tenant_shared/flow-patterns-config/#latest + + Fl_001 + Fl_002 + + + + {"actionType": "Expression", "action": "ExternalConfig cfg = ((JSON)#Previous).Cast<ExternalConfig>();\nParameters.config = cfg;\nLogger.LogInformation($\"config loaded from flow-patterns-config\");\nreturn cfg;"} + + Fl_002 + Fl_003 + + + + {"actionType": "Function", "action": "RestApi", "actionParam": {"Uri": "{Parameters.config.ratesUrl}/latest?symbols={Input.topic}", "Method": "GET", "Login": "$\"{Parameters.config.login}\"", "Password": "$\"{Parameters.config.password}\"", "Encoding": "utf-8", "Timeout": 30}} + + Fl_003 + Fl_004 + + + + {"actionType": "Expression", "action": "// #Previous.Reader is the open response body. Reading it line by line\n// keeps memory flat no matter how long the answer turns out to be.\nstring line;\nwhile ((line = #Previous.Reader.ReadLine()) != null)\n{\n if (string.IsNullOrWhiteSpace(line))\n continue;\n\n // Each line leaves through the boundary event, so the caller sees\n // the answer arriving instead of waiting for all of it.\n Action.BoundaryEvents[\"Event_Chunk\"].Raise(line);\n}\n\n// The stream itself is the result; there is nothing left to return.\nreturn null;"} + + Fl_004 + Fl_005 + + + Fl_005 + + + DO_Output + Prop_Ev_End + + + + + {"actionType": "Action", "action": "HandleException", "actionParam": {"prevData": "#PreviousData"}} + + Fl_006 + Fl_007 + Fl_008 + + + + {"status": "HttpRequestAttributes", "code": "500"} + + Fl_008 + + + DO_Output + Prop_Ev_Failed + + + + Fl_006 + + + + Fl_007 + + + + Fl_030 + + + + + {"actionType": "Expression", "action": "Logger.LogInformation($\u0022chunk out: {#event.Data}\u0022);\nreturn null;"} + + Fl_030 + Fl_031 + + + Fl_031 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/flow-patterns/07-triggers/README.md b/flow-patterns/07-triggers/README.md index 34abce6..6e064af 100644 --- a/flow-patterns/07-triggers/README.md +++ b/flow-patterns/07-triggers/README.md @@ -1,33 +1,93 @@ # 07 · What starts a process -The same Flow can be started by an HTTP request, by a message from a queue, or by hand. This is a property of the start event, not a separate kind of process. +A Flow does not have to wait for someone to press Run. Declaring a route on the +start event turns the model into an HTTP endpoint. -## When to use +## What this example demonstrates -Designing the entry point: route, queue, schedule. +| Capability | Where to look | +|---|---| +| `StartSignalRoute` on the start event | the element parameter on `Ev_Start` | +| Choosing method and path | `{"method": "POST", "route": "webhook"}` | +| Escaping a C# keyword used as a field | `Input.@event` in `T_Accept` | +| The same typed boundary as any other Flow | the data elements on start and end | -## Files +## The model -| File | What it shows | -|---|---| -| `http-route-start.bpmn` | start event with an HTTP route: the method and the path are set directly on it | +``` +start (POST /webhook) → Get Config → Parse Config → accept the call → end + ↓ + handle Exception → end +``` + +The only difference from [01 · Basics](../01-basics/) is the parameter on the +start event. Everything downstream is unchanged — which is the point: how a Flow +is triggered is a property of its start, not of its body. + +## Types it declares + +| Type | Kind | How it is used | +|---|---|---| +| `WebhookRequest` | inner, JSON Schema | the process boundary. `event` names what happened, `payload` carries the detail | +| `ErrorResponse` | inner, JSON Schema | the shape of a failure | +| `ExternalConfig` | external | the configuration type | + +`event` is a reserved word in C#. The declared field keeps its natural name, and +the code escapes it as `Input.@event`. Naming a field `type`, `class`, `base`, +`event` or `default` is legal in the schema and needs the `@` in every snippet +that touches it — one good reason to avoid such names when you can. + +## What you should get back + +Started directly, it echoes what it received: + +``` +{ "event": "order.created", "payload": "{}" } → HTTP 200 +{"event":"order.created","payload":"{}"} +``` + +The run log carries `received 'order.created' on the declared route`. + +Once the Flow is published, the same process is also reachable at its declared +route, and the caller does not need to know the Flow's name or version. + +## Two ways to address a compiled Flow + +``` +POST /api/v0/bpmn/flowdefinitions/{libraryType}/{libraryName}/{flowName}/Start.json?run=auto +POST /api/v0/bpmn/flowdefinitions/{id}/Start/{version} +``` + +The first resolves by name and follows the latest compiled version. The second +pins a numeric id and version that exist in one environment only. Prefer the +first for anything you intend to share. + +Two things decide whether the call runs at all: `run=auto` — any other value +registers the instance and returns its id **without** running it — and the last +compilation having succeeded. A Flow whose latest compile failed answers +`Last compilation of workflow '…' failed`. + +## Why it is built this way -## Platform functions used +**The route lives on the diagram, not in a gateway configuration.** Reading the +model tells you how it is reached. -`AI/Completions` (through a Call Activity) +**The trigger changes nothing downstream.** The same Flow can be started by hand +during development and by a route in production, with no edit in between. -## Reserved words +## Where newcomers stumble -`Input` · `#Previous` +- **`run=auto` is compared as an exact string.** `AUTO` does not run. +- **The route is claimed at publication.** Two Flows declaring the same method + and path collide; pick a path that names what it accepts. +- **A body is required.** An empty request answers `428 A non-empty request body + is required` — send `{}` if there is nothing to say. -## What to watch for +## Run it -- The HTTP route is set on the start event (`StartSignalRoute`): method + - route. The diagram does not change because of it — what changes is the way it is called. -- Starting from a queue is a signal start event with a description of the source (topic, - filter, mode `run` / `debug` / `async`); there is an example in `02-error-handling`. -- `DebugParamas` is the data for the Debug button; `ExecuteParamas` is for Execute. These - are different sets, and both stay in the file, so they must hold no real data. +Import `service-config.bpmn` from [03 · Configuration](../03-config-as-flow/) +into a **tenant** library first, under the name `flow-patterns-config`. Then +import this file and compile it. --- -For the data types in these examples, see [TYPE-DESIGN.md](../TYPE-DESIGN.md). +For how the types in this example are designed, see [TYPE-DESIGN.md](../TYPE-DESIGN.md). diff --git a/flow-patterns/07-triggers/http-start.bpmn b/flow-patterns/07-triggers/http-start.bpmn new file mode 100644 index 0000000..c7c8354 --- /dev/null +++ b/flow-patterns/07-triggers/http-start.bpmn @@ -0,0 +1,146 @@ + + + + [{"name": "WebhookRequest", "definition": "{\"$schema\": \"http://json-schema.org/draft-06/schema#\", \"$ref\": \"#/definitions/WebhookRequest\", \"definitions\": {\"WebhookRequest\": {\"type\": \"object\", \"additionalProperties\": true, \"properties\": {\"event\": {\"type\": \"string\"}, \"payload\": {\"type\": \"string\"}}, \"title\": \"WebhookRequest\"}}}", "isNativeDefinition": false}, {"name": "ErrorResponse", "definition": "{\"$schema\": \"http://json-schema.org/draft-06/schema#\", \"$ref\": \"#/definitions/ErrorResponse\", \"definitions\": {\"ErrorResponse\": {\"type\": \"object\", \"additionalProperties\": true, \"properties\": {\"LevelMessage\": {\"type\": \"string\"}, \"statusCode\": {\"type\": \"integer\"}, \"Message\": {\"type\": \"string\"}, \"State\": {\"type\": \"string\"}}, \"title\": \"ErrorResponse\"}}}", "isNativeDefinition": false}] + [{"name": "ExternalConfig", "definition": "types://external/ConfigActivity/Config"}] + [{"name": "HandleException", "initCode": "ErrorResponse HandleException(PassingResult prevData)\n{\n Logger.LogError($\"flow failed: {prevData.Exception?.Message}\");\n if (WorkflowEnvironment.RuntimeName == \"UCP\")\n WorkflowEnvironment.Variables[\"StatusCode\"] = 500;\n return new ErrorResponse()\n {\n Message = prevData.Exception?.Message,\n LevelMessage = \"11\",\n statusCode = 500,\n State = \"1\"\n };\n}", "initParameters": [{"name": "Result", "type": "ErrorResponse"}, {"name": "prevData", "type": "PassingResult", "required": true}]}] + [] + [{"name": "ConfigActivity", "link": "activities://bpmn-mnemo/tenant/tenant_shared/flow-patterns-config/#latest", "version": "", "entities": []}] + [{"name": "config", "type": "ExternalConfig", "initialValue": ""}] + + + + + + + + + {"status": "HttpRequestAttributes", "method": "POST", "route": "webhook"} + + Fl_001 + + DO_Input + + + + + {"libName": "tenant_shared", "libType": "tenant", "flowName": "flow-patterns-config", "version": "#latest", "packSize": 0} + activities://bpmn-mnemo/tenant/tenant_shared/flow-patterns-config/#latest + + Fl_001 + Fl_002 + + + + {"actionType": "Expression", "action": "ExternalConfig cfg = ((JSON)#Previous).Cast<ExternalConfig>();\nParameters.config = cfg;\nLogger.LogInformation($\"config loaded from flow-patterns-config\");\nreturn cfg;"} + + Fl_002 + Fl_003 + + + + {"actionType": "Expression", "action": "// This process is started by an HTTP call, not by a person pressing\n// Run: the route is declared on the start event as StartSignalRoute.\n// 'event' is a C# keyword, so the field is escaped with @.\nLogger.LogInformation($\"received '{Input.@event}' on the declared route\");\nreturn new WebhookRequest() { @event = Input.@event, payload = Input.payload };"} + + Fl_003 + Fl_004 + + + Fl_004 + + + DO_Output + Prop_Ev_End + + + + + {"actionType": "Action", "action": "HandleException", "actionParam": {"prevData": "#PreviousData"}} + + Fl_005 + Fl_006 + + + + {"status": "HttpRequestAttributes", "code": "500"} + + Fl_006 + + + DO_Output + Prop_Ev_Failed + + + + Fl_005 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/flow-patterns/08-ai-agents/README.md b/flow-patterns/08-ai-agents/README.md index 5dae53a..585e27a 100644 --- a/flow-patterns/08-ai-agents/README.md +++ b/flow-patterns/08-ai-agents/README.md @@ -1,38 +1,102 @@ -# 08 · Agent scenarios +# 08 · A prompt is data, not a string -Calling a language model, and preparing a Structured Prompt for it. +The step that talks to a model is the easy half. The half worth learning is +building the request as typed data, so it can be reviewed, tested and changed +without rereading a wall of concatenation. -## When to use +## What this example demonstrates -An LLM inside a process; assembling a prompt from a template and data. +| Capability | Where to look | +|---|---| +| A platform type reached by reference | `types://external/ai/UCP.Common.AI.ChatCompletionsRequestMessageViewModel` | +| Declaring a platform library | the `ai` entry in `UsedLibs` | +| Giving an external type a short alias | `ChatMessage` in `ExternalTypes` | +| Building a message list instead of a string | `T_Compose` | +| Returning a collection as the process result | the `return messages;` at the end | -## Files +## The model -| File | What it shows | -|---|---| -| `compile-structured-prompt.bpmn` | **pure logic**: seven Expression steps, no functions and no storage — working with JSON, templates and substitution | -| `ai-completions.bpmn` | a call to `AI/Completions`, two Call Activity nodes with different reference formats | +``` +start → Get Config → Parse Config → compose the prompt → end + ↓ + handle Exception → end +``` + +## Types it declares + +| Type | Kind | How it is used | +|---|---|---| +| `ChatMessage` | external → `types://external/ai/UCP.Common.AI.ChatCompletionsRequestMessageViewModel` | the platform's own chat message. Aliased short so the code stays readable; the full name lives in one line of `ExternalTypes` | +| `PromptRequest` | inner, JSON Schema | the process boundary; `question` and `tone` | +| `ErrorResponse` | inner, JSON Schema | the shape of a failure | +| `ExternalConfig` | external | the configuration type | + +Two different external types sit side by side here, and the difference matters. +`ExternalConfig` reaches into **another Flow** (`types://external//` +where the alias is bound to a Call Activity). `ChatMessage` reaches into a +**platform library** (`types://external/ai/` where `ai` is bound +to `libs://common/ai`). Same syntax, two sources. + +## What you should get back + +``` +{ "question": "What is BPMN?", "tone": "plain" } +``` +``` +HTTP 200 +[{"role":"system","content":"Answer in a plain tone.","tool_calls":null, + "tool_call_id":null,"name":null}, + {"role":"user","content":"What is BPMN?","tool_calls":null, + "tool_call_id":null,"name":null}] +``` + +The fields you never set come back as `null` — that is the platform's own type +answering, not a shape this file invented. Feeding that array to a model is one +more step; getting the array right is what this example is for. + +## What this example does not do + +**It does not call the model.** The `AI/Completions` built-in exists and is +declared in the platform catalogue, but its body reaches for +`Action.BoundaryEvents` and a cancellation token that are not in scope where the +engine inlines it, so a model that calls it fails to compile with: + +``` +error CS0117: 'Action' does not contain a definition for 'BoundaryEvents' +error CS0103: The name 'CT' does not exist in the current context +``` + +That is a gap in the platform, not something you can work around in the diagram. +The example therefore stops where it can still be honest: at a correctly built, +correctly typed request. + +## Why it is built this way + +**Messages are a list, not a concatenation.** The system message sets behaviour, +the user message asks. Kept apart, either can be changed, reviewed or tested +alone; glued into one string, neither can. -## Platform functions used +**The type is referenced, not copied.** Declaring your own `ChatMessage` class +would work until the platform's version gains a field. The reference cannot drift. -`AI/Completions` +**The alias is short on purpose.** `ChatCompletionsRequestMessageViewModel` in +every line would bury the logic; the long name appears once. -## Reserved words +## Where newcomers stumble -`Parameters` as an accumulator · `#Previous` · `Logger` +- **Forgetting the library.** `types://external/ai/…` resolves only if `ai` is in + `UsedLibs`. Without it the alias silently becomes `#error` and the failure + arrives later, as an unrelated-looking compile error. +- **Building the prompt in the caller.** Then two callers drift apart. Let the + Flow own the shape. +- **Expecting the platform type to be minimal.** It has fields you will not use; + they come back as `null` and that is correct. -## What to watch for +## Run it -- `compile-structured-prompt` is the best example for the section on types: - it shows how `Parameters.result` accumulates the result across seven steps, and how - `new JSON(x).JsonPath(expr)` takes a value out of an arbitrary structure. -- Errors here are a `throw` with a code (`template_not_found`, - `structured_prompt_not_declared`). The error code is part of the contract, not text - for a human to read. -- The `Functions` block in the file is a **snapshot** of the signature at the moment of - saving, not a contract. The contract is defined by the platform: at compile time the - signature is taken from there. If an example does not build, save it again in the - current designer. +Import `service-config.bpmn` from [03 · Configuration](../03-config-as-flow/) +into a **tenant** library first, under the name `flow-patterns-config`. Then +import this file and compile it. --- -For the data types in these examples, see [TYPE-DESIGN.md](../TYPE-DESIGN.md). +For how the types in this example are designed, see [TYPE-DESIGN.md](../TYPE-DESIGN.md). diff --git a/flow-patterns/08-ai-agents/structured-prompt.bpmn b/flow-patterns/08-ai-agents/structured-prompt.bpmn new file mode 100644 index 0000000..24314b5 --- /dev/null +++ b/flow-patterns/08-ai-agents/structured-prompt.bpmn @@ -0,0 +1,143 @@ + + + + [{"name": "PromptRequest", "definition": "{\"$schema\": \"http://json-schema.org/draft-06/schema#\", \"$ref\": \"#/definitions/PromptRequest\", \"definitions\": {\"PromptRequest\": {\"type\": \"object\", \"additionalProperties\": true, \"properties\": {\"question\": {\"type\": \"string\"}, \"tone\": {\"type\": \"string\"}}, \"title\": \"PromptRequest\"}}}", "isNativeDefinition": false}, {"name": "ErrorResponse", "definition": "{\"$schema\": \"http://json-schema.org/draft-06/schema#\", \"$ref\": \"#/definitions/ErrorResponse\", \"definitions\": {\"ErrorResponse\": {\"type\": \"object\", \"additionalProperties\": true, \"properties\": {\"LevelMessage\": {\"type\": \"string\"}, \"statusCode\": {\"type\": \"integer\"}, \"Message\": {\"type\": \"string\"}, \"State\": {\"type\": \"string\"}}, \"title\": \"ErrorResponse\"}}}", "isNativeDefinition": false}] + [{"name": "ExternalConfig", "definition": "types://external/ConfigActivity/Config"}, {"name": "ChatMessage", "definition": "types://external/ai/UCP.Common.AI.ChatCompletionsRequestMessageViewModel"}] + [{"name": "HandleException", "initCode": "ErrorResponse HandleException(PassingResult prevData)\n{\n Logger.LogError($\"flow failed: {prevData.Exception?.Message}\");\n if (WorkflowEnvironment.RuntimeName == \"UCP\")\n WorkflowEnvironment.Variables[\"StatusCode\"] = 500;\n return new ErrorResponse()\n {\n Message = prevData.Exception?.Message,\n LevelMessage = \"11\",\n statusCode = 500,\n State = \"1\"\n };\n}", "initParameters": [{"name": "Result", "type": "ErrorResponse"}, {"name": "prevData", "type": "PassingResult", "required": true}]}] + [] + [{"name": "ConfigActivity", "link": "activities://bpmn-mnemo/tenant/tenant_shared/flow-patterns-config/#latest", "version": "", "entities": []}, {"name": "ai", "link": "libs://common/ai", "version": "", "entities": []}] + [{"name": "config", "type": "ExternalConfig", "initialValue": ""}] + + + + + + + + Fl_001 + + DO_Input + + + + + {"libName": "tenant_shared", "libType": "tenant", "flowName": "flow-patterns-config", "version": "#latest", "packSize": 0} + activities://bpmn-mnemo/tenant/tenant_shared/flow-patterns-config/#latest + + Fl_001 + Fl_002 + + + + {"actionType": "Expression", "action": "ExternalConfig cfg = ((JSON)#Previous).Cast<ExternalConfig>();\nParameters.config = cfg;\nLogger.LogInformation($\"config loaded from flow-patterns-config\");\nreturn cfg;"} + + Fl_002 + Fl_003 + + + + {"actionType": "Expression", "action": "// ChatMessage is the platform's own message type, declared as an\n// external type instead of being copied into this file. One\n// declaration, one shape, no drift between Flows.\nvar messages = new List<ChatMessage>\n{\n // The system message sets the behaviour, the user message asks.\n // Keeping them as data — not as one glued string — is what makes\n // a prompt reviewable and testable.\n new ChatMessage() { Role = \"system\", Content = $\"Answer in a {Input.tone} tone.\" },\n new ChatMessage() { Role = \"user\", Content = Input.question }\n};\n\nLogger.LogInformation($\"prompt built from {messages.Count} messages\");\nreturn messages;"} + + Fl_003 + Fl_004 + + + Fl_004 + + + DO_Output + Prop_Ev_End + + + + + {"actionType": "Action", "action": "HandleException", "actionParam": {"prevData": "#PreviousData"}} + + Fl_005 + Fl_006 + + + + {"status": "HttpRequestAttributes", "code": "500"} + + Fl_006 + + + DO_Output + Prop_Ev_Failed + + + + Fl_005 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/flow-patterns/README.md b/flow-patterns/README.md index c774b0b..d7624ed 100644 --- a/flow-patterns/README.md +++ b/flow-patterns/README.md @@ -1,58 +1,76 @@ # Flow patterns -BPMN Flow examples for the MEF.DEV platform, grouped by the problem they -solve. Each group is self-contained: open the one that matches your -situation. +Teaching examples for the MEF.DEV platform, one per problem. Each was written to +be read: small enough to hold in your head, commented in the code itself, and +compiled against the real platform before it was published here. -All examples are anonymized: addresses look like `http://servername:port/resource`, -passwords are empty, and connection strings are read from configuration. Substitute -your own values before running them. +Every example is under the licence of this repository. None of them is a +production Flow with the names filed off — they were built for this folder. -| Group | About | Key | +## The groups + +| Group | The one thing it teaches | Model | |---|---|---| -| [01 · Basics](01-basics/) | the data pipeline from input to output | `#Previous`, `Global` | -| [02 · Errors](02-error-handling/) | an error as a separate branch of the diagram | `#PreviousData`, `StatusCode` | -| [03 · Configuration](03-config-as-flow/) | moving settings into a separate Flow | `Root.Parameters` | -| [04 · Pagination](04-pagination/) | large result sets and sets of files | Multi Instance, `PackSize` | -| [05 · Events](05-events-and-signals/) | signal versus message; an event raised from code | `Action.BoundaryEvents[].Raise()` | -| [06 · Streaming](06-streaming-sse/) | streaming responses and SSE | `#Previous.Reader` | -| [07 · Triggers](07-triggers/) | what starts a process | `StartSignalRoute` | -| [08 · Agents](08-ai-agents/) | LLMs and structured prompts | `AI/Completions` | - -**Before your first Flow**, read [TYPE-DESIGN.md](TYPE-DESIGN.md) — on how to -design data types. Most errors that look like a platform failure are a skipped -type design step. - -## Companion Flows - -A Flow takes its settings from a separate configuration Flow, reached through a -Call Activity (`activities://bpmn-mnemo////#latest`), -and it declares the shared types of that Flow as external -(`types://external//`). The indirection is deliberate: it is what keeps -a model independent of the environment it runs in, and what keeps one declaration -of a type instead of a copy inside every Flow that touches it. - -The consequence for you: an example that references a companion Flow will not -compile until that companion exists in the target library, under the name the -reference uses. Import the companion first. - -| Example | Import first | +| [01 · Basics](01-basics/) | `Input` is the caller's payload, `#Previous` is the last step's result | `first-flow.bpmn` | +| [02 · Errors](02-error-handling/) | a failure is a branch, and only `#PreviousData` carries the exception | `error-as-branch.bpmn` | +| [03 · Configuration](03-config-as-flow/) | settings live in their own Flow, so a model never learns its environment | `service-config.bpmn`, `use-config.bpmn` | +| [04 · Pagination](04-pagination/) | plan the pages first, then walk them with Multi Instance | `paged-fetch.bpmn` | +| [05 · Events](05-events-and-signals/) | a step can raise an event and keep working | `raise-event.bpmn` | +| [06 · Streaming](06-streaming-sse/) | read a response as it arrives, pass each chunk on | `stream-response.bpmn` | +| [07 · Triggers](07-triggers/) | the start event decides how a Flow is reached | `http-start.bpmn` | +| [08 · Agents](08-ai-agents/) | build a prompt as typed data, not as a string | `structured-prompt.bpmn` | + +**Before your first Flow**, read [TYPE-DESIGN.md](TYPE-DESIGN.md). Most errors +that look like a platform failure are a skipped type-design step. + +## Import the configuration Flow first + +Every example takes its settings from a separate Flow through a Call Activity. +That indirection is the habit the whole group is built around: it is what lets +the same model run in any environment without an edit. + +The consequence is a prerequisite. Before compiling anything else: + +1. Import `03-config-as-flow/service-config.bpmn` into a **tenant** library. +2. Name it `flow-patterns-config`. +3. Compile it. + +Every other model then resolves +`activities://bpmn-mnemo/tenant//flow-patterns-config/#latest`. If +your tenant library is named something other than `tenant_shared`, change that +one segment in each model, or rename the library. + +**A tenant library, not a personal one.** The platform resolves a personal +library only for the account that created it, so a `personal/…` reference works +for its author and for nobody else. + +## What the examples talk to + +Two public sources, no key, no account, nothing to expire: + +| Source | Used for | |---|---| -| `03-config-as-flow/send-links.bpmn` | `03-config-as-flow/get-config.bpmn`, named `test-config` | -| `01-basics/echo-agent.bpmn` | `ama_base_agent`, in the tenant library `Shared AI Agents` | -| `02-error-handling/event-error-routing.bpmn` | `EVENT_BankFeed_Sync_config` | -| `04-pagination/sync-folder-paged.bpmn` | `sharepoint-get-folders` | -| `07-triggers/http-route-start.bpmn` | `ama_base_agent` and `chat-compleation-call`, in the tenant library `AI_Agents_Shared` | -| `08-ai-agents/ai-completions.bpmn` | `Create_Config_Yiz_Http`, and the version-pinned target `activities://bpmn/personal/12/1726/13` | -| `06-streaming-sse/sse-roundtrip.bpmn` | a Kafka configuration named `eventHub-operator` on the stand | - -Only `get-config.bpmn` ships with this repository; every other companion belongs -to the environment you import into. Note the two reference forms: the mnemonic -one resolves by name and follows `#latest`, while the numeric one -(`activities://bpmn////`) pins a specific -version and carries no name, so it only resolves in the environment those -identifiers came from. - -The examples not listed above compile without a companion Flow. `http-route-start` -is listed even though it compiled on our stand: its companions happened to exist -there, which is exactly the kind of accident this table is meant to remove. +| `api.frankfurter.dev` | exchange rates published by the European Central Bank | +| `jsonplaceholder.typicode.com` | a list endpoint that understands `_start` and `_limit` | + +`login` and `password` in the configuration are empty, because neither source +needs them. A real deployment fills them in that one file. + +Compiling never touches the network. Running the examples that make an outbound +call does — if your stand has no route to the internet, those runs end on the +error branch, which is the correct behaviour and is shown in the group's README. + +## How to read a group + +Each group's README says the same four things: + +- **what capabilities the example demonstrates**, and where in the file to look; +- **which types it declares** and how each one is used; +- **what you should get back** — the actual reply, taken from a real run; +- **why it is built that way**, and where newcomers usually trip. + +--- + +Every model here compiles against the platform. The models are generated from +the platform's own function catalogue, so their declarations cannot drift from +the engine that runs them. diff --git a/flow-patterns/TYPE-DESIGN.md b/flow-patterns/TYPE-DESIGN.md index 17b9e6b..d11579f 100644 --- a/flow-patterns/TYPE-DESIGN.md +++ b/flow-patterns/TYPE-DESIGN.md @@ -68,7 +68,7 @@ half of whose fields are empty at every step. Let every step have its own input and its own output — the diagram then reads without comments. Bad: `ProcessData` with 20 fields, of which 3 are filled in at each step. -Good: `PageInfo` → `FileLinkInfo[]` → `EmailBody`. +Good: `PageRequest` → `PageInfo[]` → `PageResult`. ### 3.2 An accumulator is a parameter, not the result of a step @@ -81,12 +81,12 @@ Parameters.result.structuredPrompt = template; // accumulate return Parameters.result; // and pass it on ``` -That is how `08-ai-agents/compile-structured-prompt.bpmn` is built: seven steps -in a row add to a single `CompilationResult`. +The same idea holds wherever several steps contribute to one answer: the shape +is declared once, and each step fills its part of it. ### 3.3 A collection is a type with `[]`, not "an array of something" -If a data element is named `FileLinkInfo[]`, the platform knows it is a set, and +If a data element is named `PageInfo[]`, the platform knows it is a set, and a Sub Process with Multi Instance will receive **one element** in `Input`, not the whole array. Forgetting the `[]` is the most common reason for "why did my loop run only once". @@ -188,9 +188,9 @@ then work without casts. That is better than `Query()` without a type. | Question | Example | |---|---| -| A minimal pipeline with types | `01-basics/echo-agent.bpmn` | -| JSON → typed configuration | `03-config-as-flow/get-config.bpmn` | -| An accumulator in a parameter | `08-ai-agents/compile-structured-prompt.bpmn` | -| A collection + Multi Instance | `04-pagination/sync-folder-paged.bpmn` | -| A cast after a parallel gateway | `05-events-and-signals/boundary-event-fanout.bpmn` | -| External types between Flows | `03-config-as-flow/send-links.bpmn` | +| A minimal pipeline with types | `01-basics/first-flow.bpmn` | +| A native C# class as a declared type | `03-config-as-flow/service-config.bpmn` | +| External types between Flows | `03-config-as-flow/use-config.bpmn` | +| A collection + Multi Instance | `04-pagination/paged-fetch.bpmn` | +| A type owned by a platform library | `08-ai-agents/structured-prompt.bpmn` | +| The shape of a failure | `02-error-handling/error-as-branch.bpmn` | From faf3b704114d19e411c8de265d42fd9b5a0c1c0e Mon Sep 17 00:00:00 2001 From: Sergej Polovnikov Date: Tue, 1 Sep 2026 03:40:54 +0300 Subject: [PATCH 06/19] docs: rebuild the catalogue from the models The catalogue says its data is read from the files, so it was read from the files again rather than edited by hand. Forty-three models, counted by what each one actually contains. The interesting part is what the honest count now shows as uncovered. The models that were removed were the only ones using an event-based gateway, a signal and a Data Store, so all three drop to zero, and Sub Process, Multi Instance and the intermediate events drop to one. Those numbers were previously carried by material that could not be published; the gap was always there, it was just filled by something that had to go. `ExternalAction` remains uncovered, as before. Co-Authored-By: Claude Fable 5 --- CATALOGUE.md | 161 +++++++++++++++++++++++++-------------------------- 1 file changed, 80 insertions(+), 81 deletions(-) diff --git a/CATALOGUE.md b/CATALOGUE.md index 99529a3..6f955be 100644 --- a/CATALOGUE.md +++ b/CATALOGUE.md @@ -1,6 +1,6 @@ # Catalog of examples -A list of the models in this repository, what each one is for, and what exactly it shows. The data is collected from the files themselves, not from descriptions: task modes, elements used, reserved words and declared types are read from the models. +A list of the models in this repository, what each one is for, and what it shows. The data is collected from the files themselves, not from descriptions: task modes, elements used, reserved words and declared types are read from the models. ## Capability coverage @@ -9,40 +9,39 @@ The denominator is what the compiler accepts and what the properties panel offer | Capability | Models | Where to look | |---|---|---| | **Nodes** | | | -| Task | 48 | `Kafka_getConfig/Kafka.bpmn`, `api-call/api-call.bpmn` (+46) | -| External component (Call Activity) | 5 | `flow-patterns/02-error-handling/event-error-routing.bpmn`, `flow-patterns/03-config-as-flow/send-links.bpmn` (+3) | -| Sub Process | 4 | `flow-patterns/03-config-as-flow/send-links-before.bpmn`, `flow-patterns/03-config-as-flow/send-links.bpmn` (+2) | -| Exclusive gateway | 32 | `api-call/api-call.bpmn`, `flow-patterns/01-basics/global-and-jsonpath.bpmn` (+30) | -| Parallel gateway | 15 | `flow-patterns/05-events-and-signals/boundary-event-fanout.bpmn`, `flow-patterns/05-events-and-signals/zip-chunks.bpmn` (+13) | -| Event-based gateway | 1 | `flow-patterns/05-events-and-signals/zip-chunks.bpmn` | -| Start event | 48 | `Kafka_getConfig/Kafka.bpmn`, `api-call/api-call.bpmn` (+46) | -| End event | 48 | `Kafka_getConfig/Kafka.bpmn`, `api-call/api-call.bpmn` (+46) | -| Boundary event | 39 | `flow-patterns/01-basics/global-and-jsonpath.bpmn`, `flow-patterns/02-error-handling/event-error-routing.bpmn` (+37) | -| Intermediate catch event | 2 | `api-call/api-call.bpmn`, `flow-patterns/05-events-and-signals/zip-chunks.bpmn` | -| Intermediate throw event | 7 | `flow-patterns/03-config-as-flow/send-links-before.bpmn`, `flow-patterns/03-config-as-flow/send-links.bpmn` (+5) | +| Task | 43 | `Kafka_getConfig/Kafka.bpmn`, `api-call/api-call.bpmn` (+41) | +| External component (Call Activity) | 8 | `flow-patterns/01-basics/first-flow.bpmn`, `flow-patterns/02-error-handling/error-as-branch.bpmn` (+6) | +| Sub Process | 1 | `flow-patterns/04-pagination/paged-fetch.bpmn` | +| Exclusive gateway | 24 | `api-call/api-call.bpmn`, `http-stream/http_stream.bpmn` (+22) | +| Parallel gateway | 12 | `tmforum-apis/TMF620_Product_Catalog_Management/TMF620_Get_ProductOffering.bpmn`, `tmforum-apis/TMF640_Service_Activation_and_Configuration/TMF640_Get_Service.bpmn` (+10) | +| Event-based gateway | 0 | — **none** | +| Start event | 43 | `Kafka_getConfig/Kafka.bpmn`, `api-call/api-call.bpmn` (+41) | +| End event | 43 | `Kafka_getConfig/Kafka.bpmn`, `api-call/api-call.bpmn` (+41) | +| Boundary event | 40 | `flow-patterns/01-basics/first-flow.bpmn`, `flow-patterns/02-error-handling/error-as-branch.bpmn` (+38) | +| Intermediate catch event | 1 | `api-call/api-call.bpmn` | +| Intermediate throw event | 1 | `http-stream/http_stream.bpmn` | | **Event kinds** | | | -| error | 35 | `flow-patterns/01-basics/global-and-jsonpath.bpmn`, `flow-patterns/02-error-handling/event-error-routing.bpmn` (+33) | +| error | 39 | `flow-patterns/01-basics/first-flow.bpmn`, `flow-patterns/02-error-handling/error-as-branch.bpmn` (+37) | | timer | 1 | `api-call/api-call.bpmn` | -| signal | 3 | `flow-patterns/02-error-handling/event-error-routing.bpmn`, `flow-patterns/05-events-and-signals/zip-chunks.bpmn` (+1) | -| message | 7 | `flow-patterns/03-config-as-flow/send-links-before.bpmn`, `flow-patterns/03-config-as-flow/send-links.bpmn` (+5) | -| **Loops** | | | -| Multi Instance execution | 4 | `flow-patterns/03-config-as-flow/send-links-before.bpmn`, `flow-patterns/03-config-as-flow/send-links.bpmn` (+2) | -| **Data** | | | -| Data Object | 48 | `Kafka_getConfig/Kafka.bpmn`, `api-call/api-call.bpmn` (+46) | -| Data Store | 3 | `flow-patterns/03-config-as-flow/send-links-before.bpmn`, `flow-patterns/03-config-as-flow/send-links.bpmn` (+1) | +| signal | 0 | — **none** | +| message | 3 | `flow-patterns/05-events-and-signals/raise-event.bpmn`, `flow-patterns/06-streaming-sse/stream-response.bpmn` (+1) | +| **Loops and data** | | | +| Multi Instance execution | 1 | `flow-patterns/04-pagination/paged-fetch.bpmn` | +| Data Object | 43 | `Kafka_getConfig/Kafka.bpmn`, `api-call/api-call.bpmn` (+41) | +| Data Store | 0 | — **none** | | **Task modes** | | | -| Action | 39 | `api-call/api-call.bpmn`, `api-gateway/api-gateway.bpmn` (+37) | -| Function | 13 | `api-call/api-call.bpmn`, `api-gateway/api-gateway.bpmn` (+11) | +| Action | 41 | `api-call/api-call.bpmn`, `api-gateway/api-gateway.bpmn` (+39) | +| Function | 5 | `api-call/api-call.bpmn`, `api-gateway/api-gateway.bpmn` (+3) | | ExternalAction | 0 | — **none** | -| Inline | 17 | `Kafka_getConfig/Kafka.bpmn`, `flow-patterns/01-basics/echo-agent.bpmn` (+15) | +| Inline | 14 | `Kafka_getConfig/Kafka.bpmn`, `flow-patterns/01-basics/first-flow.bpmn` (+12) | | **Types** | | | -| Native (C# class) | 40 | `Kafka_getConfig/Kafka.bpmn`, `flow-patterns/01-basics/echo-agent.bpmn` (+38) | -| Inner (JSON Schema) | 44 | `Kafka_getConfig/Kafka.bpmn`, `api-call/api-call.bpmn` (+42) | -| External (reference) | 9 | `Kafka_getConfig/Kafka.bpmn`, `flow-patterns/01-basics/echo-agent.bpmn` (+7) | +| Native (C# class) | 34 | `Kafka_getConfig/Kafka.bpmn`, `flow-patterns/03-config-as-flow/service-config.bpmn` (+32) | +| Inner (JSON Schema) | 43 | `Kafka_getConfig/Kafka.bpmn`, `api-call/api-call.bpmn` (+41) | +| External (reference) | 10 | `Kafka_getConfig/Kafka.bpmn`, `flow-patterns/01-basics/first-flow.bpmn` (+8) | | **Other** | | | -| Linked libraries | 12 | `Kafka_getConfig/Kafka.bpmn`, `flow-patterns/01-basics/echo-agent.bpmn` (+10) | -| Flow parameters | 44 | `Kafka_getConfig/Kafka.bpmn`, `flow-patterns/01-basics/echo-agent.bpmn` (+42) | -| Reference to another Flow | 7 | `Kafka_getConfig/Kafka.bpmn`, `flow-patterns/01-basics/echo-agent.bpmn` (+5) | +| Linked libraries | 3 | `Kafka_getConfig/Kafka.bpmn`, `flow-patterns/08-ai-agents/structured-prompt.bpmn` (+1) | +| Flow parameters | 42 | `Kafka_getConfig/Kafka.bpmn`, `api-call/api-call.bpmn` (+40) | +| Reference to another Flow | 9 | `Kafka_getConfig/Kafka.bpmn`, `flow-patterns/01-basics/first-flow.bpmn` (+7) | ## Models @@ -52,7 +51,7 @@ End-to-end example from the guide: from JSON on input to a typed configuration. | Model | What it shows | Modes | Words used | |---|---|---|---| -| `Kafka.bpmn` | Native type; External type | Inline | `Input`, `Logger`, `Parameters`, `WorkflowEnvironment` | +| `Kafka.bpmn` | Data Object; Native (C# class); Inner (JSON Schema); External (reference) | Inline | `Input`, `Logger`, `Parameters`, `WorkflowEnvironment`, `PassingResult` | ### api-call @@ -60,7 +59,7 @@ End-to-end example from the guide: calling an external API with a retry. | Model | What it shows | Modes | Words used | |---|---|---|---| -| `api-call.bpmn` | exclusive gateway; timer; functions: FormReport, RestApi/GET | Action, Function | `#Previous`, `Input`, `Logger`, `Parameters`, `ServiceProvider` | +| `api-call.bpmn` | Exclusive gateway; timer; Data Object; Inner (JSON Schema) | Action, Function | `#Previous`, `Input`, `Logger`, `Parameters`, `WorkflowEnvironment`, `ServiceProvider`, `Transition`, `PassingResult` | ### api-gateway @@ -68,28 +67,23 @@ End-to-end example from the guide: a proxy gateway that corrects the request. | Model | What it shows | Modes | Words used | |---|---|---|---| -| `api-gateway.bpmn` | functions: CorrectModels, FormResponse, RestApi | Action, Function | `#Previous`, `Input`, `Parameters`, `ServiceProvider` | +| `api-gateway.bpmn` | Data Object; Inner (JSON Schema) | Action, Function | `#Previous`, `Input`, `Parameters`, `ServiceProvider`, `PassingResult` | ### flow-patterns -Teaching examples grouped by the problem they solve. +Teaching examples, one per problem. Each is written for this folder, not lifted from a running system. | Model | What it shows | Modes | Words used | |---|---|---|---| -| `01-basics/echo-agent.bpmn` | Native type; External type | Inline | `#Previous`, `Input`, `Logger`, `Parameters`, `WorkflowEnvironment` | -| `01-basics/global-and-jsonpath.bpmn` | boundary event; exclusive gateway; functions: JsonPath, RestApi, SaveVariable | Action, Function | `#Previous`, `Global`, `Input`, `Logger`, `Parameters` | -| `02-error-handling/event-error-routing.bpmn` | boundary event; exclusive gateway; call to another Flow; signal; Native type; functions: HandleException, correctInput, p_ucp_act_Customers_Sync | Action, Inline | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters` | -| `03-config-as-flow/get-config.bpmn` | Native type | Inline | `#Previous`, `Input`, `Logger`, `Parameters`, `WorkflowEnvironment` | -| `03-config-as-flow/send-links-before.bpmn` | boundary event; exclusive gateway; Sub Process; message; Data Store; Multi Instance; Native type; functions: GetLinks, GetPageInfos, RestApi/Download | Action, Inline, Function | `#Previous`, `DataAssociations`, `Input`, `Logger`, `Parameters` | -| `03-config-as-flow/send-links.bpmn` | boundary event; exclusive gateway; Sub Process; call to another Flow; message; Data Store; Multi Instance; Native type; External type; functions: GetLinks, GetPageInfos, RestApi/Download | Action, Inline, Function | `#Previous`, `DataAssociations`, `Input`, `Logger`, `Parameters` | -| `04-pagination/sync-folder-paged.bpmn` | boundary event; exclusive gateway; Sub Process; call to another Flow; Multi Instance; functions: HandleException, JsonPath, RestApi | Action, Function | `#Previous`, `Global`, `Input`, `Logger`, `Parameters` | -| `05-events-and-signals/boundary-event-fanout.bpmn` | boundary event; parallel gateway; exclusive gateway; message; External type; functions: RestApi/GET | Inline, Function | `#Previous`, `Action.BoundaryEvents`, `Input`, `Logger`, `Parameters` | -| `05-events-and-signals/zip-chunks.bpmn` | parallel gateway; event-based gateway; Sub Process; signal; message; Data Store; Multi Instance; Native type; functions: GetPage, GetPageInfos, SaveVariable | Action, Inline, Function | `#Previous`, `#event`, `DataAssociations`, `Input`, `Logger` | -| `06-streaming-sse/llm-stream.bpmn` | boundary event; exclusive gateway; message; Native type; External type; functions: RestApi | Inline, Function | `#Previous`, `Action.BoundaryEvents`, `Input`, `Logger`, `Parameters` | -| `06-streaming-sse/sse-roundtrip.bpmn` | boundary event; parallel gateway; exclusive gateway; signal; message; External type; functions: 1, DataResult, RestApi | Action, Inline, Function | `#Previous`, `Action.BoundaryEvents`, `Input`, `Logger`, `Parameters` | -| `07-triggers/http-route-start.bpmn` | call to another Flow; Native type; External type | Inline | `#Previous`, `Input`, `Parameters` | -| `08-ai-agents/ai-completions.bpmn` | call to another Flow; Native type; External type; functions: AI/Completions | Inline, Function | `Input`, `Logger`, `Parameters`, `WorkflowEnvironment` | -| `08-ai-agents/compile-structured-prompt.bpmn` | Native type | Inline | `Input`, `Logger`, `Parameters`, `Root`, `WorkflowEnvironment` | +| `01-basics/first-flow.bpmn` | External component (Call Activity); error; Data Object; Inner (JSON Schema); External (reference) | Action, Inline | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters`, `WorkflowEnvironment`, `PassingResult` | +| `02-error-handling/error-as-branch.bpmn` | External component (Call Activity); error; Data Object; Inner (JSON Schema); External (reference) | Action, Inline | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters`, `WorkflowEnvironment`, `PassingResult` | +| `03-config-as-flow/service-config.bpmn` | error; Data Object; Native (C# class); Inner (JSON Schema) | Action, Inline | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters`, `WorkflowEnvironment`, `PassingResult` | +| `03-config-as-flow/use-config.bpmn` | External component (Call Activity); error; Data Object; Inner (JSON Schema); External (reference) | Action, Inline | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters`, `WorkflowEnvironment`, `PassingResult` | +| `04-pagination/paged-fetch.bpmn` | External component (Call Activity); Sub Process; error; Multi Instance execution; Data Object; Native (C# class); Inner (JSON Schema); External (reference) | Action, Inline | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters`, `Root`, `WorkflowEnvironment`, `Transition`, `PassingResult` | +| `05-events-and-signals/raise-event.bpmn` | External component (Call Activity); error; message; Data Object; Inner (JSON Schema); External (reference) | Action, Inline | `#Previous`, `#PreviousData`, `#event`, `Input`, `Logger`, `Parameters`, `WorkflowEnvironment`, `Action.BoundaryEvents`, `PassingResult` | +| `06-streaming-sse/stream-response.bpmn` | External component (Call Activity); error; message; Data Object; Inner (JSON Schema); External (reference) | Action, Function, Inline | `#Previous`, `#PreviousData`, `#event`, `Input`, `Logger`, `Parameters`, `WorkflowEnvironment`, `Action.BoundaryEvents`, `PassingResult` | +| `07-triggers/http-start.bpmn` | External component (Call Activity); error; Data Object; Inner (JSON Schema); External (reference) | Action, Inline | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters`, `WorkflowEnvironment`, `PassingResult` | +| `08-ai-agents/structured-prompt.bpmn` | External component (Call Activity); error; Data Object; Inner (JSON Schema); External (reference) | Action, Inline | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters`, `WorkflowEnvironment`, `PassingResult` | ### http-stream @@ -97,7 +91,7 @@ End-to-end example from the guide: a streaming response and event delivery. | Model | What it shows | Modes | Words used | |---|---|---|---| -| `http_stream.bpmn` | boundary event; exclusive gateway; message; Native type; External type; functions: RestApi | Inline, Function | `#Previous`, `Action.BoundaryEvents`, `Input`, `Logger`, `Parameters` | +| `http_stream.bpmn` | Exclusive gateway; message; Data Object; Native (C# class); Inner (JSON Schema); External (reference) | Function, Inline | `#Previous`, `Input`, `Logger`, `Parameters`, `WorkflowEnvironment`, `Action.BoundaryEvents`, `PassingResult` | ### tmforum-apis @@ -105,45 +99,50 @@ Implementations of TM Forum Open APIs: each Flow is one operation (method + reso | Model | What it shows | Modes | Words used | |---|---|---|---| -| `TMF620_Product_Catalog_Management/TMF620_Get_ProductOffering.bpmn` | boundary event; parallel gateway; exclusive gateway; Native type; functions: HandleException, compose_ReadCacheResult, compose_WriteCacheResult | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters` | -| `TMF622_CancelProductOrder/TMF622_Post_CancelProductOrder.bpmn` | boundary event; Native type; functions: HandleException, get_Note, p_ucp_del_ProductOrder | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters` | -| `TMF622_Monitor/TMF622_Get_Monitor.bpmn` | boundary event; exclusive gateway; Native type; functions: HandleException, correct_EmptyResult, correct_Request | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters` | -| `TMF622_Product_Ordering/TMF622_Get_ProductOrder.bpmn` | boundary event; exclusive gateway; Native type; functions: HandleException, correct_EmptyResult, correct_Request | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters` | -| `TMF622_Product_Ordering/TMF622_Post_CancelProductOrder.bpmn` | boundary event; Native type; functions: HandleException, get_Note, p_ucp_del_ProductOrder | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters` | -| `TMF622_Product_Ordering/TMF622_Post_ProductOrder.bpmn` | boundary event; Native type; functions: HandleException, POST_p_ucp_set_ProductOrder, add | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters` | -| `TMF622_Product_Ordering/TMF622_Put_ProductOrder.bpmn` | boundary event; exclusive gateway; Native type; functions: HandleException, PUT_p_ucp_set_ProductOrder, change | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters` | -| `TMF640_Service_Activation_and_Configuration/TMF640_Get_Service.bpmn` | boundary event; parallel gateway; exclusive gateway; Native type; functions: HandleException, compose_ReadCacheResult, compose_WriteCacheResult | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters` | -| `TMF640_Service_Activation_and_Configuration/TMF640_Patch_Service.bpmn` | boundary event; exclusive gateway; Native type; functions: HandleException, formResponse, form_CacheId | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters` | -| `TMF640_Service_Activation_and_Configuration/TMF640_Post_Service.bpmn` | boundary event; Native type; functions: HandleException, p_ucp_set_ServiceOrder, proceedConfig | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters` | -| `TMF640_Service_Activation_and_Configuration/TMF640_Put_Service.bpmn` | boundary event; Native type; functions: HandleException, p_ucp_set_ServiceOrder, proceedConfig | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters` | -| `TMF653_Service_Test_Management/TMF653_POST_ServiceTest.bpmn` | boundary event; exclusive gateway; Native type; functions: HandleException, p_ucp_get_ServiceTest, proceedSessionParameters | Action, Inline | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters` | -| `TMF654_PrepayBalance_Management/GET_AccumulatedBalance.bpmn` | boundary event; parallel gateway; exclusive gateway; Native type; functions: HandleException, compose_ReadCacheResult, compose_WriteCacheResult | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters` | -| `TMF654_PrepayBalance_Management/TMF654_GET_AccumulatedBalance.bpmn` | boundary event; parallel gateway; exclusive gateway; functions: HandleException, compose_ReadCacheResult, compose_WriteCacheResult | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters` | -| `TMF666_Account_Management/TMF666_Get_BillingAccount.bpmn` | boundary event; parallel gateway; exclusive gateway; Native type; functions: HandleException, compose_ReadCacheResult, compose_WriteCacheResult | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters` | -| `TMF666_Account_Management/TMF666_Post_BillingAccount.bpmn` | boundary event; Native type; functions: HandleException, p_ucp_set_BillingAccount_Dbss, proceedSessionParameters | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters` | -| `TMF666_Account_Management/TMF666_Put_BillingAccount.bpmn` | boundary event; exclusive gateway; Native type; functions: HandleException, formValidationError, p_ucp_set_BillingAccount_Dbss | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters` | -| `TMF677_Usage_Consumption_Management/TMF677_Get_QueryUsageConsumption.bpmn` | boundary event; exclusive gateway; functions: HandleException, add_Cache, correct_Result | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters` | -| `TMF677_Usage_Consumption_Management/TMF677_Post_QueryUsageConsumption.bpmn` | boundary event; exclusive gateway; Native type; functions: HandleException, add_Cache_Status, correct_Empty_Result | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters` | -| `TMF678_Customer_Bill_Management/TMF678_BillingCycle.bpmn` | boundary event; parallel gateway; exclusive gateway; Native type; functions: HandleException, compose_ReadCacheResult, compose_WriteCacheResult | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters` | -| `TMF678_Customer_Bill_Management/TMF678_Get_AppliedCustomerBillingRate.bpmn` | boundary event; parallel gateway; exclusive gateway; Native type; functions: HandleException, compose_ReadCacheResult, compose_WriteCacheResult | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters` | -| `TMF678_Customer_Bill_Management/TMF678_Get_BillingCycle.bpmn` | boundary event; parallel gateway; exclusive gateway; Native type; functions: HandleException, compose_ReadCacheResult, compose_WriteCacheResult | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters` | -| `TMF688_Event_Management/TMF688_Delete_Topic.bpmn` | boundary event; Native type; functions: HandleException, p_ucp_del_EventTopic, proceedConfig | Action, Inline | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters` | -| `TMF688_Event_Management/TMF688_Get_Hub.bpmn` | boundary event; parallel gateway; exclusive gateway; Native type; functions: HandleException, compose_ReadCacheResult, compose_WriteCacheResult | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters` | -| `TMF688_Event_Management/TMF688_Get_Topic.bpmn` | boundary event; parallel gateway; exclusive gateway; Native type; functions: HandleException, compose_ReadCacheResult, compose_WriteCacheResult | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters` | -| `TMF688_Event_Management/TMF688_Get_Topic_Event.bpmn` | boundary event; parallel gateway; exclusive gateway; Native type; functions: HandleException, compose_ReadCacheResult, compose_WriteCacheResult | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters` | -| `TMF688_Event_Management/TMF688_Post_Topic.bpmn` | boundary event; Native type; functions: HandleException, p_ucp_set_EventTopic, proceedSessionParameters | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters` | -| `TMF688_Event_Management/TMF688_Put_Topic.bpmn` | boundary event; exclusive gateway; Native type; functions: HandleException, format_Validation_Error, p_ucp_set_EventTopic | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters` | -| `TMF724_Incident_Management/TMF724_POST_diagnoseIncident.bpmn` | boundary event; exclusive gateway; Native type; functions: RestApi, RestApi/GET, formatException | Action, Inline, Function | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters` | -| `TMF727_Service_Usage_Management/TMF727_Get_ServiceUsage.bpmn` | boundary event; parallel gateway; exclusive gateway; Native type; functions: HandleException, compose_ReadCacheResult, compose_WriteCacheResult | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters` | +| `TMF620_Product_Catalog_Management/TMF620_Get_ProductOffering.bpmn` | Exclusive gateway; error; Data Object; Native (C# class); Inner (JSON Schema) | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters`, `WorkflowEnvironment`, `ServiceProvider`, `PassingResult` | +| `TMF622_CancelProductOrder/TMF622_Post_CancelProductOrder.bpmn` | error; Data Object; Native (C# class); Inner (JSON Schema) | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters`, `WorkflowEnvironment`, `PassingResult` | +| `TMF622_Monitor/TMF622_Get_Monitor.bpmn` | Exclusive gateway; error; Data Object; Native (C# class); Inner (JSON Schema) | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters`, `WorkflowEnvironment`, `ServiceProvider`, `PassingResult` | +| `TMF622_Product_Ordering/TMF622_Get_ProductOrder.bpmn` | Exclusive gateway; error; Data Object; Native (C# class); Inner (JSON Schema) | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters`, `WorkflowEnvironment`, `ServiceProvider`, `PassingResult` | +| `TMF622_Product_Ordering/TMF622_Post_CancelProductOrder.bpmn` | error; Data Object; Native (C# class); Inner (JSON Schema) | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters`, `WorkflowEnvironment`, `PassingResult` | +| `TMF622_Product_Ordering/TMF622_Post_ProductOrder.bpmn` | error; Data Object; Native (C# class); Inner (JSON Schema) | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters`, `WorkflowEnvironment`, `PassingResult` | +| `TMF622_Product_Ordering/TMF622_Put_ProductOrder.bpmn` | Exclusive gateway; error; Data Object; Native (C# class); Inner (JSON Schema) | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters`, `WorkflowEnvironment`, `PassingResult` | +| `TMF640_Service_Activation_and_Configuration/TMF640_Get_Service.bpmn` | Exclusive gateway; error; Data Object; Native (C# class); Inner (JSON Schema) | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters`, `WorkflowEnvironment`, `ServiceProvider`, `PassingResult` | +| `TMF640_Service_Activation_and_Configuration/TMF640_Patch_Service.bpmn` | Exclusive gateway; error; Data Object; Native (C# class); Inner (JSON Schema) | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters`, `WorkflowEnvironment`, `ServiceProvider`, `PassingResult` | +| `TMF640_Service_Activation_and_Configuration/TMF640_Post_Service.bpmn` | error; Data Object; Native (C# class); Inner (JSON Schema) | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters`, `WorkflowEnvironment`, `PassingResult` | +| `TMF640_Service_Activation_and_Configuration/TMF640_Put_Service.bpmn` | error; Data Object; Native (C# class); Inner (JSON Schema) | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters`, `WorkflowEnvironment`, `PassingResult` | +| `TMF653_Service_Test_Management/TMF653_POST_ServiceTest.bpmn` | Exclusive gateway; error; Data Object; Native (C# class); Inner (JSON Schema) | Action, Inline | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters`, `WorkflowEnvironment`, `ServiceProvider`, `PassingResult` | +| `TMF654_PrepayBalance_Management/GET_AccumulatedBalance.bpmn` | Exclusive gateway; error; Data Object; Native (C# class); Inner (JSON Schema) | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters`, `WorkflowEnvironment`, `ServiceProvider`, `PassingResult` | +| `TMF654_PrepayBalance_Management/TMF654_GET_AccumulatedBalance.bpmn` | Exclusive gateway; error; Data Object; Native (C# class); Inner (JSON Schema) | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters`, `WorkflowEnvironment`, `ServiceProvider`, `PassingResult` | +| `TMF666_Account_Management/TMF666_Get_BillingAccount.bpmn` | Exclusive gateway; error; Data Object; Native (C# class); Inner (JSON Schema) | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters`, `WorkflowEnvironment`, `ServiceProvider`, `PassingResult` | +| `TMF666_Account_Management/TMF666_Post_BillingAccount.bpmn` | error; Data Object; Native (C# class); Inner (JSON Schema) | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters`, `WorkflowEnvironment`, `PassingResult` | +| `TMF666_Account_Management/TMF666_Put_BillingAccount.bpmn` | Exclusive gateway; error; Data Object; Native (C# class); Inner (JSON Schema) | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters`, `WorkflowEnvironment`, `PassingResult` | +| `TMF677_Usage_Consumption_Management/TMF677_Get_QueryUsageConsumption.bpmn` | Exclusive gateway; error; Data Object; Native (C# class); Inner (JSON Schema) | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters`, `WorkflowEnvironment`, `ServiceProvider`, `PassingResult` | +| `TMF677_Usage_Consumption_Management/TMF677_Post_QueryUsageConsumption.bpmn` | Exclusive gateway; error; Data Object; Native (C# class); Inner (JSON Schema) | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters`, `WorkflowEnvironment`, `ServiceProvider`, `PassingResult` | +| `TMF678_Customer_Bill_Management/TMF678_BillingCycle.bpmn` | Exclusive gateway; error; Data Object; Native (C# class); Inner (JSON Schema) | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters`, `WorkflowEnvironment`, `ServiceProvider`, `PassingResult` | +| `TMF678_Customer_Bill_Management/TMF678_Get_AppliedCustomerBillingRate.bpmn` | Exclusive gateway; error; Data Object; Native (C# class); Inner (JSON Schema) | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters`, `WorkflowEnvironment`, `ServiceProvider`, `PassingResult` | +| `TMF678_Customer_Bill_Management/TMF678_Get_BillingCycle.bpmn` | Exclusive gateway; error; Data Object; Native (C# class); Inner (JSON Schema) | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters`, `WorkflowEnvironment`, `ServiceProvider`, `PassingResult` | +| `TMF688_Event_Management/TMF688_Delete_Topic.bpmn` | error; Data Object; Native (C# class); Inner (JSON Schema) | Action, Inline | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters`, `WorkflowEnvironment`, `PassingResult` | +| `TMF688_Event_Management/TMF688_Get_Hub.bpmn` | Exclusive gateway; error; Data Object; Native (C# class); Inner (JSON Schema) | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters`, `WorkflowEnvironment`, `ServiceProvider`, `PassingResult` | +| `TMF688_Event_Management/TMF688_Get_Topic.bpmn` | Exclusive gateway; error; Data Object; Native (C# class); Inner (JSON Schema) | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters`, `WorkflowEnvironment`, `ServiceProvider`, `PassingResult` | +| `TMF688_Event_Management/TMF688_Get_Topic_Event.bpmn` | Exclusive gateway; error; Data Object; Native (C# class); Inner (JSON Schema) | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters`, `WorkflowEnvironment`, `ServiceProvider`, `PassingResult` | +| `TMF688_Event_Management/TMF688_Post_Topic.bpmn` | error; Data Object; Native (C# class); Inner (JSON Schema) | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters`, `WorkflowEnvironment`, `PassingResult` | +| `TMF688_Event_Management/TMF688_Put_Topic.bpmn` | Exclusive gateway; error; Data Object; Native (C# class); Inner (JSON Schema) | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters`, `WorkflowEnvironment`, `PassingResult` | +| `TMF724_Incident_Management/TMF724_POST_diagnoseIncident.bpmn` | Exclusive gateway; error; Data Object; Native (C# class); Inner (JSON Schema) | Action, Function, Inline | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters`, `Root`, `WorkflowEnvironment`, `PassingResult` | +| `TMF727_Service_Usage_Management/TMF727_Get_ServiceUsage.bpmn` | Exclusive gateway; error; Data Object; Native (C# class); Inner (JSON Schema) | Action | `#Previous`, `#PreviousData`, `Input`, `Logger`, `Parameters`, `WorkflowEnvironment`, `ServiceProvider`, `PassingResult` | ## What is missing for full coverage Not covered by any example: -- the ExternalAction mode +- Event-based gateway +- signal +- Data Store +- ExternalAction Covered by one or two examples, which means it is effectively untested: -- Event-based gateway — 1 -- Intermediate catch event — 2 +- Sub Process — 1 +- Intermediate catch event — 1 +- Intermediate throw event — 1 - timer — 1 +- Multi Instance execution — 1 From b79ed38b26afd250d1052a8667220573e7421108 Mon Sep 17 00:00:00 2001 From: Sergej Polovnikov Date: Wed, 2 Sep 2026 09:41:11 +0300 Subject: [PATCH 07/19] fix(flow-patterns): lay the diagrams out, and say what actually runs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Two things were wrong and neither showed up in a compile. **The diagrams were unreadable.** The generator places nodes left to right and puts both data elements at the same point, so `DO_Input` and `DO_Output` sat on top of each other in every model. Every diagram is now laid out top to bottom: the main path in one column, each branch leaving a boundary event in a column of its own to the right, data elements to the left. A Sub Process keeps its own plane. Checked per plane, ignoring the boundary event that correctly sits on its task's border: zero overlaps, down from thirteen. **Two examples do not run, and the READMEs said otherwise.** Every model was started, not only compiled, and the replies recorded from the runs: - `raise-event` fails with a `NullReferenceException` inside `TransitionBoundaryEvent.Raise`. The engine reads a conveyor branch from an `AsyncLocal` that nothing ever assigns — the two lines that would are commented out at `WorkflowItemTaskCodeAction.cs:101-103`. So `Action.BoundaryEvents[…].Raise(…)` cannot work in this build at all, from any diagram. The model is correct and is kept; its README now shows the failure, the engine source, and what it will answer once that value is set again. - `stream-response` was described as failing only for want of network access. That is one of two reasons: passing chunks out uses the same `Raise`, so it would fail even on a stand that can reach the endpoint. The earlier README claimed `raise-event` answered 204 because its second branch finished last. That reading came from the HTTP status alone; the run state says `Error`. Recorded properly this time, with the run output rather than the transport code. The group index now carries the full verification table — every model, its input, and what it actually returned. Co-Authored-By: Claude Fable 5 --- flow-patterns/01-basics/first-flow.bpmn | 62 +++++----- .../02-error-handling/error-as-branch.bpmn | 70 +++++------ .../03-config-as-flow/service-config.bpmn | 54 ++++---- .../03-config-as-flow/use-config.bpmn | 62 +++++----- flow-patterns/04-pagination/paged-fetch.bpmn | 116 +++++++++--------- flow-patterns/05-events-and-signals/README.md | 50 +++++--- .../05-events-and-signals/raise-event.bpmn | 86 ++++++------- flow-patterns/06-streaming-sse/README.md | 18 ++- .../06-streaming-sse/stream-response.bpmn | 100 +++++++-------- flow-patterns/07-triggers/http-start.bpmn | 62 +++++----- .../08-ai-agents/structured-prompt.bpmn | 62 +++++----- flow-patterns/README.md | 33 +++++ 12 files changed, 412 insertions(+), 363 deletions(-) diff --git a/flow-patterns/01-basics/first-flow.bpmn b/flow-patterns/01-basics/first-flow.bpmn index 5805479..93b4a8b 100644 --- a/flow-patterns/01-basics/first-flow.bpmn +++ b/flow-patterns/01-basics/first-flow.bpmn @@ -78,65 +78,63 @@ - - + + + + + + + + - + - + - + - + - + - + - + - - - - - - - + - - + + - - + + - - + + - - + + - - + + + + - - - - - - + + diff --git a/flow-patterns/02-error-handling/error-as-branch.bpmn b/flow-patterns/02-error-handling/error-as-branch.bpmn index 02b1794..08c918a 100644 --- a/flow-patterns/02-error-handling/error-as-branch.bpmn +++ b/flow-patterns/02-error-handling/error-as-branch.bpmn @@ -84,72 +84,72 @@ - - + + + + + + + + - + - + - + - + - + - + - + - + - - - - - - - + - - + + - - + + - - + + - - + + - - + + + + - - + + + + - - - - - - + + diff --git a/flow-patterns/03-config-as-flow/service-config.bpmn b/flow-patterns/03-config-as-flow/service-config.bpmn index b9dde48..6262839 100644 --- a/flow-patterns/03-config-as-flow/service-config.bpmn +++ b/flow-patterns/03-config-as-flow/service-config.bpmn @@ -50,48 +50,46 @@ - - + + + + + - + - + - + - - + + + + + + + + - - + + - - + + - - - - - - - - - - - + + + + - - - - - - + + diff --git a/flow-patterns/03-config-as-flow/use-config.bpmn b/flow-patterns/03-config-as-flow/use-config.bpmn index 2e52f6d..53cd66f 100644 --- a/flow-patterns/03-config-as-flow/use-config.bpmn +++ b/flow-patterns/03-config-as-flow/use-config.bpmn @@ -78,65 +78,63 @@ - - + + + + + + + + - + - + - + - + - + - + - + - - - - - - - + - - + + - - + + - - + + - - + + - - + + + + - - - - - - + + diff --git a/flow-patterns/04-pagination/paged-fetch.bpmn b/flow-patterns/04-pagination/paged-fetch.bpmn index 4d5fff7..5dbb89d 100644 --- a/flow-patterns/04-pagination/paged-fetch.bpmn +++ b/flow-patterns/04-pagination/paged-fetch.bpmn @@ -124,106 +124,100 @@ - - + + + + + + + + + + + - + - + - + - + - + - + - + - - - - + - - + + - - + + - - + + - - - - - - - - - - - - - - + + - - - - - - - - + + - - + + - - - + + + + + + + + + - - + + + + + + + + - + - + - - - - - - - + - - + + - - + + diff --git a/flow-patterns/05-events-and-signals/README.md b/flow-patterns/05-events-and-signals/README.md index afdacfa..07f0bc3 100644 --- a/flow-patterns/05-events-and-signals/README.md +++ b/flow-patterns/05-events-and-signals/README.md @@ -39,28 +39,50 @@ The event payload itself is a plain string here (`"part 2 of 3"`). It can be any declared type — the reporting branch reads it as `#event.Data`. Start with a string and give it a type once the branch does more than log. -## What you should get back +## What you get back today +**This example does not run on the current platform build.** It compiles, the +diagram is correct, and the call fails: + +``` +{ "jobId": "job-7" } → HTTP 200, state "Error" ``` -{ "jobId": "job-7" } → HTTP 204, empty body +``` +T_Work: System.NullReferenceException + at Natec.Workflow.TransitionBoundaryEvent.Raise(Object payload) + TransitionBoundaryEvent.cs:line 22 ``` -The **204 is the lesson**. The reporting branch is the one that finished last, -and it returns nothing, so the process as a whole answers with no content. The -work actually done shows in the run log: +The cause is in the engine, not in the model. `Raise` reads the conveyor branch +it was constructed with: +```csharp +// TransitionBoundaryEvent.cs:22 +var cct = _workflowConveyorBranch.ChainCancellationToken; ``` -part 1 done -part 2 done -part 3 done -progress reported: part 1 of 3 -progress reported: part 2 of 3 -progress reported: part 3 of 3 + +That branch comes from `BoundaryEventsList.ConveyorBranch`, an `AsyncLocal` +value — and the only two lines in the whole engine that would set it are +commented out: + +```csharp +// WorkflowItemTaskCodeAction.cs:101-103 +//BoundaryEvents.ConveyorBranch = workflowConveyorBranch; +result.Result = Action.Invoke(...); +//BoundaryEvents.ConveyorBranch = null; ``` -If you need the main branch's result back, the two paths have to be joined -before the end — a parallel gateway does that. Left as they are, two ends mean -whichever finishes last decides the answer. +So the value is always null, and any `Raise` from a task body throws. Nothing a +diagram can do works around it. + +**When the engine sets that value again**, this model answers as designed: three +progress events, the reporting branch logging each one, and the process ending +on whichever branch finishes last. The run log is where the work shows — +`part 1 done` … `progress reported: part 1 of 3` and so on. + +The example is kept because it is the correct way to write this, and because the +failure is worth being able to recognise: an unexplained +`NullReferenceException` inside `Raise` means the engine, not your code. ## Why it is built this way diff --git a/flow-patterns/05-events-and-signals/raise-event.bpmn b/flow-patterns/05-events-and-signals/raise-event.bpmn index bbda395..3c028f3 100644 --- a/flow-patterns/05-events-and-signals/raise-event.bpmn +++ b/flow-patterns/05-events-and-signals/raise-event.bpmn @@ -94,82 +94,82 @@ - - + + + + + + + + - + - + - + - + - + - + - + - + - - + + - - + + + + + - - + + - - + + - - + + - - + + - - + + + + - - - - - - + + - - - - - - - - - - - + + + + - - + + diff --git a/flow-patterns/06-streaming-sse/README.md b/flow-patterns/06-streaming-sse/README.md index 1e2c806..b2528bc 100644 --- a/flow-patterns/06-streaming-sse/README.md +++ b/flow-patterns/06-streaming-sse/README.md @@ -38,12 +38,12 @@ answer at once. ## What you should get back -**On a stand that can reach the public internet**, the reading step raises one -event per non-empty line and the process ends without a body of its own — the -chunks are the output. The run log shows one `chunk out: …` line per chunk. +Two things stand between this model and a finished run, and both are outside the +diagram. -**On a stand without outbound access** — including the one these examples were -verified on — the call fails and the error branch answers: +**The stand must be able to reach the endpoint.** Without outbound access — the +case on the stand these examples were verified against — the call fails and the +error branch answers: ``` { "topic": "USD" } → HTTP 200 @@ -65,6 +65,14 @@ resolved: Use that when a Flow behaves as if it had no settings: it tells you whether the configuration arrived or the call itself is at fault. +**And `Raise` does not work in the current engine build.** Even with the endpoint +reachable, passing a chunk out through the boundary event throws a +`NullReferenceException` inside `TransitionBoundaryEvent.Raise`, because the +engine never assigns the conveyor branch it needs — the two lines that would are +commented out in `WorkflowItemTaskCodeAction.cs`. [05 · Events](../05-events-and-signals/) +sets out the detail. The reading loop above is correct and will work unchanged +once the engine does. + ## Why it is built this way **Every declared argument is passed, `Timeout` included.** The engine inlines the diff --git a/flow-patterns/06-streaming-sse/stream-response.bpmn b/flow-patterns/06-streaming-sse/stream-response.bpmn index 59d630e..6b158a2 100644 --- a/flow-patterns/06-streaming-sse/stream-response.bpmn +++ b/flow-patterns/06-streaming-sse/stream-response.bpmn @@ -108,96 +108,98 @@ - - + + + + + + + + - + - + - + - + - + - + - + - + - + - + - - + + - - + + + + + - - + + - - + + - - + + - - + + - - + + - - + + + + - - + + + + - - - - - - + + - - - - - - - - - - - + + + + - - + + diff --git a/flow-patterns/07-triggers/http-start.bpmn b/flow-patterns/07-triggers/http-start.bpmn index c7c8354..03fa359 100644 --- a/flow-patterns/07-triggers/http-start.bpmn +++ b/flow-patterns/07-triggers/http-start.bpmn @@ -81,65 +81,63 @@ - - + + + + + + + + - + - + - + - + - + - + - + - - - - - - - + - - + + - - + + - - + + - - + + - - + + + + - - - - - - + + diff --git a/flow-patterns/08-ai-agents/structured-prompt.bpmn b/flow-patterns/08-ai-agents/structured-prompt.bpmn index 24314b5..395c041 100644 --- a/flow-patterns/08-ai-agents/structured-prompt.bpmn +++ b/flow-patterns/08-ai-agents/structured-prompt.bpmn @@ -78,65 +78,63 @@ - - + + + + + + + + - + - + - + - + - + - + - + - - - - - - - + - - + + - - + + - - + + - - + + - - + + + + - - - - - - + + diff --git a/flow-patterns/README.md b/flow-patterns/README.md index d7624ed..7b2e6aa 100644 --- a/flow-patterns/README.md +++ b/flow-patterns/README.md @@ -60,6 +60,39 @@ Compiling never touches the network. Running the examples that make an outbound call does — if your stand has no route to the internet, those runs end on the error branch, which is the correct behaviour and is shown in the group's README. +## What was actually verified + +Every model was compiled against the platform and then **started**, and the +replies below are what came back — not what the code was expected to produce. + +| Model | Input | Result | +|---|---|---| +| `first-flow` | `{"name":"Ada","language":"en"}` | `{"name":"Ada","language":"en"}` | +| `error-as-branch` | `{"orderId":"A-1001"}` | `{"orderId":"A-1001"}` | +| `error-as-branch` | `{"orderId":""}` | ends on `ev_Failed` with a typed `ErrorResponse` | +| `service-config` | `{}` | the settings object | +| `use-config` | `{"key":"EUR"}` | `{"key":"https://api.frankfurter.dev/v1/latest?base=EUR"}` | +| `paged-fetch` | `{"total":25}` | three `PageInfo` entries, the last one short | +| `http-start` | `{"event":"order.created",…}` | the request echoed back | +| `structured-prompt` | `{"question":…,"tone":"plain"}` | two typed chat messages | +| `raise-event` | `{"jobId":"job-7"}` | **fails** — see below | +| `stream-response` | `{"topic":"USD"}` | **fails** — see below | + +Both failures are in the engine, not in the models, and both are set out in full +in the group's own README: + +- **`Action.BoundaryEvents[…].Raise(…)` cannot work in this build.** The value it + needs is an `AsyncLocal` that nothing assigns: the only two lines that would + are commented out in `WorkflowItemTaskCodeAction.cs`. Any `Raise` from a task + body throws a `NullReferenceException`. This affects `raise-event` and the + chunk-passing half of `stream-response`. +- **An outbound call needs a stand with a route to the internet.** Without one + the call fails and the error branch answers, which is the correct behaviour. + +A third limit sits in [08 · Agents](08-ai-agents/): the `AI/Completions` built-in +cannot be called from a model at all, so that example stops at building the +request. + ## How to read a group Each group's README says the same four things: From 05ade5c07041189a69506d67456723a047b6cefd Mon Sep 17 00:00:00 2001 From: Sergej Polovnikov Date: Wed, 2 Sep 2026 11:39:56 +0300 Subject: [PATCH 08/19] fix(flow-patterns): a branch starts beside its source, not below the diagram MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The first layout pass understood one shape of branch: the one leaving a boundary event. Anything else — a second path out of a gateway, a failure handler shared by two nodes — fell through to the leftover pile and was stacked underneath everything, hundreds of pixels below the process it belongs to. Now every unplaced successor of a placed node opens its own column at its source's row, whatever kind of node the source is. Columns are generated rather than picked from a fixed list of three, so a model with several branches no longer crowds them into the last one. Coordinates only; no model content changed. Still zero overlaps per plane, the linter reports nothing, and all nine compile. Co-Authored-By: Claude Fable 5 --- flow-patterns/01-basics/first-flow.bpmn | 10 ++++----- .../02-error-handling/error-as-branch.bpmn | 12 +++++----- .../03-config-as-flow/service-config.bpmn | 10 ++++----- .../03-config-as-flow/use-config.bpmn | 10 ++++----- flow-patterns/04-pagination/paged-fetch.bpmn | 10 ++++----- .../05-events-and-signals/raise-event.bpmn | 20 ++++++++--------- .../06-streaming-sse/stream-response.bpmn | 22 +++++++++---------- flow-patterns/07-triggers/http-start.bpmn | 10 ++++----- .../08-ai-agents/structured-prompt.bpmn | 10 ++++----- 9 files changed, 57 insertions(+), 57 deletions(-) diff --git a/flow-patterns/01-basics/first-flow.bpmn b/flow-patterns/01-basics/first-flow.bpmn index 93b4a8b..4bb9756 100644 --- a/flow-patterns/01-basics/first-flow.bpmn +++ b/flow-patterns/01-basics/first-flow.bpmn @@ -102,10 +102,10 @@ - + - + @@ -130,11 +130,11 @@ - + - - + + diff --git a/flow-patterns/02-error-handling/error-as-branch.bpmn b/flow-patterns/02-error-handling/error-as-branch.bpmn index 08c918a..6e9e201 100644 --- a/flow-patterns/02-error-handling/error-as-branch.bpmn +++ b/flow-patterns/02-error-handling/error-as-branch.bpmn @@ -108,10 +108,10 @@ - + - + @@ -139,17 +139,17 @@ - + - + - - + + diff --git a/flow-patterns/03-config-as-flow/service-config.bpmn b/flow-patterns/03-config-as-flow/service-config.bpmn index 6262839..9f37d51 100644 --- a/flow-patterns/03-config-as-flow/service-config.bpmn +++ b/flow-patterns/03-config-as-flow/service-config.bpmn @@ -65,10 +65,10 @@ - + - + @@ -85,11 +85,11 @@ - + - - + + diff --git a/flow-patterns/03-config-as-flow/use-config.bpmn b/flow-patterns/03-config-as-flow/use-config.bpmn index 53cd66f..4ccf5a3 100644 --- a/flow-patterns/03-config-as-flow/use-config.bpmn +++ b/flow-patterns/03-config-as-flow/use-config.bpmn @@ -102,10 +102,10 @@ - + - + @@ -130,11 +130,11 @@ - + - - + + diff --git a/flow-patterns/04-pagination/paged-fetch.bpmn b/flow-patterns/04-pagination/paged-fetch.bpmn index 5dbb89d..b9460d2 100644 --- a/flow-patterns/04-pagination/paged-fetch.bpmn +++ b/flow-patterns/04-pagination/paged-fetch.bpmn @@ -151,10 +151,10 @@ - + - + @@ -186,11 +186,11 @@ - + - - + + diff --git a/flow-patterns/05-events-and-signals/raise-event.bpmn b/flow-patterns/05-events-and-signals/raise-event.bpmn index 3c028f3..842d752 100644 --- a/flow-patterns/05-events-and-signals/raise-event.bpmn +++ b/flow-patterns/05-events-and-signals/raise-event.bpmn @@ -118,10 +118,10 @@ - + - + @@ -130,10 +130,10 @@ - + - + @@ -155,21 +155,21 @@ - + - - + + - + - - + + diff --git a/flow-patterns/06-streaming-sse/stream-response.bpmn b/flow-patterns/06-streaming-sse/stream-response.bpmn index 6b158a2..15dd74a 100644 --- a/flow-patterns/06-streaming-sse/stream-response.bpmn +++ b/flow-patterns/06-streaming-sse/stream-response.bpmn @@ -135,10 +135,10 @@ - + - + @@ -150,10 +150,10 @@ - + - + @@ -179,27 +179,27 @@ - + - + - - + + - + - - + + diff --git a/flow-patterns/07-triggers/http-start.bpmn b/flow-patterns/07-triggers/http-start.bpmn index 03fa359..5ca09f3 100644 --- a/flow-patterns/07-triggers/http-start.bpmn +++ b/flow-patterns/07-triggers/http-start.bpmn @@ -105,10 +105,10 @@ - + - + @@ -133,11 +133,11 @@ - + - - + + diff --git a/flow-patterns/08-ai-agents/structured-prompt.bpmn b/flow-patterns/08-ai-agents/structured-prompt.bpmn index 395c041..3404555 100644 --- a/flow-patterns/08-ai-agents/structured-prompt.bpmn +++ b/flow-patterns/08-ai-agents/structured-prompt.bpmn @@ -102,10 +102,10 @@ - + - + @@ -130,11 +130,11 @@ - + - - + + From 3c4f5d0eae212e0445942cd4eafc7e84a6984f3d Mon Sep 17 00:00:00 2001 From: Sergej Polovnikov Date: Wed, 2 Sep 2026 14:09:06 +0300 Subject: [PATCH 09/19] fix(04-pagination): mark the collection, and correct what the mark does MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The data element carrying the pages now says so twice: `isCollection="true"`, which is what BPMN reads and what makes a viewer draw the collection marker, and the `[]` already in its name, which is for the reader and the linter. The two go together; neither replaces the other. The README said something stronger and untrue. It claimed the brackets are what tell the engine the element carries a collection, and that dropping them makes the Sub Process run once instead of three times. That was inherited lore, and it does not survive a run: the same model was published three times — with the brackets alone, with both marks, and with `isCollection` alone — and every version returned three pages. What actually drives the iteration is `multiInstanceLoopCharacteristics` on the Sub Process, over the result it receives. The README now says that, and treats both marks as documentation of intent rather than mechanism. Co-Authored-By: Claude Fable 5 --- flow-patterns/04-pagination/README.md | 14 ++++++++++---- flow-patterns/04-pagination/paged-fetch.bpmn | 2 +- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/flow-patterns/04-pagination/README.md b/flow-patterns/04-pagination/README.md index 67184a3..21f3693 100644 --- a/flow-patterns/04-pagination/README.md +++ b/flow-patterns/04-pagination/README.md @@ -38,10 +38,16 @@ start → read one page → end | `ErrorResponse` | inner, JSON Schema | the shape of a failure | | `ExternalConfig` | external | the configuration type; `pageSize` and `listUrl` come from it | -The `[]` on the data element name is not decoration. `PageInfo[]` is what tells -the engine this element carries a collection. Drop the brackets and the Sub -Process receives the whole list as a single item and runs exactly once — no -error, no warning, just one pass where you expected three. +The data element carrying the pages is marked as a set twice, and the two marks +do different jobs. `isCollection="true"` is what BPMN reads, and what makes a +viewer draw the three-bar collection marker. The `[]` in the name is for the +person reading the diagram, and for the repository's own linter. + +What actually drives the iteration is neither: the Sub Process carries +`multiInstanceLoopCharacteristics`, and the engine iterates over the result it +receives. Both marks were removed in turn and the run still produced three +pages — so treat them as documentation of intent, and the loop characteristics +as the mechanism. ## What you should get back diff --git a/flow-patterns/04-pagination/paged-fetch.bpmn b/flow-patterns/04-pagination/paged-fetch.bpmn index b9460d2..5018a95 100644 --- a/flow-patterns/04-pagination/paged-fetch.bpmn +++ b/flow-patterns/04-pagination/paged-fetch.bpmn @@ -10,7 +10,7 @@ - + From 7c6df2e0589bd810386be81a8ba043153d192243 Mon Sep 17 00:00:00 2001 From: Sergej Polovnikov Date: Wed, 2 Sep 2026 14:32:35 +0300 Subject: [PATCH 10/19] docs: the boundary-event regression is fixed; say so, and say where MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `Action.BoundaryEvents[…].Raise(…)` was described as broken outright. It is broken only on builds carrying a regression that lasted from 9 January 2026 to 2 September 2026 — the assignment of `BoundaryEvents.ConveyorBranch` was commented out in `WorkflowItemTaskCodeAction.cs` and has now been restored. A stand with the fix runs `raise-event` to `Completed`; one without it still answers `Error` with a `NullReferenceException` inside `Raise`. Both were observed today on two different stands, which is why the README now names the symptom to look for rather than declaring the capability dead. The index table keeps the two failing rows, because the stand these results were measured on has not been updated yet — but it now says that is what it is. Co-Authored-By: Claude Fable 5 --- flow-patterns/05-events-and-signals/README.md | 26 ++++++++++--------- flow-patterns/README.md | 17 ++++++------ 2 files changed, 23 insertions(+), 20 deletions(-) diff --git a/flow-patterns/05-events-and-signals/README.md b/flow-patterns/05-events-and-signals/README.md index 07f0bc3..9ed94f3 100644 --- a/flow-patterns/05-events-and-signals/README.md +++ b/flow-patterns/05-events-and-signals/README.md @@ -39,10 +39,11 @@ The event payload itself is a plain string here (`"part 2 of 3"`). It can be any declared type — the reporting branch reads it as `#event.Data`. Start with a string and give it a type once the branch does more than log. -## What you get back today +## What you get back, and on which build -**This example does not run on the current platform build.** It compiles, the -diagram is correct, and the call fails: +This example depends on an engine fix that landed on 2 September 2026. On a +stand that has it, the three progress events are raised and the reporting branch +logs each one. On a stand that does not, the call fails: ``` { "jobId": "job-7" } → HTTP 200, state "Error" @@ -72,17 +73,18 @@ result.Result = Action.Invoke(...); //BoundaryEvents.ConveyorBranch = null; ``` -So the value is always null, and any `Raise` from a task body throws. Nothing a -diagram can do works around it. +While those lines stayed commented the value was always null, and any `Raise` +from a task body threw. The assignment was removed on 9 January 2026 and +restored on 2 September 2026 — eight months in which this capability could not +work from any diagram at all. -**When the engine sets that value again**, this model answers as designed: three -progress events, the reporting branch logging each one, and the process ending -on whichever branch finishes last. The run log is where the work shows — -`part 1 done` … `progress reported: part 1 of 3` and so on. +**How to tell which build you are on.** Start this model. `state.status` of +`Completed` means the fix is present; `Error` with a `NullReferenceException` +inside `Raise` means the stand is still on an older build. Nothing in the +diagram changes that, and nothing in the diagram works around it. -The example is kept because it is the correct way to write this, and because the -failure is worth being able to recognise: an unexplained -`NullReferenceException` inside `Raise` means the engine, not your code. +The failure is worth being able to recognise for its own sake: an unexplained +`NullReferenceException` from inside `Raise` is the engine, not your code. ## Why it is built this way diff --git a/flow-patterns/README.md b/flow-patterns/README.md index 7b2e6aa..d4264cc 100644 --- a/flow-patterns/README.md +++ b/flow-patterns/README.md @@ -78,14 +78,15 @@ replies below are what came back — not what the code was expected to produce. | `raise-event` | `{"jobId":"job-7"}` | **fails** — see below | | `stream-response` | `{"topic":"USD"}` | **fails** — see below | -Both failures are in the engine, not in the models, and both are set out in full -in the group's own README: - -- **`Action.BoundaryEvents[…].Raise(…)` cannot work in this build.** The value it - needs is an `AsyncLocal` that nothing assigns: the only two lines that would - are commented out in `WorkflowItemTaskCodeAction.cs`. Any `Raise` from a task - body throws a `NullReferenceException`. This affects `raise-event` and the - chunk-passing half of `stream-response`. +Neither failure is in the models, and both are set out in full in the group's own +README: + +- **`Action.BoundaryEvents[…].Raise(…)` depends on the engine build.** The value + it needs is an `AsyncLocal` whose assignment was commented out on 9 January + 2026 and restored on 2 September 2026. On a stand carrying the fix these two + models run; on an older one any `Raise` from a task body throws a + `NullReferenceException`. The stand these results were taken from is still on + the older build. - **An outbound call needs a stand with a route to the internet.** Without one the call fails and the error branch answers, which is the correct behaviour. From fad4e4dc5a89ece16a00ae6984a0d887c143040f Mon Sep 17 00:00:00 2001 From: Sergej Polovnikov Date: Wed, 2 Sep 2026 14:51:11 +0300 Subject: [PATCH 11/19] feat(flow-patterns): an example on every end event, and a link back to source MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The platform already carries request and response examples into the generated Swagger, and it pairs them by name: `StartSignalRoute.examples` is a dictionary keyed by example name, `EndSignalRoute.exampelsVariants` is a list keyed by `title`. A name present on one side and not the other silently produces a request example with no matching response. Every end event in this group now carries one named example, and the values are what these models actually returned when run, not invented ones. Where a Flow declares an HTTP route, the request example names match the response names exactly. Each process also gains a one-line English description and a link back to its folder in this repository, so a reader who meets the model inside a generated specification can find the source it came from. Two details of the platform's shape, both learned the hard way: - the key is spelled `exampelsVariants`, not `examplesVariants`; - `value` is a JSON **string** on both sides. Passing an object fails the parse with `Unexpected character encountered while parsing value: {`. `producedTypeVariants` names the declared type each end event returns — the flow's own type on success, `ErrorResponse` on the failure branch. Co-Authored-By: Claude Fable 5 --- flow-patterns/01-basics/first-flow.bpmn | 7 ++++++- flow-patterns/02-error-handling/error-as-branch.bpmn | 7 ++++++- flow-patterns/03-config-as-flow/service-config.bpmn | 7 ++++++- flow-patterns/03-config-as-flow/use-config.bpmn | 7 ++++++- flow-patterns/04-pagination/paged-fetch.bpmn | 10 +++++++++- flow-patterns/05-events-and-signals/raise-event.bpmn | 10 +++++++++- flow-patterns/06-streaming-sse/stream-response.bpmn | 10 +++++++++- flow-patterns/07-triggers/http-start.bpmn | 9 +++++++-- flow-patterns/08-ai-agents/structured-prompt.bpmn | 7 ++++++- 9 files changed, 64 insertions(+), 10 deletions(-) diff --git a/flow-patterns/01-basics/first-flow.bpmn b/flow-patterns/01-basics/first-flow.bpmn index 4bb9756..97bcd18 100644 --- a/flow-patterns/01-basics/first-flow.bpmn +++ b/flow-patterns/01-basics/first-flow.bpmn @@ -9,6 +9,8 @@ [{"name": "config", "type": "ExternalConfig", "initialValue": ""}] + The smallest working Flow: typed input in, typed output out. +Source: https://github.com/mef-dev/bpmn-examples/tree/master/flow-patterns/01-basics @@ -42,6 +44,9 @@ Fl_004 + + {"status": "HttpRequestAttributes", "code": 200, "headers": "", "exampelsVariants": [{"title": "GREETED", "value": "{\"name\": \"Ada\", \"language\": \"en\"}"}], "producedTypeVariants": ["GreetingRequest"]} + Fl_004 @@ -58,7 +63,7 @@ - {"status": "HttpRequestAttributes", "code": "500"} + {"status": "HttpRequestAttributes", "code": 500, "headers": "", "exampelsVariants": [{"title": "GREETING_FAILED", "value": "{\"levelMessage\": \"11\", \"statusCode\": 500, \"message\": \"the greeting could not be composed\", \"state\": \"1\"}"}], "producedTypeVariants": ["ErrorResponse"]} Fl_006 diff --git a/flow-patterns/02-error-handling/error-as-branch.bpmn b/flow-patterns/02-error-handling/error-as-branch.bpmn index 6e9e201..70825a9 100644 --- a/flow-patterns/02-error-handling/error-as-branch.bpmn +++ b/flow-patterns/02-error-handling/error-as-branch.bpmn @@ -9,6 +9,8 @@ [{"name": "config", "type": "ExternalConfig", "initialValue": ""}] + An error is a branch of the diagram, with its own typed answer. +Source: https://github.com/mef-dev/bpmn-examples/tree/master/flow-patterns/02-error-handling @@ -42,6 +44,9 @@ Fl_004 + + {"status": "HttpRequestAttributes", "code": 200, "headers": "", "exampelsVariants": [{"title": "ACCEPTED", "value": "{\"orderId\": \"A-1001\"}"}], "producedTypeVariants": ["OrderRequest"]} + Fl_004 @@ -59,7 +64,7 @@ - {"status": "HttpRequestAttributes", "code": "500"} + {"status": "HttpRequestAttributes", "code": 500, "headers": "", "exampelsVariants": [{"title": "REJECTED", "value": "{\"levelMessage\": \"11\", \"statusCode\": 500, \"message\": \"Error while try to call action 'T_Validate/validate the order'\", \"state\": \"1\"}"}], "producedTypeVariants": ["ErrorResponse"]} Fl_007 diff --git a/flow-patterns/03-config-as-flow/service-config.bpmn b/flow-patterns/03-config-as-flow/service-config.bpmn index 9f37d51..f1a1b77 100644 --- a/flow-patterns/03-config-as-flow/service-config.bpmn +++ b/flow-patterns/03-config-as-flow/service-config.bpmn @@ -8,6 +8,8 @@ [] + Settings live here, so no consuming Flow knows its environment. +Source: https://github.com/mef-dev/bpmn-examples/tree/master/flow-patterns/03-config-as-flow @@ -21,6 +23,9 @@ Fl_002 + + {"status": "HttpRequestAttributes", "code": 200, "headers": "", "exampelsVariants": [{"title": "SETTINGS", "value": "{\"ratesUrl\": \"https://api.frankfurter.dev/v1\", \"listUrl\": \"https://jsonplaceholder.typicode.com/posts\", \"login\": \"\", \"password\": \"\", \"pageSize\": 10}"}], "producedTypeVariants": ["Config"]} + Fl_002 @@ -37,7 +42,7 @@ - {"status": "HttpRequestAttributes", "code": "500"} + {"status": "HttpRequestAttributes", "code": 500, "headers": "", "exampelsVariants": [{"title": "SETTINGS_FAILED", "value": "{\"levelMessage\": \"11\", \"statusCode\": 500, \"message\": \"settings could not be resolved\", \"state\": \"1\"}"}], "producedTypeVariants": ["ErrorResponse"]} Fl_004 diff --git a/flow-patterns/03-config-as-flow/use-config.bpmn b/flow-patterns/03-config-as-flow/use-config.bpmn index 4ccf5a3..d03fae6 100644 --- a/flow-patterns/03-config-as-flow/use-config.bpmn +++ b/flow-patterns/03-config-as-flow/use-config.bpmn @@ -9,6 +9,8 @@ [{"name": "config", "type": "ExternalConfig", "initialValue": ""}] + Builds a call out of settings taken from the configuration Flow. +Source: https://github.com/mef-dev/bpmn-examples/tree/master/flow-patterns/03-config-as-flow @@ -42,6 +44,9 @@ Fl_004 + + {"status": "HttpRequestAttributes", "code": 200, "headers": "", "exampelsVariants": [{"title": "BUILT", "value": "{\"key\": \"https://api.frankfurter.dev/v1/latest?base=EUR\"}"}], "producedTypeVariants": ["LookupRequest"]} + Fl_004 @@ -58,7 +63,7 @@ - {"status": "HttpRequestAttributes", "code": "500"} + {"status": "HttpRequestAttributes", "code": 500, "headers": "", "exampelsVariants": [{"title": "CONFIG_FAILED", "value": "{\"levelMessage\": \"11\", \"statusCode\": 500, \"message\": \"configuration could not be read\", \"state\": \"1\"}"}], "producedTypeVariants": ["ErrorResponse"]} Fl_006 diff --git a/flow-patterns/04-pagination/paged-fetch.bpmn b/flow-patterns/04-pagination/paged-fetch.bpmn index 5018a95..d0b72de 100644 --- a/flow-patterns/04-pagination/paged-fetch.bpmn +++ b/flow-patterns/04-pagination/paged-fetch.bpmn @@ -9,6 +9,8 @@ [{"name": "config", "type": "ExternalConfig", "initialValue": ""}] + Plans the pages first, then walks them with Multi Instance. +Source: https://github.com/mef-dev/bpmn-examples/tree/master/flow-patterns/04-pagination @@ -47,6 +49,9 @@ + + {"status": "HttpRequestAttributes", "code": 200, "headers": "", "exampelsVariants": [{"title": "PAGED", "value": "[{\"number\": 1, \"startIndex\": 0, \"size\": 10}, {\"number\": 2, \"startIndex\": 10, \"size\": 10}, {\"number\": 3, \"startIndex\": 20, \"size\": 10}]"}], "producedTypeVariants": ["PageInfo"]} + Fl_021 @@ -63,7 +68,7 @@ - {"status": "HttpRequestAttributes", "code": "500"} + {"status": "HttpRequestAttributes", "code": 500, "headers": "", "exampelsVariants": [{"title": "PAGING_FAILED", "value": "{\"levelMessage\": \"11\", \"statusCode\": 500, \"message\": \"the page plan could not be built\", \"state\": \"1\"}"}], "producedTypeVariants": ["ErrorResponse"]} Fl_006 @@ -106,6 +111,9 @@ Fl_023 + + {"status": "HttpRequestAttributes", "code": 200, "headers": "", "exampelsVariants": [{"title": "ONE_PAGE", "value": "{\"number\": 1, \"startIndex\": 0, \"size\": 10}"}], "producedTypeVariants": ["PageInfo"]} + Fl_023 diff --git a/flow-patterns/05-events-and-signals/raise-event.bpmn b/flow-patterns/05-events-and-signals/raise-event.bpmn index 842d752..e05cc28 100644 --- a/flow-patterns/05-events-and-signals/raise-event.bpmn +++ b/flow-patterns/05-events-and-signals/raise-event.bpmn @@ -9,6 +9,8 @@ [{"name": "config", "type": "ExternalConfig", "initialValue": ""}] + A step raises an event and keeps working; a second branch reports it. +Source: https://github.com/mef-dev/bpmn-examples/tree/master/flow-patterns/05-events-and-signals @@ -42,6 +44,9 @@ Fl_004 + + {"status": "HttpRequestAttributes", "code": 200, "headers": "", "exampelsVariants": [{"title": "DONE", "value": "{\"jobId\": \"job-7\"}"}], "producedTypeVariants": ["JobRequest"]} + Fl_004 @@ -58,7 +63,7 @@ - {"status": "HttpRequestAttributes", "code": "500"} + {"status": "HttpRequestAttributes", "code": 500, "headers": "", "exampelsVariants": [{"title": "JOB_FAILED", "value": "{\"levelMessage\": \"11\", \"statusCode\": 500, \"message\": \"the job could not be started\", \"state\": \"1\"}"}], "producedTypeVariants": ["ErrorResponse"]} Fl_006 @@ -83,6 +88,9 @@ Fl_011 + + {"status": "HttpRequestAttributes", "code": 200, "headers": "", "exampelsVariants": [{"title": "PROGRESS", "value": "{\"jobId\": \"job-7\"}"}], "producedTypeVariants": ["JobRequest"]} + Fl_011 diff --git a/flow-patterns/06-streaming-sse/stream-response.bpmn b/flow-patterns/06-streaming-sse/stream-response.bpmn index 15dd74a..05b3884 100644 --- a/flow-patterns/06-streaming-sse/stream-response.bpmn +++ b/flow-patterns/06-streaming-sse/stream-response.bpmn @@ -9,6 +9,8 @@ [{"name": "config", "type": "ExternalConfig", "initialValue": ""}] + Reads a response as it arrives and passes each chunk on. +Source: https://github.com/mef-dev/bpmn-examples/tree/master/flow-patterns/06-streaming-sse @@ -49,6 +51,9 @@ Fl_005 + + {"status": "HttpRequestAttributes", "code": 200, "headers": "", "exampelsVariants": [{"title": "STREAMED", "value": "{\"topic\": \"USD\"}"}], "producedTypeVariants": ["StreamRequest"]} + Fl_005 @@ -66,7 +71,7 @@ - {"status": "HttpRequestAttributes", "code": "500"} + {"status": "HttpRequestAttributes", "code": 500, "headers": "", "exampelsVariants": [{"title": "STREAM_FAILED", "value": "{\"levelMessage\": \"11\", \"statusCode\": 500, \"message\": \"Error while try to call action 'T_Call/open the stream'\", \"state\": \"1\"}"}], "producedTypeVariants": ["ErrorResponse"]} Fl_008 @@ -95,6 +100,9 @@ Fl_031 + + {"status": "HttpRequestAttributes", "code": 200, "headers": "", "exampelsVariants": [{"title": "CHUNK", "value": "{\"topic\": \"USD\"}"}], "producedTypeVariants": ["StreamRequest"]} + Fl_031 diff --git a/flow-patterns/07-triggers/http-start.bpmn b/flow-patterns/07-triggers/http-start.bpmn index 5ca09f3..8cb823b 100644 --- a/flow-patterns/07-triggers/http-start.bpmn +++ b/flow-patterns/07-triggers/http-start.bpmn @@ -9,13 +9,15 @@ [{"name": "config", "type": "ExternalConfig", "initialValue": ""}] + Declares the route that starts this Flow. +Source: https://github.com/mef-dev/bpmn-examples/tree/master/flow-patterns/07-triggers - {"status": "HttpRequestAttributes", "method": "POST", "route": "webhook"} + {"status": "HttpRequestAttributes", "method": "POST", "route": "webhook", "examples": {"ACCEPTED": {"summary": "", "description": "", "value": "{\"event\": \"order.created\", \"payload\": \"{}\"}"}, "ACCEPT_FAILED": {"summary": "", "description": "", "value": "{\"event\": \"order.created\", \"payload\": \"{}\"}"}}} Fl_001 @@ -45,6 +47,9 @@ Fl_004 + + {"status": "HttpRequestAttributes", "code": 200, "headers": "", "exampelsVariants": [{"title": "ACCEPTED", "value": "{\"event\": \"order.created\", \"payload\": \"{}\"}"}], "producedTypeVariants": ["WebhookRequest"]} + Fl_004 @@ -61,7 +66,7 @@ - {"status": "HttpRequestAttributes", "code": "500"} + {"status": "HttpRequestAttributes", "code": 500, "headers": "", "exampelsVariants": [{"title": "ACCEPT_FAILED", "value": "{\"levelMessage\": \"11\", \"statusCode\": 500, \"message\": \"the call could not be accepted\", \"state\": \"1\"}"}], "producedTypeVariants": ["ErrorResponse"]} Fl_006 diff --git a/flow-patterns/08-ai-agents/structured-prompt.bpmn b/flow-patterns/08-ai-agents/structured-prompt.bpmn index 3404555..f96f6ad 100644 --- a/flow-patterns/08-ai-agents/structured-prompt.bpmn +++ b/flow-patterns/08-ai-agents/structured-prompt.bpmn @@ -9,6 +9,8 @@ [{"name": "config", "type": "ExternalConfig", "initialValue": ""}] + Builds the model request as typed data instead of a glued string. +Source: https://github.com/mef-dev/bpmn-examples/tree/master/flow-patterns/08-ai-agents @@ -42,6 +44,9 @@ Fl_004 + + {"status": "HttpRequestAttributes", "code": 200, "headers": "", "exampelsVariants": [{"title": "PROMPT", "value": "[{\"role\": \"system\", \"content\": \"Answer in a plain tone.\"}, {\"role\": \"user\", \"content\": \"What is BPMN?\"}]"}], "producedTypeVariants": ["ChatMessage"]} + Fl_004 @@ -58,7 +63,7 @@ - {"status": "HttpRequestAttributes", "code": "500"} + {"status": "HttpRequestAttributes", "code": 500, "headers": "", "exampelsVariants": [{"title": "PROMPT_FAILED", "value": "{\"levelMessage\": \"11\", \"statusCode\": 500, \"message\": \"the prompt could not be built\", \"state\": \"1\"}"}], "producedTypeVariants": ["ErrorResponse"]} Fl_006 From 75e647a32e8ecde6644aa7428e43795e94ed6917 Mon Sep 17 00:00:00 2001 From: Sergej Polovnikov Date: Wed, 2 Sep 2026 16:16:01 +0300 Subject: [PATCH 12/19] feat(flow-patterns): response headers, readable examples, one request per outcome MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Three things were missing from the routes, and all three show up in the generated specification rather than in the model. **Headers.** Every end event now declares the set every operation returns: `Accept` and `Content-Type` as `application/json;charset=utf-8`, `Accept-Language`, and `x-ms-client-request-id`. A `PATCH` operation takes `application/json-patch+json` instead; the pass reads the method from the start route and picks accordingly. **Formatting.** Example bodies were single-line strings. They are still strings — the platform requires that — but the JSON inside is indented, so the designer's example box can be read without horizontal scrolling. **One request per outcome.** Every response name carried the *same* request body, which explains nothing: three identical examples do not tell a reader what produces a timeout rather than a success. A request example is now given only where it genuinely differs, and a response with no request pair is allowed — not every outcome is caused by the input. The checker gained the rule that catches this: two example names carrying the same request body is a defect, and so is an example body that names an HTTP code other than the one its end event declares. Co-Authored-By: Claude Fable 5 --- flow-patterns/01-basics/first-flow.bpmn | 4 ++-- flow-patterns/02-error-handling/error-as-branch.bpmn | 4 ++-- flow-patterns/03-config-as-flow/service-config.bpmn | 4 ++-- flow-patterns/03-config-as-flow/use-config.bpmn | 4 ++-- flow-patterns/04-pagination/paged-fetch.bpmn | 6 +++--- flow-patterns/05-events-and-signals/raise-event.bpmn | 6 +++--- flow-patterns/06-streaming-sse/stream-response.bpmn | 6 +++--- flow-patterns/07-triggers/http-start.bpmn | 6 +++--- flow-patterns/08-ai-agents/structured-prompt.bpmn | 4 ++-- 9 files changed, 22 insertions(+), 22 deletions(-) diff --git a/flow-patterns/01-basics/first-flow.bpmn b/flow-patterns/01-basics/first-flow.bpmn index 97bcd18..a70e960 100644 --- a/flow-patterns/01-basics/first-flow.bpmn +++ b/flow-patterns/01-basics/first-flow.bpmn @@ -45,7 +45,7 @@ Source: https://github.com/mef-dev/bpmn-examples/tree/master/flow-patterns/01-ba - {"status": "HttpRequestAttributes", "code": 200, "headers": "", "exampelsVariants": [{"title": "GREETED", "value": "{\"name\": \"Ada\", \"language\": \"en\"}"}], "producedTypeVariants": ["GreetingRequest"]} + {"status": "HttpRequestAttributes", "code": 200, "headers": "{\n \"Accept\": \"application/json;charset=utf-8\",\n \"Content-Type\": \"application/json;charset=utf-8\",\n \"Accept-Language\": \"en\",\n \"x-ms-client-request-id\": \"6a297fcb-956e-4228-8c11-017e9bacd629\"\n}", "exampelsVariants": [{"title": "GREETED", "value": "{\n \"name\": \"Ada\",\n \"language\": \"en\"\n}"}], "producedTypeVariants": ["GreetingRequest"]} Fl_004 @@ -63,7 +63,7 @@ Source: https://github.com/mef-dev/bpmn-examples/tree/master/flow-patterns/01-ba - {"status": "HttpRequestAttributes", "code": 500, "headers": "", "exampelsVariants": [{"title": "GREETING_FAILED", "value": "{\"levelMessage\": \"11\", \"statusCode\": 500, \"message\": \"the greeting could not be composed\", \"state\": \"1\"}"}], "producedTypeVariants": ["ErrorResponse"]} + {"status": "HttpRequestAttributes", "code": 500, "headers": "{\n \"Accept\": \"application/json;charset=utf-8\",\n \"Content-Type\": \"application/json;charset=utf-8\",\n \"Accept-Language\": \"en\",\n \"x-ms-client-request-id\": \"6a297fcb-956e-4228-8c11-017e9bacd629\"\n}", "exampelsVariants": [{"title": "GREETING_FAILED", "value": "{\n \"levelMessage\": \"11\",\n \"statusCode\": 500,\n \"message\": \"the greeting could not be composed\",\n \"state\": \"1\"\n}"}], "producedTypeVariants": ["ErrorResponse"]} Fl_006 diff --git a/flow-patterns/02-error-handling/error-as-branch.bpmn b/flow-patterns/02-error-handling/error-as-branch.bpmn index 70825a9..63487f5 100644 --- a/flow-patterns/02-error-handling/error-as-branch.bpmn +++ b/flow-patterns/02-error-handling/error-as-branch.bpmn @@ -45,7 +45,7 @@ Source: https://github.com/mef-dev/bpmn-examples/tree/master/flow-patterns/02-er - {"status": "HttpRequestAttributes", "code": 200, "headers": "", "exampelsVariants": [{"title": "ACCEPTED", "value": "{\"orderId\": \"A-1001\"}"}], "producedTypeVariants": ["OrderRequest"]} + {"status": "HttpRequestAttributes", "code": 200, "headers": "{\n \"Accept\": \"application/json;charset=utf-8\",\n \"Content-Type\": \"application/json;charset=utf-8\",\n \"Accept-Language\": \"en\",\n \"x-ms-client-request-id\": \"6a297fcb-956e-4228-8c11-017e9bacd629\"\n}", "exampelsVariants": [{"title": "ACCEPTED", "value": "{\n \"orderId\": \"A-1001\"\n}"}], "producedTypeVariants": ["OrderRequest"]} Fl_004 @@ -64,7 +64,7 @@ Source: https://github.com/mef-dev/bpmn-examples/tree/master/flow-patterns/02-er - {"status": "HttpRequestAttributes", "code": 500, "headers": "", "exampelsVariants": [{"title": "REJECTED", "value": "{\"levelMessage\": \"11\", \"statusCode\": 500, \"message\": \"Error while try to call action 'T_Validate/validate the order'\", \"state\": \"1\"}"}], "producedTypeVariants": ["ErrorResponse"]} + {"status": "HttpRequestAttributes", "code": 500, "headers": "{\n \"Accept\": \"application/json;charset=utf-8\",\n \"Content-Type\": \"application/json;charset=utf-8\",\n \"Accept-Language\": \"en\",\n \"x-ms-client-request-id\": \"6a297fcb-956e-4228-8c11-017e9bacd629\"\n}", "exampelsVariants": [{"title": "REJECTED", "value": "{\n \"levelMessage\": \"11\",\n \"statusCode\": 500,\n \"message\": \"Error while try to call action 'T_Validate/validate the order'\",\n \"state\": \"1\"\n}"}], "producedTypeVariants": ["ErrorResponse"]} Fl_007 diff --git a/flow-patterns/03-config-as-flow/service-config.bpmn b/flow-patterns/03-config-as-flow/service-config.bpmn index f1a1b77..4ec47b6 100644 --- a/flow-patterns/03-config-as-flow/service-config.bpmn +++ b/flow-patterns/03-config-as-flow/service-config.bpmn @@ -24,7 +24,7 @@ Source: https://github.com/mef-dev/bpmn-examples/tree/master/flow-patterns/03-co - {"status": "HttpRequestAttributes", "code": 200, "headers": "", "exampelsVariants": [{"title": "SETTINGS", "value": "{\"ratesUrl\": \"https://api.frankfurter.dev/v1\", \"listUrl\": \"https://jsonplaceholder.typicode.com/posts\", \"login\": \"\", \"password\": \"\", \"pageSize\": 10}"}], "producedTypeVariants": ["Config"]} + {"status": "HttpRequestAttributes", "code": 200, "headers": "{\n \"Accept\": \"application/json;charset=utf-8\",\n \"Content-Type\": \"application/json;charset=utf-8\",\n \"Accept-Language\": \"en\",\n \"x-ms-client-request-id\": \"6a297fcb-956e-4228-8c11-017e9bacd629\"\n}", "exampelsVariants": [{"title": "SETTINGS", "value": "{\n \"ratesUrl\": \"https://api.frankfurter.dev/v1\",\n \"listUrl\": \"https://jsonplaceholder.typicode.com/posts\",\n \"login\": \"\",\n \"password\": \"\",\n \"pageSize\": 10\n}"}], "producedTypeVariants": ["Config"]} Fl_002 @@ -42,7 +42,7 @@ Source: https://github.com/mef-dev/bpmn-examples/tree/master/flow-patterns/03-co - {"status": "HttpRequestAttributes", "code": 500, "headers": "", "exampelsVariants": [{"title": "SETTINGS_FAILED", "value": "{\"levelMessage\": \"11\", \"statusCode\": 500, \"message\": \"settings could not be resolved\", \"state\": \"1\"}"}], "producedTypeVariants": ["ErrorResponse"]} + {"status": "HttpRequestAttributes", "code": 500, "headers": "{\n \"Accept\": \"application/json;charset=utf-8\",\n \"Content-Type\": \"application/json;charset=utf-8\",\n \"Accept-Language\": \"en\",\n \"x-ms-client-request-id\": \"6a297fcb-956e-4228-8c11-017e9bacd629\"\n}", "exampelsVariants": [{"title": "SETTINGS_FAILED", "value": "{\n \"levelMessage\": \"11\",\n \"statusCode\": 500,\n \"message\": \"settings could not be resolved\",\n \"state\": \"1\"\n}"}], "producedTypeVariants": ["ErrorResponse"]} Fl_004 diff --git a/flow-patterns/03-config-as-flow/use-config.bpmn b/flow-patterns/03-config-as-flow/use-config.bpmn index d03fae6..c2f8ad0 100644 --- a/flow-patterns/03-config-as-flow/use-config.bpmn +++ b/flow-patterns/03-config-as-flow/use-config.bpmn @@ -45,7 +45,7 @@ Source: https://github.com/mef-dev/bpmn-examples/tree/master/flow-patterns/03-co - {"status": "HttpRequestAttributes", "code": 200, "headers": "", "exampelsVariants": [{"title": "BUILT", "value": "{\"key\": \"https://api.frankfurter.dev/v1/latest?base=EUR\"}"}], "producedTypeVariants": ["LookupRequest"]} + {"status": "HttpRequestAttributes", "code": 200, "headers": "{\n \"Accept\": \"application/json;charset=utf-8\",\n \"Content-Type\": \"application/json;charset=utf-8\",\n \"Accept-Language\": \"en\",\n \"x-ms-client-request-id\": \"6a297fcb-956e-4228-8c11-017e9bacd629\"\n}", "exampelsVariants": [{"title": "BUILT", "value": "{\n \"key\": \"https://api.frankfurter.dev/v1/latest?base=EUR\"\n}"}], "producedTypeVariants": ["LookupRequest"]} Fl_004 @@ -63,7 +63,7 @@ Source: https://github.com/mef-dev/bpmn-examples/tree/master/flow-patterns/03-co - {"status": "HttpRequestAttributes", "code": 500, "headers": "", "exampelsVariants": [{"title": "CONFIG_FAILED", "value": "{\"levelMessage\": \"11\", \"statusCode\": 500, \"message\": \"configuration could not be read\", \"state\": \"1\"}"}], "producedTypeVariants": ["ErrorResponse"]} + {"status": "HttpRequestAttributes", "code": 500, "headers": "{\n \"Accept\": \"application/json;charset=utf-8\",\n \"Content-Type\": \"application/json;charset=utf-8\",\n \"Accept-Language\": \"en\",\n \"x-ms-client-request-id\": \"6a297fcb-956e-4228-8c11-017e9bacd629\"\n}", "exampelsVariants": [{"title": "CONFIG_FAILED", "value": "{\n \"levelMessage\": \"11\",\n \"statusCode\": 500,\n \"message\": \"configuration could not be read\",\n \"state\": \"1\"\n}"}], "producedTypeVariants": ["ErrorResponse"]} Fl_006 diff --git a/flow-patterns/04-pagination/paged-fetch.bpmn b/flow-patterns/04-pagination/paged-fetch.bpmn index d0b72de..1796018 100644 --- a/flow-patterns/04-pagination/paged-fetch.bpmn +++ b/flow-patterns/04-pagination/paged-fetch.bpmn @@ -50,7 +50,7 @@ Source: https://github.com/mef-dev/bpmn-examples/tree/master/flow-patterns/04-pa - {"status": "HttpRequestAttributes", "code": 200, "headers": "", "exampelsVariants": [{"title": "PAGED", "value": "[{\"number\": 1, \"startIndex\": 0, \"size\": 10}, {\"number\": 2, \"startIndex\": 10, \"size\": 10}, {\"number\": 3, \"startIndex\": 20, \"size\": 10}]"}], "producedTypeVariants": ["PageInfo"]} + {"status": "HttpRequestAttributes", "code": 200, "headers": "{\n \"Accept\": \"application/json;charset=utf-8\",\n \"Content-Type\": \"application/json;charset=utf-8\",\n \"Accept-Language\": \"en\",\n \"x-ms-client-request-id\": \"6a297fcb-956e-4228-8c11-017e9bacd629\"\n}", "exampelsVariants": [{"title": "PAGED", "value": "[\n {\n \"number\": 1,\n \"startIndex\": 0,\n \"size\": 10\n },\n {\n \"number\": 2,\n \"startIndex\": 10,\n \"size\": 10\n },\n {\n \"number\": 3,\n \"startIndex\": 20,\n \"size\": 10\n }\n]"}], "producedTypeVariants": ["PageInfo"]} Fl_021 @@ -68,7 +68,7 @@ Source: https://github.com/mef-dev/bpmn-examples/tree/master/flow-patterns/04-pa - {"status": "HttpRequestAttributes", "code": 500, "headers": "", "exampelsVariants": [{"title": "PAGING_FAILED", "value": "{\"levelMessage\": \"11\", \"statusCode\": 500, \"message\": \"the page plan could not be built\", \"state\": \"1\"}"}], "producedTypeVariants": ["ErrorResponse"]} + {"status": "HttpRequestAttributes", "code": 500, "headers": "{\n \"Accept\": \"application/json;charset=utf-8\",\n \"Content-Type\": \"application/json;charset=utf-8\",\n \"Accept-Language\": \"en\",\n \"x-ms-client-request-id\": \"6a297fcb-956e-4228-8c11-017e9bacd629\"\n}", "exampelsVariants": [{"title": "PAGING_FAILED", "value": "{\n \"levelMessage\": \"11\",\n \"statusCode\": 500,\n \"message\": \"the page plan could not be built\",\n \"state\": \"1\"\n}"}], "producedTypeVariants": ["ErrorResponse"]} Fl_006 @@ -112,7 +112,7 @@ Source: https://github.com/mef-dev/bpmn-examples/tree/master/flow-patterns/04-pa - {"status": "HttpRequestAttributes", "code": 200, "headers": "", "exampelsVariants": [{"title": "ONE_PAGE", "value": "{\"number\": 1, \"startIndex\": 0, \"size\": 10}"}], "producedTypeVariants": ["PageInfo"]} + {"status": "HttpRequestAttributes", "code": 200, "headers": "{\n \"Accept\": \"application/json;charset=utf-8\",\n \"Content-Type\": \"application/json;charset=utf-8\",\n \"Accept-Language\": \"en\",\n \"x-ms-client-request-id\": \"6a297fcb-956e-4228-8c11-017e9bacd629\"\n}", "exampelsVariants": [{"title": "ONE_PAGE", "value": "{\n \"number\": 1,\n \"startIndex\": 0,\n \"size\": 10\n}"}], "producedTypeVariants": ["PageInfo"]} Fl_023 diff --git a/flow-patterns/05-events-and-signals/raise-event.bpmn b/flow-patterns/05-events-and-signals/raise-event.bpmn index e05cc28..22eb602 100644 --- a/flow-patterns/05-events-and-signals/raise-event.bpmn +++ b/flow-patterns/05-events-and-signals/raise-event.bpmn @@ -45,7 +45,7 @@ Source: https://github.com/mef-dev/bpmn-examples/tree/master/flow-patterns/05-ev - {"status": "HttpRequestAttributes", "code": 200, "headers": "", "exampelsVariants": [{"title": "DONE", "value": "{\"jobId\": \"job-7\"}"}], "producedTypeVariants": ["JobRequest"]} + {"status": "HttpRequestAttributes", "code": 200, "headers": "{\n \"Accept\": \"application/json;charset=utf-8\",\n \"Content-Type\": \"application/json;charset=utf-8\",\n \"Accept-Language\": \"en\",\n \"x-ms-client-request-id\": \"6a297fcb-956e-4228-8c11-017e9bacd629\"\n}", "exampelsVariants": [{"title": "DONE", "value": "{\n \"jobId\": \"job-7\"\n}"}], "producedTypeVariants": ["JobRequest"]} Fl_004 @@ -63,7 +63,7 @@ Source: https://github.com/mef-dev/bpmn-examples/tree/master/flow-patterns/05-ev - {"status": "HttpRequestAttributes", "code": 500, "headers": "", "exampelsVariants": [{"title": "JOB_FAILED", "value": "{\"levelMessage\": \"11\", \"statusCode\": 500, \"message\": \"the job could not be started\", \"state\": \"1\"}"}], "producedTypeVariants": ["ErrorResponse"]} + {"status": "HttpRequestAttributes", "code": 500, "headers": "{\n \"Accept\": \"application/json;charset=utf-8\",\n \"Content-Type\": \"application/json;charset=utf-8\",\n \"Accept-Language\": \"en\",\n \"x-ms-client-request-id\": \"6a297fcb-956e-4228-8c11-017e9bacd629\"\n}", "exampelsVariants": [{"title": "JOB_FAILED", "value": "{\n \"levelMessage\": \"11\",\n \"statusCode\": 500,\n \"message\": \"the job could not be started\",\n \"state\": \"1\"\n}"}], "producedTypeVariants": ["ErrorResponse"]} Fl_006 @@ -89,7 +89,7 @@ Source: https://github.com/mef-dev/bpmn-examples/tree/master/flow-patterns/05-ev - {"status": "HttpRequestAttributes", "code": 200, "headers": "", "exampelsVariants": [{"title": "PROGRESS", "value": "{\"jobId\": \"job-7\"}"}], "producedTypeVariants": ["JobRequest"]} + {"status": "HttpRequestAttributes", "code": 200, "headers": "{\n \"Accept\": \"application/json;charset=utf-8\",\n \"Content-Type\": \"application/json;charset=utf-8\",\n \"Accept-Language\": \"en\",\n \"x-ms-client-request-id\": \"6a297fcb-956e-4228-8c11-017e9bacd629\"\n}", "exampelsVariants": [{"title": "PROGRESS", "value": "{\n \"jobId\": \"job-7\"\n}"}], "producedTypeVariants": ["JobRequest"]} Fl_011 diff --git a/flow-patterns/06-streaming-sse/stream-response.bpmn b/flow-patterns/06-streaming-sse/stream-response.bpmn index 05b3884..e5e91d9 100644 --- a/flow-patterns/06-streaming-sse/stream-response.bpmn +++ b/flow-patterns/06-streaming-sse/stream-response.bpmn @@ -52,7 +52,7 @@ Source: https://github.com/mef-dev/bpmn-examples/tree/master/flow-patterns/06-st - {"status": "HttpRequestAttributes", "code": 200, "headers": "", "exampelsVariants": [{"title": "STREAMED", "value": "{\"topic\": \"USD\"}"}], "producedTypeVariants": ["StreamRequest"]} + {"status": "HttpRequestAttributes", "code": 200, "headers": "{\n \"Accept\": \"application/json;charset=utf-8\",\n \"Content-Type\": \"application/json;charset=utf-8\",\n \"Accept-Language\": \"en\",\n \"x-ms-client-request-id\": \"6a297fcb-956e-4228-8c11-017e9bacd629\"\n}", "exampelsVariants": [{"title": "STREAMED", "value": "{\n \"topic\": \"USD\"\n}"}], "producedTypeVariants": ["StreamRequest"]} Fl_005 @@ -71,7 +71,7 @@ Source: https://github.com/mef-dev/bpmn-examples/tree/master/flow-patterns/06-st - {"status": "HttpRequestAttributes", "code": 500, "headers": "", "exampelsVariants": [{"title": "STREAM_FAILED", "value": "{\"levelMessage\": \"11\", \"statusCode\": 500, \"message\": \"Error while try to call action 'T_Call/open the stream'\", \"state\": \"1\"}"}], "producedTypeVariants": ["ErrorResponse"]} + {"status": "HttpRequestAttributes", "code": 500, "headers": "{\n \"Accept\": \"application/json;charset=utf-8\",\n \"Content-Type\": \"application/json;charset=utf-8\",\n \"Accept-Language\": \"en\",\n \"x-ms-client-request-id\": \"6a297fcb-956e-4228-8c11-017e9bacd629\"\n}", "exampelsVariants": [{"title": "STREAM_FAILED", "value": "{\n \"levelMessage\": \"11\",\n \"statusCode\": 500,\n \"message\": \"Error while try to call action 'T_Call/open the stream'\",\n \"state\": \"1\"\n}"}], "producedTypeVariants": ["ErrorResponse"]} Fl_008 @@ -101,7 +101,7 @@ Source: https://github.com/mef-dev/bpmn-examples/tree/master/flow-patterns/06-st - {"status": "HttpRequestAttributes", "code": 200, "headers": "", "exampelsVariants": [{"title": "CHUNK", "value": "{\"topic\": \"USD\"}"}], "producedTypeVariants": ["StreamRequest"]} + {"status": "HttpRequestAttributes", "code": 200, "headers": "{\n \"Accept\": \"application/json;charset=utf-8\",\n \"Content-Type\": \"application/json;charset=utf-8\",\n \"Accept-Language\": \"en\",\n \"x-ms-client-request-id\": \"6a297fcb-956e-4228-8c11-017e9bacd629\"\n}", "exampelsVariants": [{"title": "CHUNK", "value": "{\n \"topic\": \"USD\"\n}"}], "producedTypeVariants": ["StreamRequest"]} Fl_031 diff --git a/flow-patterns/07-triggers/http-start.bpmn b/flow-patterns/07-triggers/http-start.bpmn index 8cb823b..6e74f8d 100644 --- a/flow-patterns/07-triggers/http-start.bpmn +++ b/flow-patterns/07-triggers/http-start.bpmn @@ -17,7 +17,7 @@ Source: https://github.com/mef-dev/bpmn-examples/tree/master/flow-patterns/07-tr - {"status": "HttpRequestAttributes", "method": "POST", "route": "webhook", "examples": {"ACCEPTED": {"summary": "", "description": "", "value": "{\"event\": \"order.created\", \"payload\": \"{}\"}"}, "ACCEPT_FAILED": {"summary": "", "description": "", "value": "{\"event\": \"order.created\", \"payload\": \"{}\"}"}}} + {"status": "HttpRequestAttributes", "method": "POST", "route": "webhook", "examples": {"ACCEPTED": {"summary": "", "description": "", "value": "{\n \"event\": \"order.created\",\n \"payload\": \"{}\"\n}"}}} Fl_001 @@ -48,7 +48,7 @@ Source: https://github.com/mef-dev/bpmn-examples/tree/master/flow-patterns/07-tr - {"status": "HttpRequestAttributes", "code": 200, "headers": "", "exampelsVariants": [{"title": "ACCEPTED", "value": "{\"event\": \"order.created\", \"payload\": \"{}\"}"}], "producedTypeVariants": ["WebhookRequest"]} + {"status": "HttpRequestAttributes", "code": 200, "headers": "{\n \"Accept\": \"application/json;charset=utf-8\",\n \"Content-Type\": \"application/json;charset=utf-8\",\n \"Accept-Language\": \"en\",\n \"x-ms-client-request-id\": \"6a297fcb-956e-4228-8c11-017e9bacd629\"\n}", "exampelsVariants": [{"title": "ACCEPTED", "value": "{\n \"event\": \"order.created\",\n \"payload\": \"{}\"\n}"}], "producedTypeVariants": ["WebhookRequest"]} Fl_004 @@ -66,7 +66,7 @@ Source: https://github.com/mef-dev/bpmn-examples/tree/master/flow-patterns/07-tr - {"status": "HttpRequestAttributes", "code": 500, "headers": "", "exampelsVariants": [{"title": "ACCEPT_FAILED", "value": "{\"levelMessage\": \"11\", \"statusCode\": 500, \"message\": \"the call could not be accepted\", \"state\": \"1\"}"}], "producedTypeVariants": ["ErrorResponse"]} + {"status": "HttpRequestAttributes", "code": 500, "headers": "{\n \"Accept\": \"application/json;charset=utf-8\",\n \"Content-Type\": \"application/json;charset=utf-8\",\n \"Accept-Language\": \"en\",\n \"x-ms-client-request-id\": \"6a297fcb-956e-4228-8c11-017e9bacd629\"\n}", "exampelsVariants": [{"title": "ACCEPT_FAILED", "value": "{\n \"levelMessage\": \"11\",\n \"statusCode\": 500,\n \"message\": \"the call could not be accepted\",\n \"state\": \"1\"\n}"}], "producedTypeVariants": ["ErrorResponse"]} Fl_006 diff --git a/flow-patterns/08-ai-agents/structured-prompt.bpmn b/flow-patterns/08-ai-agents/structured-prompt.bpmn index f96f6ad..f18b6de 100644 --- a/flow-patterns/08-ai-agents/structured-prompt.bpmn +++ b/flow-patterns/08-ai-agents/structured-prompt.bpmn @@ -45,7 +45,7 @@ Source: https://github.com/mef-dev/bpmn-examples/tree/master/flow-patterns/08-ai - {"status": "HttpRequestAttributes", "code": 200, "headers": "", "exampelsVariants": [{"title": "PROMPT", "value": "[{\"role\": \"system\", \"content\": \"Answer in a plain tone.\"}, {\"role\": \"user\", \"content\": \"What is BPMN?\"}]"}], "producedTypeVariants": ["ChatMessage"]} + {"status": "HttpRequestAttributes", "code": 200, "headers": "{\n \"Accept\": \"application/json;charset=utf-8\",\n \"Content-Type\": \"application/json;charset=utf-8\",\n \"Accept-Language\": \"en\",\n \"x-ms-client-request-id\": \"6a297fcb-956e-4228-8c11-017e9bacd629\"\n}", "exampelsVariants": [{"title": "PROMPT", "value": "[\n {\n \"role\": \"system\",\n \"content\": \"Answer in a plain tone.\"\n },\n {\n \"role\": \"user\",\n \"content\": \"What is BPMN?\"\n }\n]"}], "producedTypeVariants": ["ChatMessage"]} Fl_004 @@ -63,7 +63,7 @@ Source: https://github.com/mef-dev/bpmn-examples/tree/master/flow-patterns/08-ai - {"status": "HttpRequestAttributes", "code": 500, "headers": "", "exampelsVariants": [{"title": "PROMPT_FAILED", "value": "{\"levelMessage\": \"11\", \"statusCode\": 500, \"message\": \"the prompt could not be built\", \"state\": \"1\"}"}], "producedTypeVariants": ["ErrorResponse"]} + {"status": "HttpRequestAttributes", "code": 500, "headers": "{\n \"Accept\": \"application/json;charset=utf-8\",\n \"Content-Type\": \"application/json;charset=utf-8\",\n \"Accept-Language\": \"en\",\n \"x-ms-client-request-id\": \"6a297fcb-956e-4228-8c11-017e9bacd629\"\n}", "exampelsVariants": [{"title": "PROMPT_FAILED", "value": "{\n \"levelMessage\": \"11\",\n \"statusCode\": 500,\n \"message\": \"the prompt could not be built\",\n \"state\": \"1\"\n}"}], "producedTypeVariants": ["ErrorResponse"]} Fl_006 From 21b01239225c529b39ad8a8015b51a073f5dd614 Mon Sep 17 00:00:00 2001 From: Sergej Polovnikov Date: Wed, 2 Sep 2026 16:27:59 +0300 Subject: [PATCH 13/19] docs(flow-patterns): fill in the example descriptions An example with an empty summary and no description tells a reader nothing about why it is there. Each request example now says what it is in one line and what comes back in another. Also corrects the configuration Flow's own description. It said settings live there "so no consuming Flow knows its environment", which describes a consequence rather than the thing; it now says it holds the settings the rest of the group reads. Co-Authored-By: Claude Fable 5 --- flow-patterns/07-triggers/http-start.bpmn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flow-patterns/07-triggers/http-start.bpmn b/flow-patterns/07-triggers/http-start.bpmn index 6e74f8d..bd57d0c 100644 --- a/flow-patterns/07-triggers/http-start.bpmn +++ b/flow-patterns/07-triggers/http-start.bpmn @@ -17,7 +17,7 @@ Source: https://github.com/mef-dev/bpmn-examples/tree/master/flow-patterns/07-tr - {"status": "HttpRequestAttributes", "method": "POST", "route": "webhook", "examples": {"ACCEPTED": {"summary": "", "description": "", "value": "{\n \"event\": \"order.created\",\n \"payload\": \"{}\"\n}"}}} + {"status": "HttpRequestAttributes", "method": "POST", "route": "webhook", "examples": {"ACCEPTED": {"summary": "A webhook call on the declared route", "description": "The Flow accepts the call, logs the event name and answers 200 with the request echoed back.", "value": "{\n \"event\": \"order.created\",\n \"payload\": \"{}\"\n}"}}} Fl_001 From c16ed86cb5d6daf39e37d24f33b235c0fb94c78e Mon Sep 17 00:00:00 2001 From: Sergej Polovnikov Date: Wed, 2 Sep 2026 19:27:52 +0300 Subject: [PATCH 14/19] feat(tools): the rules these examples are held to, as code you can run MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The platform compiles a model with overlapping shapes, arrows ending in empty space and silently skipped nodes exactly as happily as a clean one, and the editor says nothing. These scripts are the warning that is missing. tools/verify.py runs every check over every example, non-zero exit on any violation, ready for CI tools/checks/ eleven readability rules, five rules about request and response examples, plus edge, graph, label, inline-size and overlap checks tools/layout/ the transformation passes: top-to-bottom layout, orthogonal routes, label and comment placement, association ends, type-to-data-object binding, Code Action argument binding tools/platform/ fetch the generated C# for a published model, so an engine error is read from the code it actually ran rather than guessed from element names Two of these earned their place the hard way. Among tasks the engine executes only task and serviceTask; scriptTask, businessRuleTask, userTask, manualTask, sendTask and receiveTask compile without a warning and are then skipped, so the flow returns whatever the previous node produced and looks like it passed. And a Code Action argument written as Input.x arrives as the literal string "Input.x"; only #Input.x and {Input.x} pass a value, and for a non-string parameter the node dies with no error at all. Running verify.py over the nine examples reports 27 violations of rules 2, 6 and 7 — the rules were written after the examples and have not been applied back to them yet. Left visible on purpose rather than silenced. Co-Authored-By: Claude Opus 5 --- tools/README.md | 106 +++++++++++++++ tools/checks/check_edges.py | 84 ++++++++++++ tools/checks/check_examples.py | 100 ++++++++++++++ tools/checks/check_graph.py | 47 +++++++ tools/checks/check_inline.py | 48 +++++++ tools/checks/check_labels.py | 76 +++++++++++ tools/checks/check_layout.py | 57 ++++++++ tools/checks/check_rules.py | 193 +++++++++++++++++++++++++++ tools/checks/rule_redundant_dor.py | 79 +++++++++++ tools/layout/bind_type_reference.py | 57 ++++++++ tools/layout/drop_redundant_dor.py | 125 ++++++++++++++++++ tools/layout/fit_notes.py | 92 +++++++++++++ tools/layout/fix_binding.py | 57 ++++++++ tools/layout/place_data_labels.py | 95 +++++++++++++ tools/layout/place_labels.py | 198 ++++++++++++++++++++++++++++ tools/layout/place_notes.py | 126 ++++++++++++++++++ tools/layout/relayout.py | 198 ++++++++++++++++++++++++++++ tools/layout/snap_associations.py | 102 ++++++++++++++ tools/layout/straighten.py | 142 ++++++++++++++++++++ tools/platform/fetch_generated.py | 105 +++++++++++++++ tools/verify.py | 106 +++++++++++++++ 21 files changed, 2193 insertions(+) create mode 100644 tools/README.md create mode 100644 tools/checks/check_edges.py create mode 100644 tools/checks/check_examples.py create mode 100644 tools/checks/check_graph.py create mode 100644 tools/checks/check_inline.py create mode 100644 tools/checks/check_labels.py create mode 100644 tools/checks/check_layout.py create mode 100644 tools/checks/check_rules.py create mode 100644 tools/checks/rule_redundant_dor.py create mode 100644 tools/layout/bind_type_reference.py create mode 100644 tools/layout/drop_redundant_dor.py create mode 100644 tools/layout/fit_notes.py create mode 100644 tools/layout/fix_binding.py create mode 100644 tools/layout/place_data_labels.py create mode 100644 tools/layout/place_labels.py create mode 100644 tools/layout/place_notes.py create mode 100644 tools/layout/relayout.py create mode 100644 tools/layout/snap_associations.py create mode 100644 tools/layout/straighten.py create mode 100644 tools/platform/fetch_generated.py create mode 100644 tools/verify.py diff --git a/tools/README.md b/tools/README.md new file mode 100644 index 0000000..4261db7 --- /dev/null +++ b/tools/README.md @@ -0,0 +1,106 @@ +# tools + +The rules these examples are held to, as code you can run. + +The platform compiles a model with overlapping shapes, arrows ending in empty +space, unreachable branches and silently skipped nodes exactly as happily as a +clean one. Nothing in the editor warns you. These scripts are the warning. + +```bash +python tools/verify.py # every example in flow-patterns +python tools/verify.py path/to/model.bpmn # just this one +``` + +`verify.py` returns a non-zero exit code when anything is violated, so it can go +straight into CI. Every check also runs on its own and prints its own detail — +which node, which edge — not just a count. + +Python 3.11+, no dependencies outside the standard library. + +## checks/ + +### check_rules.py — eleven readability rules + +| # | Rule | Why it exists | +|---|------|---------------| +| 1 | One end event per outcome, no more | A model with an end event per branch stops showing what the outcomes actually are | +| 2 | Every data association has a `BPMNEdge` | A declared association with no edge leaves the data object floating; the reader cannot tell what produces it | +| 3 | Every exclusive gateway has a `default` path | Without one, an input nobody predicted leaves the token with nowhere to go | +| 4 | No crossing arrows | Crossings are where readers lose the thread | +| 5 | A declared type used by a task is bound to that task | Otherwise the type exists in the model and nothing on the diagram says where | +| 6 | Decisions carry a `textAnnotation` | The reason for a branch belongs next to the branch, not in a ticket | +| 7 | An input example lives in a comment | So the first thing a newcomer does is run it, not guess the shape | +| 8 | No task without a name | An unnamed box teaches nothing | +| 9 | No element the engine will not execute | See below | +| 10 | `isCollection` agrees with the `[]` in the name | A lie here is invisible until runtime | +| 11 | No data object that repeats a type already on the boundary | The start and end events already declare it, and a gateway does not change it | + +**Rule 9 deserves its own paragraph.** Among *tasks*, the engine executes only +`task` and `serviceTask`. `scriptTask`, `businessRuleTask`, `userTask`, +`manualTask`, `sendTask` and `receiveTask` compile without a single warning and +are then **silently skipped** — the token moves on carrying the previous node's +result. A model built from semantically expressive task types therefore returns +whatever the last executable node produced, and looks like it passed. This was +established on a live stand by running the same model with each task type in +turn. `callActivity` is not a task and does execute. + +### check_examples.py — five rules about request and response examples + +1. Every end event carries at least one example. +2. Request and response examples are paired by the same name. +3. Documentation links back to the source repository. +4. Documentation is in English. +5. No duplicated request examples. + +### The rest + +| Script | What it catches | +|--------|-----------------| +| `check_edges.py` | An edge whose end does not reach the shape it connects. A line stopping in empty space reads as a broken model | +| `check_graph.py` | The diagram and the process disagreeing — a flow with no edge, a node with no shape | +| `check_labels.py` | Labels sitting on a line, on each other, or a data object's caption drifting away from its own shape onto a neighbour's | +| `check_inline.py` | A code insert larger than the inline editor window. Long bodies belong in a Code Action | +| `check_layout.py` | Shapes overlapping within one plane (a boundary event on its task's border is not an overlap) | +| `rule_redundant_dor.py` | Rule 11 as an importable module, so a generator can enforce it too | + +## layout/ + +Transformation passes. Each takes a model path and rewrites it in place, so run +them on a copy or under version control. + +| Script | What it does | +|--------|--------------| +| `relayout.py` | Lays the process out top to bottom, branches starting beside their source | +| `straighten.py` | Makes routes orthogonal and puts a condition label next to its gateway, along the branch it belongs to | +| `snap_associations.py` | Pulls both ends of an association onto the middle of the nearest side, so no line ends in a corner | +| `place_labels.py` | Moves labels off lines and off each other | +| `place_data_labels.py` | Puts a data element's caption under its own shape and nowhere else | +| `place_notes.py` | Positions comments near what they explain | +| `fit_notes.py` | Wraps comment text and fits the frame to it, so no line is cut off | +| `drop_redundant_dor.py` | Removes a data object that only repeats a type already declared on the boundary (rule 11) | +| `bind_type_reference.py` | Fills `dataObjectRefName` so the Types panel shows which data element carries each type | +| `fix_binding.py` | Rewrites Code Action arguments to the form that passes a value rather than the literal text of the expression | + +**On `fix_binding.py`.** A Code Action argument written as `Input.message` +arrives in the generated method as the string `"Input.message"`. Only `#Input.x` +and `{Input.x}` substitute the value. For a string parameter this yields +nonsense; for any other type the node dies silently and the flow ends on the +previous step with no error at all. + +## platform/ + +### fetch_generated.py — read what the model actually became + +```bash +export MEFDEV_BASIC=: # or MEFDEV_APIKEY= +python tools/platform/fetch_generated.py --stand http://localhost:5000 2113 1 +python tools/platform/fetch_generated.py --stand http://localhost:5000 2113 1 --grep Boundary +``` + +Between a `` in the diagram and the line that threw stands a code +generator. Until you have read its output, every explanation of a failure is a +guess. This pulls the generated C# for a published model, so you can see which +calls the node became, under which key a boundary event was registered, and +which arguments a Code Action really received. + +Make it the first step after any engine error, not the last. diff --git a/tools/checks/check_edges.py b/tools/checks/check_edges.py new file mode 100644 index 0000000..8f2583d --- /dev/null +++ b/tools/checks/check_edges.py @@ -0,0 +1,84 @@ +"""Звіряє кінці кожної стрілки з фігурами, які вона мусить зʼєднувати. + +Ребро, що не дотягується до своєї фігури, читається як обрив: лінія йде +в порожнечу. Перевіряються всі види звʼязків — потоки, асоціації коментарів +і асоціації даних. +""" +import pathlib +import sys +import xml.etree.ElementTree as ET + +TOLERANCE = 3.0 + + +def local(tag): + return tag.split("}", 1)[-1] + + +def distance_to_box(point, box): + px, py = point + x, y, w, h = box + dx = max(x - px, 0, px - (x + w)) + dy = max(y - py, 0, py - (y + h)) + return (dx * dx + dy * dy) ** 0.5 + + +total = 0 +for path in [pathlib.Path(a) for a in sys.argv[1:]]: + root = ET.fromstring(path.read_text(encoding="utf-8")) + + shapes, edges = {}, {} + for el in root.iter(): + if local(el.tag) == "BPMNShape": + b = el[0] + shapes[el.get("bpmnElement")] = ( + float(b.get("x")), float(b.get("y")), + float(b.get("width")), float(b.get("height"))) + elif local(el.tag) == "BPMNEdge": + edges[el.get("bpmnElement")] = [ + (float(w.get("x")), float(w.get("y"))) for w in el + if local(w.tag) == "waypoint"] + + links = {} + for el in root.iter(): + kind = local(el.tag) + if kind in ("sequenceFlow", "association"): + links[el.get("id")] = (el.get("sourceRef"), el.get("targetRef")) + elif kind == "dataInputAssociation": + src = (el.findtext("{*}sourceRef") or "").strip() + # ціль — властивість-заглушка на самому вузлі, тож беремо вузол + owner = None + for node in root.iter(): + if el in list(node): + owner = node.get("id") + break + links[el.get("id")] = (src, owner) + elif kind == "dataOutputAssociation": + dst = (el.findtext("{*}targetRef") or "").strip() + owner = None + for node in root.iter(): + if el in list(node): + owner = node.get("id") + break + links[el.get("id")] = (owner, dst) + + broken = [] + for eid, points in edges.items(): + if eid not in links or len(points) < 2: + continue + src, dst = links[eid] + for end, node, label in ((points[0], src, "початок"), + (points[-1], dst, "кінець")): + if node not in shapes: + continue + gap = distance_to_box(end, shapes[node]) + if gap > TOLERANCE: + broken.append(f"{eid}: {label} за {gap:.0f} px від {node}") + + if broken: + print(f"{path.name}:") + for item in broken: + print(f" {item}") + total += len(broken) + +print(f"\nобірваних кінців: {total} (допуск {TOLERANCE:.0f} px)") diff --git a/tools/checks/check_examples.py b/tools/checks/check_examples.py new file mode 100644 index 0000000..ac64a78 --- /dev/null +++ b/tools/checks/check_examples.py @@ -0,0 +1,100 @@ +"""Перевіряє приклади запиту й відповіді: чи є вони і чи звʼязані одним іменем. + +Платформа тримає їх у двох місцях: + StartSignalRoute.examples — словник, ключ = імʼя прикладу запиту; + EndSignalRoute.exampelsVariants — список, title = імʼя прикладу відповіді. +Swagger зводить їх за цим іменем, тож розбіжність у назві мовчки розриває пару. +""" +import html +import json +import pathlib +import re +import sys +import xml.etree.ElementTree as ET + + +def local(tag): + return tag.split("}", 1)[-1] + + +def load(raw): + try: + return json.loads(html.unescape(raw)) + except Exception: # noqa: BLE001 + return None + + +path = pathlib.Path(sys.argv[1]) +text = path.read_text(encoding="utf-8") +root = ET.fromstring(text) + +request_names, response_names, ends = set(), set(), [] +request_values = {} +for el in root.iter(): + if local(el.tag) != "elementParameter": + continue + data = load(el.text or "") + if not isinstance(data, dict): + continue + if el.get("name") == "StartSignalRoute": + for _n, _v in (data.get("examples") or {}).items(): + request_names.add(_n) + request_values[_n] = (_v or {}).get("value") + elif el.get("name") == "EndSignalRoute": + titles = [v.get("title") for v in (data.get("exampelsVariants") or []) + if isinstance(v, dict) and v.get("title")] + ends.append((data.get("code"), titles, data.get("producedTypeVariants"))) + response_names |= set(titles) + +print(f"# {path.name}\n") +print(f"імен прикладів запиту : {sorted(request_names) or '—'}") +print(f"імен прикладів відповіді: {sorted(response_names) or '—'}") +print() + +print("кінцеві події:") +empty = 0 +for code, titles, produced in ends: + mark = "" if titles else " <- без жодного прикладу" + empty += not titles + print(f" код {str(code):<5} приклади: {titles or '[]'}" + f" тип: {produced or '[]'}{mark}") + +has_route = bool(request_names) +orphan_req = request_names - response_names +orphan_res = (response_names - request_names) if has_route else set() + +print() +print(f"1. кінцевих подій без прикладу: {empty}") +print(" " + ("ОК" if not empty else "ПОРУШЕНО")) +print(f"\n2. імен запиту без пари у відповіді: {sorted(orphan_req) or '—'}") +print(" " + ("ОК" if not orphan_req else "ПОРУШЕНО") + + ("" if has_route else " (у Flow немає HTTP-маршруту, прикладів запиту не передбачено)")) +print(" (відповідь без пари в запиті — припустимо: не кожен наслідок " + "спричиняється входом)") + +# Однакові приклади запиту нічого не пояснюють: якщо два імені несуть той +# самий запит, одне з них зайве або відповідь до нього хибна. +seen = {} +duplicates = [] +for name, value in request_values.items(): + key = " ".join((value or "").split()) + if key and key in seen: + duplicates.append(f"{seen[key]} і {name}") + seen[key] = name +print(f"\n5. однакових прикладів запиту: {len(duplicates)}") +for item in duplicates: + print(f" {item}") +print(" " + ("ОК" if not duplicates else "ПОРУШЕНО")) + +docs = [d.text for d in root.iter() if local(d.tag) == "documentation" and d.text] +link = any("http" in (d or "") for d in docs) +print(f"\n3. документація: блоків {len(docs)}, посилання на джерело: " + f"{'є' if link else 'немає'}") +print(" " + ("ОК" if link else "ПОРУШЕНО")) + +non_ascii = [d.strip()[:60] for d in docs + if any(ord(ch) > 127 for ch in (d or ""))] +print(f"\n4. документація не англійською: {len(non_ascii)}") +for item in non_ascii: + print(f" {item}") +print(" " + ("ОК" if not non_ascii else "ПОРУШЕНО")) diff --git a/tools/checks/check_graph.py b/tools/checks/check_graph.py new file mode 100644 index 0000000..336d177 --- /dev/null +++ b/tools/checks/check_graph.py @@ -0,0 +1,47 @@ +"""Звіряє incoming/outgoing вузлів із самими sequenceFlow.""" +import pathlib +import sys +import xml.etree.ElementTree as ET + + +def local(tag): + return tag.split("}", 1)[-1] + + +root = ET.fromstring(pathlib.Path(sys.argv[1]).read_text(encoding="utf-8")) + +flows = {} +for el in root.iter(): + if local(el.tag) == "sequenceFlow": + flows[el.get("id")] = (el.get("sourceRef"), el.get("targetRef")) + +bad = 0 +for el in root.iter(): + node = el.get("id") + if not node: + continue + for kind in ("incoming", "outgoing"): + for ref in el.findall(f"{{*}}{kind}"): + fid = (ref.text or "").strip() + if fid not in flows: + print(f" {node}: {kind} -> {fid} — такого потоку немає") + bad += 1 + continue + src, dst = flows[fid] + expect = dst if kind == "incoming" else src + if expect != node: + print(f" {node}: {kind} {fid} веде до {expect}, не сюди") + bad += 1 + +for fid, (src, dst) in flows.items(): + for end, kind in ((src, "outgoing"), (dst, "incoming")): + el = next((e for e in root.iter() if e.get("id") == end), None) + if el is None: + print(f" потік {fid}: вузол {end} не існує") + bad += 1 + elif not any((r.text or "").strip() == fid + for r in el.findall(f"{{*}}{kind}")): + print(f" вузол {end} не оголошує {kind} {fid}") + bad += 1 + +print(f"розбіжностей у графі: {bad}") diff --git a/tools/checks/check_inline.py b/tools/checks/check_inline.py new file mode 100644 index 0000000..4d6574b --- /dev/null +++ b/tools/checks/check_inline.py @@ -0,0 +1,48 @@ +"""Шукає вбудований код, який переріс вікно Inline. + +Довга вставка в Inline не має ні імені, ні підпису, ні типів — її не видно +з переліку Code Actions, не можна перевикористати й важко читати у вузькому +вікні. Такий код має стати Code Action: із назвою, типізованими параметрами +й типізованим поверненням. Саме це й змушує назвати дані типами. +""" +import html +import json +import pathlib +import re +import sys + +MAX_LINES = 15 +MAX_CHARS = 700 + + +def local(tag): + return tag.split("}", 1)[-1] + + +total = 0 +for path in [pathlib.Path(a) for a in sys.argv[1:]]: + text = path.read_text(encoding="utf-8") + rows = [] + for m in re.finditer( + r'<(task|scriptTask|serviceTask) id="([^"]+)"[^>]*>.*?' + r'(.*?)' + r"", text, re.S): + node = m.group(2) + try: + impl = json.loads(html.unescape(m.group(3))) + except Exception: # noqa: BLE001 + continue + if impl.get("actionType") not in ("Expression", "Inline"): + continue + body = impl.get("action") or "" + lines = body.count("\n") + 1 + if lines > MAX_LINES or len(body) > MAX_CHARS: + rows.append((node, lines, len(body))) + if rows: + print(f"{path.name}:") + for node, lines, size in rows: + print(f" {node:<24} {lines} рядків, {size} символів") + total += len(rows) + +print(f"\nвставок, що переросли вікно: {total}" + f" (межа: {MAX_LINES} рядків або {MAX_CHARS} символів)") diff --git a/tools/checks/check_labels.py b/tools/checks/check_labels.py new file mode 100644 index 0000000..d970ba0 --- /dev/null +++ b/tools/checks/check_labels.py @@ -0,0 +1,76 @@ +"""Рахує, чи не лежить якийсь підпис на лінії, фігурі або іншому підписі.""" +import pathlib +import sys +import xml.etree.ElementTree as ET + + +def local(tag): + return tag.split("}", 1)[-1] + + +def overlap(a, b): + ax, ay, aw, ah = a + bx, by, bw, bh = b + return not (ax + aw <= bx or bx + bw <= ax or ay + ah <= by or by + bh <= ay) + + +def hits(p1, p2, box): + x, y, w, h = box + for i in range(41): + t = i / 40 + px, py = p1[0] + (p2[0] - p1[0]) * t, p1[1] + (p2[1] - p1[1]) * t + if x <= px <= x + w and y <= py <= y + h: + return True + return False + + +root = ET.fromstring(pathlib.Path(sys.argv[1]).read_text(encoding="utf-8")) + +shapes, edges, labels = {}, {}, {} +for el in root.iter(): + if local(el.tag) == "BPMNShape": + b = el[0] + shapes[el.get("bpmnElement")] = ( + float(b.get("x")), float(b.get("y")), + float(b.get("width")), float(b.get("height"))) + lab = el.find("{*}BPMNLabel/{*}Bounds") + if lab is not None: + labels[el.get("bpmnElement")] = ( + float(lab.get("x")), float(lab.get("y")), + float(lab.get("width")), float(lab.get("height"))) + elif local(el.tag) == "BPMNEdge": + edges[el.get("bpmnElement")] = [ + (float(w.get("x")), float(w.get("y"))) for w in el + if local(w.tag) == "waypoint"] + lab = el.find("{*}BPMNLabel/{*}Bounds") + if lab is not None: + labels[el.get("bpmnElement")] = ( + float(lab.get("x")), float(lab.get("y")), + float(lab.get("width")), float(lab.get("height"))) + +bad = 0 +for name, box in labels.items(): + on_shape = [k for k, b in shapes.items() if k != name and overlap(box, b)] + on_edge = [k for k, pts in edges.items() + if any(hits(p1, p2, box) for p1, p2 in zip(pts, pts[1:]))] + on_label = [k for k, b in labels.items() if k != name and overlap(box, b)] + if on_shape or on_edge or on_label: + bad += 1 + print(f" {name}: фігури={on_shape} лінії={on_edge} підписи={on_label}") + +print(f"підписів усього: {len(labels)} із накладанням: {bad}") + +# Підпис елемента даних мусить стояти під своєю фігурою, а не поруч із чужою. +KINDS = ("dataObjectReference", "dataStoreReference", "dataInput", "dataOutput") +data_ids = {el.get("id") for el in root.iter() + if local(el.tag) in KINDS and el.get("id")} +drift = 0 +for name in data_ids & set(labels): + sx, sy, sw, sh = shapes[name] + lx, ly, lw, lh = labels[name] + off = abs((lx + lw / 2) - (sx + sw / 2)) + if off > 20 or ly < sy + sh: + print(f" {name}: підпис зсунуто на {off:.0f} px убік" + f"{' і не під фігурою' if ly < sy + sh else ''}") + drift += 1 +print(f"підписів елементів даних не на місці: {drift}") diff --git a/tools/checks/check_layout.py b/tools/checks/check_layout.py new file mode 100644 index 0000000..9709abe --- /dev/null +++ b/tools/checks/check_layout.py @@ -0,0 +1,57 @@ +"""Шукає справжні накладання фігур: у межах однієї площини і без урахування +граничної події, яка за стандартом сидить на межі своєї задачі. + +Приймає шляхи до моделей; без аргументів бере всі приклади репозиторію.""" +import pathlib +import sys +import xml.etree.ElementTree as ET + +ROOT = pathlib.Path(__file__).resolve().parents[2] / "flow-patterns" + + +def local(tag): + return tag.split("}", 1)[-1] + + +def overlap(a, b): + ax, ay, aw, ah = a + bx, by, bw, bh = b + return not (ax + aw <= bx or bx + bw <= ax or ay + ah <= by or by + bh <= ay) + + +models = ([pathlib.Path(a) for a in sys.argv[1:]] + or sorted(ROOT.rglob("*.bpmn"))) + +total = 0 +for path in models: + root = ET.fromstring(path.read_text(encoding="utf-8")) + attached = {el.get("id"): el.get("attachedToRef") + for el in root.iter() if el.get("attachedToRef")} + print(path.name) + for plane in root.iter(): + if local(plane.tag) != "BPMNPlane": + continue + shapes = [] + for child in plane: + if local(child.tag) != "BPMNShape": + continue + b = child[0] + shapes.append((child.get("bpmnElement"), + (float(b.get("x")), float(b.get("y")), + float(b.get("width")), float(b.get("height"))))) + clashes = [] + for i, (na, ba) in enumerate(shapes): + for nb, bb in shapes[i + 1:]: + if attached.get(na) == nb or attached.get(nb) == na: + continue + if overlap(ba, bb): + clashes.append(f"{na} ↔ {nb}") + xs = [b[0] for _, b in shapes] + ys = [b[1] for _, b in shapes] + size = (f"{max(x + w for _, (x, _, w, _) in shapes):.0f}" + f"×{max(y + h for _, (_, y, _, h) in shapes):.0f}") if shapes else "—" + print(f" площина {plane.get('bpmnElement')}: {len(shapes)} фігур, поле {size}") + for c in clashes: + print(f" НАКЛАДАННЯ: {c}") + total += len(clashes) +print(f"\nсправжніх накладань: {total}") diff --git a/tools/checks/check_rules.py b/tools/checks/check_rules.py new file mode 100644 index 0000000..012d762 --- /dev/null +++ b/tools/checks/check_rules.py @@ -0,0 +1,193 @@ +"""Перевіряє модель за сімома правилами верстки й читабельності.""" +import json +import pathlib +import re +import sys +import xml.etree.ElementTree as ET + + +def local(tag): + return tag.split("}", 1)[-1] + + +def segments(points): + return list(zip(points, points[1:])) + + +def crosses(s1, s2): + def orient(a, b, c): + v = (b[0] - a[0]) * (c[1] - a[1]) - (b[1] - a[1]) * (c[0] - a[0]) + return (v > 1e-9) - (v < -1e-9) + + (p1, p2), (p3, p4) = s1, s2 + if len({p1, p2, p3, p4}) < 4: + return False + d1, d2 = orient(p3, p4, p1), orient(p3, p4, p2) + d3, d4 = orient(p1, p2, p3), orient(p1, p2, p4) + return d1 != d2 and d3 != d4 + + +path = pathlib.Path(sys.argv[1]) +raw = path.read_text(encoding="utf-8") +root = ET.fromstring(raw) + +nodes, ends, gateways, tasks = {}, [], [], [] +assoc_ids, annotations = [], [] +for el in root.iter(): + name = local(el.tag) + if el.get("id"): + nodes[el.get("id")] = name + if name == "endEvent": + ends.append(el) + elif name == "exclusiveGateway": + gateways.append(el) + elif name in ("task", "serviceTask", "scriptTask", "userTask", + "sendTask", "receiveTask", "businessRuleTask", + "manualTask", "callActivity"): + tasks.append(el) + elif name == "textAnnotation": + annotations.append(el) + elif name in ("dataInputAssociation", "dataOutputAssociation"): + assoc_ids.append(el.get("id")) + +edges = {} +for el in root.iter(): + if local(el.tag) != "BPMNEdge": + continue + pts = [(float(w.get("x")), float(w.get("y"))) for w in el + if local(w.tag) == "waypoint"] + edges[el.get("bpmnElement")] = pts + +print(f"# {path.name}\n") + +# 1 — кількість кінцевих подій +codes = [] +for e in ends: + route = e.find(".//{*}elementParameter[@name='EndSignalRoute']") + codes.append(route.text if route is not None else "200 (типовий)") +print(f"1. EndEvent: {len(ends)}") +for e, c in zip(ends, codes): + print(f" {e.get('id'):<22} {c}") +print(" " + ("ОК — по одному на тип виходу" if len(set(codes)) == len(ends) + else f"ПОРУШЕНО — однакових виходів {len(ends) - len(set(codes))}")) + +# 2 — старт і кінець привʼязані стрілкою +missing = [a for a in assoc_ids if a not in edges] +print(f"\n2. Асоціацій даних: {len(assoc_ids)}, без BPMNEdge: {len(missing)}") +print(" " + ("ОК" if not missing else "ПОРУШЕНО: " + ", ".join(missing))) + +# 3 — default path на кожному exclusive gateway +bad = [g.get("id") for g in gateways + if len(g.findall("{*}outgoing")) > 1 and not g.get("default")] +print(f"\n3. Exclusive gateway: {len(gateways)}, без default: {len(bad)}") +print(" " + ("ОК" if not bad else "ПОРУШЕНО: " + ", ".join(bad))) + +# 4 — перетини стрілок +pairs, items = 0, list(edges.items()) +for i, (na, pa) in enumerate(items): + for nb, pb in items[i + 1:]: + if any(crosses(s1, s2) for s1 in segments(pa) for s2 in segments(pb)): + pairs += 1 + print(f" перетин: {na} ↔ {nb}") +print(f"\n4. Перетинів стрілок: {pairs}") +print(" " + ("ОК" if pairs == 0 else "ПОРУШЕНО")) + +# 5 — оголошені типи привʼязані до задач +declared = set() +m = re.search(r'name="InnerTypes"[^>]*>(.*?)', raw, re.S) +if m: + try: + declared = {t["name"] for t in json.loads( + m.group(1).replace(""", '"').replace("&", "&") + .replace("<", "<").replace(">", ">"))} + except Exception: # noqa: BLE001 + declared = set(re.findall(r'"name":\s*"([A-Za-z_][A-Za-z0-9_]*)"', m.group(1))) +attached = {el.get("name") for el in root.iter() + if local(el.tag) == "dataObjectReference"} +# Задача, суміжна зі стартом чи кінцем, елемента даних не потребує: він уже +# стоїть на самій події. +flows = [(f.get("sourceRef"), f.get("targetRef")) for f in root.iter() + if local(f.tag) == "sequenceFlow"] +event_ids = {i for i, k in nodes.items() if k in ("startEvent", "endEvent")} +adjacent = {a for a, b in flows if b in event_ids} | {b for a, b in flows + if a in event_ids} + +unattached = [] +for t in tasks: + impl = t.find(".//{*}elementParameter[@name='ElementImplementation']") + body = impl.text if impl is not None else "" + used = {d for d in declared if d and re.search(rf"\b{re.escape(d)}\b", body or "")} + linked = bool(t.findall("{*}dataInputAssociation") + or t.findall("{*}dataOutputAssociation")) + if used and not linked and t.get("id") not in adjacent: + unattached.append(f"{t.get('id')} -> {', '.join(sorted(used))}") + +# один елемент даних — одна стрілка +targets = [a.findtext("{*}targetRef") or a.findtext("{*}sourceRef") + for a in root.iter() if local(a.tag) in + ("dataInputAssociation", "dataOutputAssociation")] +overloaded = {t for t in targets if t and targets.count(t) > 1} +print(f"\n5. Задач, що вживають оголошений тип без привʼязки: {len(unattached)}") +for u in unattached: + print(f" {u}") +print(" " + ("ОК" if not unattached else "ПОРУШЕНО")) +print(f" елементи даних на схемі: {', '.join(sorted(x for x in attached if x))}") +print(f" елементів даних із кількома стрілками: {len(overloaded)}" + + (" — " + ", ".join(sorted(overloaded)) if overloaded else "")) + +# Прапорець набору й дужки в імені мають казати те саме. +refs = {el.get("dataObjectRef"): (el.get("name") or "") + for el in root.iter() if local(el.tag) == "dataObjectReference"} +mismatch = [] +for el in root.iter(): + if local(el.tag) != "dataObject": + continue + flag = (el.get("isCollection") or "false").lower() == "true" + named = refs.get(el.get("id"), "").strip().endswith("[]") + if flag != named: + mismatch.append(f"{el.get('id')} ({refs.get(el.get('id'), '?')}): " + f"isCollection={flag}, імʼя з дужками={named}") +print(f"\n10. Незгода прапорця набору й імені: {len(mismatch)}") +for item in mismatch: + print(f" {item}") +print(" " + ("ОК" if not mismatch else "ПОРУШЕНО")) + +unnamed = [t.get("id") for t in tasks if not (t.get("name") or "").strip()] +print(f"\n8. Задач без імені: {len(unnamed)}" + + ("" if not unnamed else " — " + ", ".join(unnamed))) +print(" " + ("ОК" if not unnamed else "ПОРУШЕНО")) + +# Серед ЗАДАЧ рушій виконує лише task і serviceTask. scriptTask, +# businessRuleTask, userTask, manualTask, sendTask і receiveTask компілюються +# без жодного попередження і мовчки пропускаються: токен іде далі зі старим +# результатом. Доведено на стенді перебором усіх видів задач. +# +# callActivity — не задача, а виклик іншого Flow; він виконується (на ньому +# тримається 01-basics/first-flow). subProcess у цьому наборі не перевірявся, +# тож у список не вписаний і сюди не потрапляє. +RUNNABLE = ("task", "serviceTask", "callActivity") +dead = [f"{t.get('id')} ({local(t.tag)})" for t in tasks + if local(t.tag) not in RUNNABLE] +noisy = [i for i in nodes if i.startswith(("Activity_", "Gateway_1", "Event_0"))] +print(f"\n9. Задач, які рушій не виконає: {len(dead)}" + + ("" if not dead else " — " + ", ".join(dead))) +print(f" службових ідентифікаторів: {len(noisy)}" + + ("" if not noisy else " — " + ", ".join(sorted(noisy)[:6]))) +print(" " + ("ОК" if not dead and not noisy else "ПОРУШЕНО")) + +# 6 і 7 — коментарі +print(f"\n6. textAnnotation у моделі: {len(annotations)}") +print(" " + ("ОК" if annotations else "ПОРУШЕНО — рішення не прокоментовані")) +has_input_example = any("{" in (a.findtext("{*}text") or "") for a in annotations) +print(f"\n7. Приклад входу в коментарі: {'є' if has_input_example else 'немає'}") +print(" " + ("ОК" if has_input_example else "ПОРУШЕНО")) + +# 11 — межа процесу вже оголошує тип, а gateway його не змінює: другий такий +# самий аркуш поруч із задачею нічого не додає, лише змушує звіряти два. +from rule_redundant_dor import redundant_data_objects # noqa: E402 + +extra = redundant_data_objects(root) +print(f"\n11. Елементів даних, що повторюють тип межі: {len(extra)}") +for item in extra: + print(f" {item}") +print(" " + ("ОК" if not extra else "ПОРУШЕНО")) diff --git a/tools/checks/rule_redundant_dor.py b/tools/checks/rule_redundant_dor.py new file mode 100644 index 0000000..9d513c3 --- /dev/null +++ b/tools/checks/rule_redundant_dor.py @@ -0,0 +1,79 @@ +"""Правило 11: елемент даних не повторює тип, уже оголошений на межі. + +Кінцева і початкова події несуть свій DOR — з нього рушій виводить типізовану +межу процесу. Gateway тип не змінює. Тому DOR на задачі, від якої до межі +ведуть самі лише гейтвеї, дублює вже сказане і засмічує схему. +""" +import xml.etree.ElementTree as ET + +GATEWAYS = ("exclusiveGateway", "parallelGateway", "inclusiveGateway", + "eventBasedGateway", "complexGateway") +TASKS = ("task", "serviceTask", "scriptTask", "businessRuleTask", "userTask", + "manualTask", "sendTask", "receiveTask", "callActivity", "subProcess") + + +def local(tag): + return tag.split("}", 1)[-1] + + +def redundant_data_objects(root: ET.Element): + kind, dor_type = {}, {} + for el in root.iter(): + if el.get("id"): + kind[el.get("id")] = local(el.tag) + if local(el.tag) == "dataObjectReference": + dor_type[el.get("id")] = (el.get("name") or "").strip() + + out_flows, in_flows = {}, {} + for el in root.iter(): + if local(el.tag) == "sequenceFlow": + out_flows.setdefault(el.get("sourceRef"), []).append(el.get("targetRef")) + in_flows.setdefault(el.get("targetRef"), []).append(el.get("sourceRef")) + + boundary = {} + for el in root.iter(): + if local(el.tag) not in ("endEvent", "startEvent"): + continue + for child in el.iter(): + if local(child.tag) == "dataInputAssociation": + boundary[el.get("id")] = dor_type.get( + (child.findtext("{*}sourceRef") or "").strip(), "") + elif local(child.tag) == "dataOutputAssociation": + boundary[el.get("id")] = dor_type.get( + (child.findtext("{*}targetRef") or "").strip(), "") + + def reach(node, forward): + edges = out_flows if forward else in_flows + seen, stack, found = set(), list(edges.get(node, [])), [] + while stack: + nid = stack.pop() + if nid in seen: + continue + seen.add(nid) + if kind.get(nid) in GATEWAYS: + stack.extend(edges.get(nid, [])) + elif kind.get(nid) in ("endEvent", "startEvent"): + found.append(nid) + else: + return [] + return found + + hits = [] + for el in root.iter(): + if local(el.tag) not in TASKS: + continue + for child in list(el): + tag = local(child.tag) + if tag == "dataOutputAssociation": + ref = (child.findtext("{*}targetRef") or "").strip() + ends = reach(el.get("id"), True) + elif tag == "dataInputAssociation": + ref = (child.findtext("{*}sourceRef") or "").strip() + ends = reach(el.get("id"), False) + else: + continue + mine = dor_type.get(ref) + if ends and mine and all(boundary.get(e) == mine for e in ends): + hits.append(f"{ref} ({mine}) біля {el.get('id')}: те саме вже " + f"оголошено на {', '.join(ends)}") + return hits diff --git a/tools/layout/bind_type_reference.py b/tools/layout/bind_type_reference.py new file mode 100644 index 0000000..45d1f6f --- /dev/null +++ b/tools/layout/bind_type_reference.py @@ -0,0 +1,57 @@ +"""Звʼязує оголошений тип з елементом даних, який його несе. + +У панелі Types колонка Reference живиться полем dataObjectRefName. Без нього +тип і його аркуш на схемі лишаються двома окремими речами: читач бачить +DataObjectReference з написом TestResult і мусить сам здогадуватись, що це той +самий TestResult зі списку типів. + +Звʼязок ставиться тільки там, де він справді є: тип, для якого в моделі немає +елемента даних з таким іменем, лишається без посилання — вигадане посилання +гірше за порожнє. +""" +import html +import json +import pathlib +import re +import sys + +path = pathlib.Path(sys.argv[1]) +text = path.read_text(encoding="utf-8") + + +def esc(value): + return html.escape(json.dumps(value, ensure_ascii=False), quote=False) + + +names = {m.group(1) for m in re.finditer( + r'<(?:\w+:)?dataObjectReference\b[^>]*\bname="([^"]+)"', text)} + +m = re.search(r'(.*?)', + text, re.S) +if not m: + print("InnerTypes у моделі немає") + sys.exit(0) + +types = json.loads(html.unescape(m.group(1))) +bound, cleared = [], [] +for it in types: + if it.get("name") in names: + if it.get("dataObjectRefName") != it["name"]: + bound.append(it["name"]) + it["dataObjectRefName"] = it["name"] + elif "dataObjectRefName" in it: + # посилання на елемент даних, якого в моделі вже немає + cleared.append(f"{it['name']} -> {it.pop('dataObjectRefName')}") + +text = text.replace(m.group(0), '' + + esc(types) + "", 1) +path.write_bytes(text.encode("utf-8")) + +unbound = [it["name"] for it in types if "dataObjectRefName" not in it] +if bound: + print(" звʼязано:", ", ".join(bound)) +if cleared: + print(" знято мертві посилання:", ", ".join(cleared)) +if unbound: + print(" без елемента даних, тому без посилання:", ", ".join(unbound)) +print(f"{path.name}: типів {len(types)}, зі звʼязком {len(types) - len(unbound)}") diff --git a/tools/layout/drop_redundant_dor.py b/tools/layout/drop_redundant_dor.py new file mode 100644 index 0000000..92e1be4 --- /dev/null +++ b/tools/layout/drop_redundant_dor.py @@ -0,0 +1,125 @@ +"""Прибирає елемент даних, який лише повторює тип межі процесу. + +Кінцева і початкова події вже несуть свій DOR — саме з них рушій виводить +типізовану межу. Gateway типу не змінює, він лише розводить токен. Тому DOR, +почеплений на задачу перед кінцем (через самі лише гейтвеї), нічого не додає: +на схемі це другий такий самий аркуш поруч, який читач мусить порівнювати з +першим, щоб зрозуміти, що це одне й те саме. + +Те саме дзеркально на вході: задача одразу після старту не має переоголошувати +вхідний тип. + +Прибирається сам dataObjectReference, його dataObject, асоціація на задачі та +їхнє зображення — фігура, ребро й підпис. +""" +import pathlib +import re +import sys +import xml.etree.ElementTree as ET + + +def local(tag): + return tag.split("}", 1)[-1] + + +GATEWAYS = ("exclusiveGateway", "parallelGateway", "inclusiveGateway", + "eventBasedGateway", "complexGateway") +TASKS = ("task", "serviceTask", "scriptTask", "businessRuleTask", "userTask", + "manualTask", "sendTask", "receiveTask", "callActivity", "subProcess") + +path = pathlib.Path(sys.argv[1]) +text = path.read_text(encoding="utf-8") +root = ET.fromstring(text) + +kind, dor_type = {}, {} +for el in root.iter(): + name = local(el.tag) + if el.get("id"): + kind[el.get("id")] = name + if name == "dataObjectReference": + dor_type[el.get("id")] = (el.get("name") or "").strip() + +out_flows, in_flows = {}, {} +for el in root.iter(): + if local(el.tag) == "sequenceFlow": + out_flows.setdefault(el.get("sourceRef"), []).append(el.get("targetRef")) + in_flows.setdefault(el.get("targetRef"), []).append(el.get("sourceRef")) + +# який тип оголошено на межі +boundary_type = {} +for el in root.iter(): + if local(el.tag) not in ("endEvent", "startEvent"): + continue + for child in el.iter(): + tag = local(child.tag) + if tag == "dataInputAssociation": + src = (child.findtext("{*}sourceRef") or "").strip() + boundary_type[el.get("id")] = dor_type.get(src, "") + elif tag == "dataOutputAssociation": + dst = (child.findtext("{*}targetRef") or "").strip() + boundary_type[el.get("id")] = dor_type.get(dst, "") + + +def reachable_boundary(node, forward): + """Куди веде шлях, якщо дорогою трапляються самі лише гейтвеї.""" + edges = out_flows if forward else in_flows + seen, stack, found = set(), list(edges.get(node, [])), [] + while stack: + nid = stack.pop() + if nid in seen: + continue + seen.add(nid) + if kind.get(nid) in GATEWAYS: + stack.extend(edges.get(nid, [])) + elif kind.get(nid) in ("endEvent", "startEvent"): + found.append(nid) + else: + return [] # дорогою є ще робота — тип міг змінитися + return found + + +doomed = [] +for el in root.iter(): + if local(el.tag) not in TASKS: + continue + task = el.get("id") + for child in list(el): + tag = local(child.tag) + if tag == "dataOutputAssociation": + ref = (child.findtext("{*}targetRef") or "").strip() + ends = reachable_boundary(task, forward=True) + elif tag == "dataInputAssociation": + ref = (child.findtext("{*}sourceRef") or "").strip() + ends = reachable_boundary(task, forward=False) + else: + continue + if not ends: + continue + mine = dor_type.get(ref) + if mine and all(boundary_type.get(e) == mine for e in ends): + doomed.append((task, child.get("id"), ref, mine, ends)) + +removed = [] +for task, assoc, ref, typename, ends in doomed: + obj = None + m = re.search(rf']*dataObjectRef="([^"]+)"', text) + if m: + obj = m.group(1) + text = re.sub(rf'\s*.*?' + r"", lambda m: "", text, flags=re.S) + text = re.sub(rf'\s*]*/>', lambda m: "", text) + if obj: + text = re.sub(rf'\s*', lambda m: "", text) + text = re.sub(rf'\s*", lambda m: "", text, flags=re.S) + text = re.sub(rf'\s*]*/>', + lambda m: "", text) + text = re.sub(rf'\s*.*?' + r"", lambda m: "", text, flags=re.S) + removed.append(f"{ref} ({typename}) біля {task} → " + + ", ".join(ends)) + +path.write_bytes(text.encode("utf-8")) +for item in removed: + print(" прибрано:", item) +print(f"зайвих елементів даних прибрано: {len(removed)}") diff --git a/tools/layout/fit_notes.py b/tools/layout/fit_notes.py new file mode 100644 index 0000000..2d22054 --- /dev/null +++ b/tools/layout/fit_notes.py @@ -0,0 +1,92 @@ +"""Форматує текст коментарів і підганяє рамку під нього. + +Дві причини, чому попередній вигляд читався погано: + * приклад входу був злитий в один рядок, тож переглядач ламав йогоде попало; + * рамку я задавав наосліп, і власні переноси не збігалися з її шириною — + виходили обірвані рядки на кшталт «cap.» окремо. + +Тепер розмір рахується з тексту: ширина за найдовшим рядком, висота за їх +кількістю. Що написано — те й видно. +""" +import html +import json +import pathlib +import re +import sys + +CHAR_W = 6.3 # приблизна ширина символу шрифту коментаря +LINE_H = 14 +PAD_X, PAD_Y = 22, 18 +WRAP = 58 # на скільки символів переносити прозу + +path = pathlib.Path(sys.argv[1]) +text = path.read_text(encoding="utf-8") + +# Приклад входу, який лягає в коментар біля старту. Адреса й облікові дані — +# заповнювачі: у прикладі має бути видно форму запиту, а не чийсь стенд. +EXAMPLE = { + "URL": "http://localhost:9010", + "login": "api_user", + "password": "***", + "alias": "bss", + "pluginname": "BSS.Entities", + "message": "OK", + "inputMessage": ["stop"], +} + +PROSE = { + "An_Read": "The wait ends on the stop word, a deadline or a line cap. " + "Without the last two the read blocks forever when the stop " + "word never arrives.", + "An_Raise": "Raise is what this test exercises. It is guarded because the " + "engine throws inside it in the current build; the verdict " + "reports whether it worked.", + "An_Verdict": "success = the posted message came back through the SSE " + "channel. Everything else is failed, with a reason.", +} + + +def wrap(body, width=WRAP): + lines, cur = [], "" + for word in body.split(): + if cur and len(cur) + 1 + len(word) > width: + lines.append(cur) + cur = word + else: + cur = f"{cur} {word}".strip() + if cur: + lines.append(cur) + return lines + + +bodies = {"An_Input": ["Example input:"] + + json.dumps(EXAMPLE, indent=2, ensure_ascii=False).splitlines()} +for aid, body in PROSE.items(): + bodies[aid] = wrap(body) + +changed = 0 +for aid, lines in bodies.items(): + body = "\n".join(lines) + escaped = html.escape(body, quote=False) + new_text, n = re.subn( + rf'(\s*).*?()', + lambda m, b=escaped: m.group(1) + b + m.group(2), + text, flags=re.S) + if not n: + continue + text = new_text + width = max(len(line) for line in lines) * CHAR_W + PAD_X + height = len(lines) * LINE_H + PAD_Y + text = re.sub( + rf'(\s* 1 + else pathlib.Path(__file__).with_name("sse-test11-semantic.bpmn")) +text = path.read_text(encoding="utf-8") + + +def esc(value): + return html.escape(json.dumps(value, ensure_ascii=False), quote=False) + + +def bind(expr): + if not isinstance(expr, str): + return expr + if expr.startswith(("#", "{")): + return expr + if re.match(r"^(Input|Parameters|Global)\b", expr): + return "#" + expr + return expr + + +fixed = [] + + +def patch(match): + impl = json.loads(html.unescape(match.group(2))) + if impl.get("actionType") == "Action" and isinstance(impl.get("actionParam"), dict): + before = dict(impl["actionParam"]) + impl["actionParam"] = {k: bind(v) for k, v in before.items()} + changed = {k: (before[k], impl["actionParam"][k]) + for k in before if before[k] != impl["actionParam"][k]} + if changed: + fixed.append((match.group(1), changed)) + return f'{match.group(1)}{esc(impl)}{match.group(3)}' + + +text = re.sub( + r'()(.*?)()', + patch, text, flags=re.S) + +path.write_bytes(text.encode("utf-8")) +for _, changed in fixed: + for key, (was, now) in changed.items(): + print(f" {key}: {was} -> {now}") +print(f"вузлів виправлено: {len(fixed)}") diff --git a/tools/layout/place_data_labels.py b/tools/layout/place_data_labels.py new file mode 100644 index 0000000..ae48c20 --- /dev/null +++ b/tools/layout/place_data_labels.py @@ -0,0 +1,95 @@ +"""Ставить підпис елемента даних під його власною фігурою. + +Підпис Data Object чи Data Store, що відʼїхав від своєї іконки, читається як +підпис сусіднього вузла — на скріншоті TestResult опинився під кінцевою подією. +За стандартом він центрується під самою фігурою, і жоден інший прохід не має +права його звідти забирати. +""" +import pathlib +import re +import sys +import xml.etree.ElementTree as ET + +CHAR_W = 6.0 +LINE_H = 14 +GAP = 6 +KINDS = ("dataObjectReference", "dataStoreReference", "dataInput", "dataOutput") + + +def local(tag): + return tag.split("}", 1)[-1] + + +def overlap(a, b): + ax, ay, aw, ah = a + bx, by, bw, bh = b + return not (ax + aw <= bx or bx + bw <= ax or ay + ah <= by or by + bh <= ay) + + +path = pathlib.Path(sys.argv[1]) +text = path.read_text(encoding="utf-8") +root = ET.fromstring(text) + +names, shapes = {}, {} +for el in root.iter(): + if local(el.tag) in KINDS and el.get("id"): + names[el.get("id")] = (el.get("name") or "").strip() + elif local(el.tag) == "BPMNShape": + b = el[0] + shapes[el.get("bpmnElement")] = ( + float(b.get("x")), float(b.get("y")), + float(b.get("width")), float(b.get("height"))) + +occupied = [b for k, b in shapes.items() if k not in names] + +# Лінії теж зайняті: підпис, що ліг на власну асоціацію, читається як розрив. +segments = [] +for el in root.iter(): + if local(el.tag) != "BPMNEdge": + continue + pts = [(float(w.get("x")), float(w.get("y"))) for w in el + if local(w.tag) == "waypoint"] + segments.extend(zip(pts, pts[1:])) + + +def hits(p1, p2, box): + x, y, w, h = box + for i in range(41): + t = i / 40 + px, py = p1[0] + (p2[0] - p1[0]) * t, p1[1] + (p2[1] - p1[1]) * t + if x <= px <= x + w and y <= py <= y + h: + return True + return False + +fixed = 0 +for eid, name in names.items(): + if eid not in shapes or not name: + continue + x, y, w, h = shapes[eid] + lw = max(len(name) * CHAR_W + 10, w) + lh = LINE_H + 4 + lx = x + w / 2 - lw / 2 + ly = y + h + GAP + # якщо просто під фігурою вже щось стоїть — опускаємось, але не вбік: + # горизонтальний зсув перетворив би підпис на чужий. + for _ in range(8): + box = (lx, ly, lw, lh) + clear = (not any(overlap(box, b) for b in occupied) + and not any(hits(p1, p2, box) for p1, p2 in segments)) + if clear: + break + ly += lh + 4 + + label = (f'\n \n' + f' \n' + f' ') + text, n = re.subn( + rf'(]*>\s*' + r')(?:\s*.*?)?', + lambda m, s=label: m.group(1) + s, + text, count=1, flags=re.S) + fixed += bool(n) + +path.write_bytes(text.encode("utf-8")) +print(f"підписів елементів даних поставлено під власну фігуру: {fixed}") diff --git a/tools/layout/place_labels.py b/tools/layout/place_labels.py new file mode 100644 index 0000000..b301346 --- /dev/null +++ b/tools/layout/place_labels.py @@ -0,0 +1,198 @@ +"""Ставить підписи шлюзів і умов туди, де крізь них не проходить лінія. + +Типово переглядач кладе назву шлюза просто під ним — рівно там, де в більшості +схем виходить вниз одна з гілок. Текст опиняється на лінії. Те саме з підписом +умови, якщо його поставити на тій самій стороні. + +Кожен підпис шукає собі місце сам: перебираються чверті навколо вузла, і +береться перша, де рамка не перетинає ані фігуру, ані відрізок будь-якої +стрілки, ані вже поставлений підпис. +""" +import html +import pathlib +import re +import sys +import xml.etree.ElementTree as ET + +CHAR_W = 6.3 +LINE_H = 14 +GAP = 12 + + +def local(tag): + return tag.split("}", 1)[-1] + + +def overlap(a, b): + ax, ay, aw, ah = a + bx, by, bw, bh = b + return not (ax + aw <= bx or bx + bw <= ax or ay + ah <= by or by + bh <= ay) + + +def hits(p1, p2, box): + x, y, w, h = box + for i in range(41): + t = i / 40 + px, py = p1[0] + (p2[0] - p1[0]) * t, p1[1] + (p2[1] - p1[1]) * t + if x <= px <= x + w and y <= py <= y + h: + return True + return False + + +def size(label, width_chars=22): + words, lines, cur = label.split(), [], "" + for word in words: + if cur and len(cur) + 1 + len(word) > width_chars: + lines.append(cur) + cur = word + else: + cur = f"{cur} {word}".strip() + if cur: + lines.append(cur) + return (max(len(x) for x in lines) * CHAR_W + 8, len(lines) * LINE_H + 6) + + +path = pathlib.Path(sys.argv[1]) +text = path.read_text(encoding="utf-8") +root = ET.fromstring(text) + +shapes, edges = {}, {} +for el in root.iter(): + if local(el.tag) == "BPMNShape": + b = el[0] + shapes[el.get("bpmnElement")] = ( + float(b.get("x")), float(b.get("y")), + float(b.get("width")), float(b.get("height"))) + elif local(el.tag) == "BPMNEdge": + edges[el.get("bpmnElement")] = [ + (float(w.get("x")), float(w.get("y"))) for w in el + if local(w.tag) == "waypoint"] + +taken = [] + + +def free_spot(anchor, box_size, prefer=None): + ax, ay, aw, ah = anchor + lw, lh = box_size + order = prefer or [] + order += [(aw + GAP, 4), (aw + GAP, -lh - GAP), (-lw - GAP, 4), + (-lw - GAP, -lh - GAP), (aw / 2 - lw / 2, -lh - GAP), + (aw / 2 - lw / 2, ah + GAP), (aw + GAP, ah + GAP), + (-lw - GAP, ah + GAP)] + for dx, dy in order: + box = (ax + dx, ay + dy, lw, lh) + if any(overlap(box, b) for b in shapes.values()): + continue + if any(hits(p1, p2, box) for pts in edges.values() + for p1, p2 in zip(pts, pts[1:])): + continue + if any(overlap(box, t) for t in taken): + continue + taken.append(box) + return box + return None + + +# --- 1. назви шлюзів ------------------------------------------------------ +gateways = [(el.get("id"), el.get("name")) for el in root.iter() + if local(el.tag).endswith("Gateway") and (el.get("name") or "").strip()] +placed_g = 0 +for gid, name in gateways: + if gid not in shapes: + continue + box = free_spot(shapes[gid], size(name)) + if not box: + continue + label = (f'\n \n' + f' \n' + f' ') + text, n = re.subn( + rf'(]*>\s*' + r')(\s*)(?:.*?\s*)?', + lambda m, s=label: m.group(1) + s + "\n ", + text, count=1, flags=re.S) + placed_g += bool(n) + +# --- 2. підписи умов ------------------------------------------------------ +conditional = [f.get("id") for f in root.iter() + if local(f.tag) == "sequenceFlow" + and f.find("{*}conditionExpression") is not None + and (f.get("name") or "").strip()] +names = {f.get("id"): f.get("name") for f in root.iter() + if local(f.tag) == "sequenceFlow"} +placed_c = 0 +for fid in conditional: + pts = edges.get(fid) + if not pts or len(pts) < 2: + continue + lw, lh = size(names[fid], 14) + (x1, y1), (x2, y2) = pts[0], pts[1] + # рухаємось уздовж гілки і пробуємо обидві сторони від лінії + box = None + for along in (40, 70, 100, 130): + if abs(x2 - x1) < abs(y2 - y1): + base_y = y1 + (along if y2 > y1 else -along) + options = [(x1 + GAP, base_y), (x1 - lw - GAP, base_y)] + else: + base_x = x1 + (along if x2 > x1 else -along) + options = [(base_x, y1 - lh - GAP), (base_x, y1 + GAP)] + for ox, oy in options: + candidate = (ox, oy, lw, lh) + if any(overlap(candidate, b) for b in shapes.values()): + continue + if any(hits(p1, p2, candidate) for pts2 in edges.values() + for p1, p2 in zip(pts2, pts2[1:])): + continue + if any(overlap(candidate, t) for t in taken): + continue + box = candidate + break + if box: + break + if not box: + continue + taken.append(box) + text = re.sub( + rf'(.*?)' + r'(?:\s*.*?)?(\s*)', + lambda m, b=box: m.group(1) + + f'\n \n' + f' \n ' + + m.group(2), + text, count=1, flags=re.S) + placed_c += 1 + +# --- 3. будь-який інший підпис, що ще лежить на лінії --------------------- +placed_o = 0 +for el in ET.fromstring(text).iter(): + if local(el.tag) != "BPMNShape": + continue + lab = el.find("{*}BPMNLabel/{*}Bounds") + node = el.get("bpmnElement") + if lab is None or node not in shapes: + continue + box = (float(lab.get("x")), float(lab.get("y")), + float(lab.get("width")), float(lab.get("height"))) + clash = (any(hits(p1, p2, box) for pts in edges.values() + for p1, p2 in zip(pts, pts[1:])) + or any(overlap(box, b) for k, b in shapes.items() if k != node)) + if not clash: + taken.append(box) + continue + spot = free_spot(shapes[node], (box[2], box[3])) + if not spot: + continue + text = re.sub( + rf'(]*>\s*' + r'\s*\s*.*?', + "", text, flags=re.S) + shapes.pop(name) + removed.append(name) + +# --- 2. коментар шукає місце, де нікому не заважає ------------------------ +def candidates(node_box, note_box): + nx, ny, nw, nh = node_box + aw, ah = note_box[2], note_box[3] + cx = nx + nw / 2 - aw / 2 + cy = ny + nh / 2 - ah / 2 + for k in range(6): + d = GAP + k * STEP + yield (cx, ny - ah - d) # згори + yield (cx, ny + nh + d) # знизу + yield (nx - aw - d, cy) # ліворуч + yield (nx + nw + d, cy) # праворуч + + +moved = 0 +for aid, (src, dst) in links.items(): + note = dst if dst in annotations else src + node = src if note == dst else dst + if note not in shapes or node not in shapes: + continue + others = {k: v for k, v in shapes.items() if k != note} + for x, y in candidates(shapes[node], shapes[note]): + box = (x, y, shapes[note][2], shapes[note][3]) + if any(overlap(box, b) for b in others.values()): + continue + if any(segment_hits_box(p1, p2, box) + for name, pts in edges.items() if name != aid + for p1, p2 in zip(pts, pts[1:])): + continue + shapes[note] = box + text = re.sub( + rf'(\s* int: + return COL_FIRST + index * COL_STEP + + +def local(tag): + return tag.split("}", 1)[-1] + + +class Plane: + """Одна площина діаграми: процес або згорнутий Sub Process.""" + + def __init__(self, element, element_id): + self.element = element + self.id = element_id + self.nodes = {} + self.order = [] + self.flows = [] + for child in element: + name = local(child.tag) + if name in NODE_TAGS: + nid = child.get("id") + self.nodes[nid] = (name, child) + self.order.append(nid) + elif name == "sequenceFlow": + self.flows.append((child.get("id"), child.get("sourceRef"), + child.get("targetRef"))) + self.pos = {} + + def layout(self): + outgoing = {} + for _, src, dst in self.flows: + outgoing.setdefault(src, []).append(dst) + boundary_hosts = { + nid: node.get("attachedToRef") + for nid, (name, node) in self.nodes.items() if name == "boundaryEvent" + } + + # головний ланцюг: від старту, не заходячи в гілки граничних подій + starts = [nid for nid, (name, _) in self.nodes.items() + if name == "startEvent"] + placed = set() + main = [] + cursor = starts[0] if starts else None + while cursor and cursor not in placed: + main.append(cursor) + placed.add(cursor) + nxt = [d for d in outgoing.get(cursor, []) if d not in placed] + cursor = nxt[0] if nxt else None + + row = 0 + for nid in main: + self._place(nid, column_x(0), TOP + row * ROW_STEP) + row += 1 + + # гранична подія сидить на межі своєї задачі, а не в колонці + for nid, host in boundary_hosts.items(): + hx, hy, hw, hh = self.pos.get(host, (column_x(0), TOP, 100, 80)) + self._place(nid, hx + hw, hy + hh - 18) + placed.add(nid) + + # Кожне відгалуження — власна колонка, що починається на рівні свого + # джерела: і паралельна гілка від шлюзу, і гілка від граничної події. + column = 1 + progress = True + while progress: + progress = False + for source in list(self.pos): + for target in outgoing.get(source, []): + if target in placed: + continue + x = column_x(column) + y = self.pos[source][1] + ROW_STEP + cursor = target + while cursor and cursor not in placed: + placed.add(cursor) + self._place(cursor, x, y) + y += ROW_STEP + nxt = [d for d in outgoing.get(cursor, []) + if d not in placed] + cursor = nxt[0] if nxt else None + column += 1 + progress = True + + # усе, що лишилось поза ланцюгами + leftover_y = TOP + max(row, 1) * ROW_STEP + for nid, (name, _) in self.nodes.items(): + if nid in self.pos: + continue + if name in ("dataObjectReference", "dataStoreReference"): + continue + self._place(nid, column_x(column), leftover_y) + leftover_y += ROW_STEP + + # елементи даних — ліворуч, навпроти краю процесу + data_ids = [nid for nid, (name, _) in self.nodes.items() + if name in ("dataObjectReference", "dataStoreReference")] + for index, nid in enumerate(data_ids): + self._place(nid, DATA_X, TOP + index * 110) + + def _place(self, nid, cx, cy, centred=True): + name, _ = self.nodes[nid] + w, h = NODE_TAGS[name] + if centred: + self.pos[nid] = (cx - w // 2, cy, w, h) + else: + self.pos[nid] = (cx - w // 2, cy, w, h) + + def render(self): + lines = [f' ', + f' '] + for nid in self.order: + if nid not in self.pos: + continue + x, y, w, h = self.pos[nid] + name, _ = self.nodes[nid] + extra = ' isExpanded="false"' if name == "subProcess" else "" + lines += [ + f' ', + f' ', + " ", + ] + for fid, src, dst in self.flows: + if src not in self.pos or dst not in self.pos: + continue + sx, sy, sw, sh = self.pos[src] + tx, ty, tw, th = self.pos[dst] + start = (sx + sw // 2, sy + sh) + end = (tx + tw // 2, ty) + lines.append(f' ') + if start[0] == end[0]: + points = [start, end] + else: + mid = start[1] + 30 + points = [start, (start[0], mid), (end[0], mid), end] + for px, py in points: + lines.append(f' ') + lines.append(" ") + lines += [" ", " "] + return "\n".join(lines) + + +def relayout(path: pathlib.Path) -> str: + raw = path.read_text(encoding="utf-8") + ET.register_namespace("", BPMN) + root = ET.fromstring(raw) + + planes = [] + for process in root.iter(): + if local(process.tag) == "process": + planes.append(Plane(process, process.get("id"))) + elif local(process.tag) == "subProcess": + planes.append(Plane(process, process.get("id"))) + for plane in planes: + plane.layout() + + diagrams = "\n".join(plane.render() for plane in planes) + without = re.sub(r" \n", "", + raw, flags=re.S) + return without.replace("", diagrams + "\n") + + +if __name__ == "__main__": + targets = [pathlib.Path(a) for a in sys.argv[1:]] + for target in targets: + target.write_bytes(relayout(target).encode("utf-8")) + print(f" переверстано: {target.name}") diff --git a/tools/layout/snap_associations.py b/tools/layout/snap_associations.py new file mode 100644 index 0000000..f2519ea --- /dev/null +++ b/tools/layout/snap_associations.py @@ -0,0 +1,102 @@ +"""Прив'язує лінії асоціацій до середини найближчої сторони елемента. + +Лінія, що впирається в кут або в довільну точку всередині фігури, читається +як недбалість. Обидва кінці асоціації сідають на середину тієї сторони, яка +ближча до співрозмовника. +""" +import pathlib +import re +import sys +import xml.etree.ElementTree as ET + + +def local(tag): + return tag.split("}", 1)[-1] + + +def sides(box): + x, y, w, h = box + return { + "top": (x + w / 2, y), + "bottom": (x + w / 2, y + h), + "left": (x, y + h / 2), + "right": (x + w, y + h / 2), + } + + +def nearest(box, toward, skip=()): + """Найближча середина сторони. Низ елемента даних не беремо: там підпис.""" + options = {k: v for k, v in sides(box).items() if k not in skip} + return min(options.values(), + key=lambda p: (p[0] - toward[0]) ** 2 + (p[1] - toward[1]) ** 2) + + +def centre(box): + x, y, w, h = box + return (x + w / 2, y + h / 2) + + +path = pathlib.Path(sys.argv[1]) +text = path.read_text(encoding="utf-8") +root = ET.fromstring(text) + +bounds = {} +for el in root.iter(): + if local(el.tag) == "BPMNShape": + b = el[0] + bounds[el.get("bpmnElement")] = ( + float(b.get("x")), float(b.get("y")), + float(b.get("width")), float(b.get("height"))) + +# У асоціації даних один кінець не оголошується: ним є сам вузол-власник. +# Без цього ребро не перераховується й лишається висіти в порожнечі. +owner_of = {} +for node in root.iter(): + for child in list(node): + if local(child.tag) in ("dataInputAssociation", "dataOutputAssociation"): + owner_of[child.get("id")] = node.get("id") + +links = {} +for el in root.iter(): + kind = local(el.tag) + if kind not in ("association", "dataInputAssociation", + "dataOutputAssociation"): + continue + eid = el.get("id") + src = el.get("sourceRef") or el.findtext("{*}sourceRef") + dst = el.get("targetRef") or el.findtext("{*}targetRef") + if kind == "dataInputAssociation": + dst = owner_of.get(eid) # ціль — вузол, що споживає дані + elif kind == "dataOutputAssociation": + src = owner_of.get(eid) # джерело — вузол, що дані віддає + if src and dst: + links[eid] = (src.strip(), dst.strip()) + +# Розташування коментарів веде place_notes.py; тут лише кінці ліній. +placed = 0 + +fixed = 0 +for eid, (src, dst) in links.items(): + if src not in bounds or dst not in bounds: + continue + a, b = bounds[src], bounds[dst] + data_kinds = ("dataObjectReference", "dataStoreReference", + "dataInput", "dataOutput") + kind_of = lambda n: next((local(e.tag) for e in root.iter() + if e.get("id") == n), "") + skip_a = ("bottom",) if kind_of(src) in data_kinds else () + skip_b = ("bottom",) if kind_of(dst) in data_kinds else () + start = nearest(a, centre(b), skip_a) + end = nearest(b, centre(a), skip_b) + body = (f'\n ' + f'\n ') + new_text, count = re.subn( + rf'().*?()', + lambda m, s=body: m.group(1) + s + "\n " + m.group(2), + text, flags=re.S) + if count: + text = new_text + fixed += 1 + +path.write_bytes(text.encode("utf-8")) +print(f"коментарів вирівняно: {placed}; асоціацій прив'язано: {fixed}") diff --git a/tools/layout/straighten.py b/tools/layout/straighten.py new file mode 100644 index 0000000..bf3ec16 --- /dev/null +++ b/tools/layout/straighten.py @@ -0,0 +1,142 @@ +"""Випрямляє стрілки й ставить підписи умов біля свого шлюзу. + +Дві речі, які найдужче псують читання: + * діагональний відрізок там, де мало бути коліно з двох прямих; + * підпис умови, що відʼїхав від шлюзу на середину схеми — читач не бачить, + до якої гілки він належить. +""" +import pathlib +import re +import sys +import xml.etree.ElementTree as ET + + +def local(tag): + return tag.split("}", 1)[-1] + + +path = pathlib.Path(sys.argv[1]) +text = path.read_text(encoding="utf-8") +root = ET.fromstring(text) + +bounds = {} +for el in root.iter(): + if local(el.tag) == "BPMNShape": + b = el[0] + bounds[el.get("bpmnElement")] = ( + float(b.get("x")), float(b.get("y")), + float(b.get("width")), float(b.get("height"))) + +flows = {f.get("id"): (f.get("sourceRef"), f.get("targetRef")) + for f in root.iter() if local(f.tag) == "sequenceFlow"} +conditional = {f.get("id") for f in root.iter() + if local(f.tag) == "sequenceFlow" + and f.find("{*}conditionExpression") is not None} + +def label_spot(fid): + """Точка для підпису умови: уздовж самої гілки, а не під шлюзом. + + Простір просто під шлюзом зайнятий його власною назвою, тому підпис + відсувається на 45 пікселів уздовж першого відрізка гілки й на 8 убік. + """ + m = re.search( + rf'(.*?)', + text, re.S) + if not m: + return None + pts = [(float(x), float(y)) for x, y in + re.findall(r'x="([-\d.]+)" y="([-\d.]+)"', m.group(1))] + if len(pts) < 2: + return None + (x1, y1), (x2, y2) = pts[0], pts[1] + if abs(x2 - x1) < abs(y2 - y1): # гілка йде вниз або вгору + step = 45 if y2 > y1 else -45 + return (x1 + 8, y1 + step) + step = 45 if x2 > x1 else -45 # гілка йде вбік + return (x1 + step, y1 - 22) + + +# --- підпис умови сідає на свою гілку, поруч зі шлюзом --------------------- +moved = 0 +for fid in conditional: + if flows[fid][0] not in bounds: + continue + spot = label_spot(fid) + if not spot: + continue + m = re.search( + rf'(.*?\s*]*\sname="', text): + continue + node = re.search(rf']*>(.*?)', + text, re.S) + expr = re.search(r"]*>(.*?)", + node.group(1), re.S) + label = (expr.group(1).strip() if expr else "condition") + label = label.replace("#Previous.StatusCode != 200", "not 200") + text = re.sub(rf'(.*?)(\s*)', + lambda m, s=spot: m.group(1) + + f'\n \n' + f' \n ' + + m.group(2), + text, flags=re.S) + added += 1 + +# --- прямі коліна замість діагоналей -------------------------------------- +ROUTES = { + # гілка відмови входить у кінцеву подію знизу, двома прямими + "Flow_13s4qsf": [(1670, 400), (1740, 400), (1740, 58)], + # елемент даних стоїть рівно над своєю задачею + "Doa_Response": [(920, 110), (920, 70)], +} +for eid, points in ROUTES.items(): + body = "".join(f'\n ' for x, y in points) + text = re.sub( + rf'().*?(\s*)', + lambda m, b=body: m.group(1) + b + "\n ", + text, flags=re.S) + +# Елемент даних стоїть збоку-вгорі від своєї задачі, а не строго над нею: +# інакше асоціація йде вертикально і перетинає підпис, що лежить під фігурою. +text = text.replace('', + '') + +path.write_bytes(text.encode("utf-8")) + +# --- звіт: скільки відрізків лишилося косими ------------------------------ +root = ET.fromstring(text) +skew = [] +for el in root.iter(): + if local(el.tag) != "BPMNEdge": + continue + pts = [(float(w.get("x")), float(w.get("y"))) for w in el + if local(w.tag) == "waypoint"] + name = el.get("bpmnElement") + if name and name.startswith("As_"): + continue # асоціація коментаря — пряма лінія до тексту, це норма + for (x1, y1), (x2, y2) in zip(pts, pts[1:]): + if abs(x1 - x2) > 0.5 and abs(y1 - y2) > 0.5: + skew.append(name) + break + +print(f"підписів умов присунуто до шлюза: {moved}, дописано: {added}") +print(f"косих відрізків у потоках: {len(skew)}" + + ("" if not skew else " — " + ", ".join(sorted(set(skew))))) diff --git a/tools/platform/fetch_generated.py b/tools/platform/fetch_generated.py new file mode 100644 index 0000000..d639d15 --- /dev/null +++ b/tools/platform/fetch_generated.py @@ -0,0 +1,105 @@ +"""Забирає зі стенда C#, у який платформа перетворила модель. + +Навіщо. Помилку рушія не можна читати по назвах елементів у діаграмі — між +`` у BPMN і рядком, який упав, стоїть генератор коду. Поки не видно +згенерованого тексту, будь-яке пояснення збою лишається здогадкою. Цей крок +робить його фактом: видно, у які виклики перетворився вузол, під яким ключем +зареєстровано граничну подію, які аргументи справді передані в Code Action. + +Приклад, заради якого це з'явилось. Виклик +`Action.BoundaryEvents["Ev_Probe"].Raise(...)` падав з NullReferenceException. +За назвами здавалося, що винна модель. У згенерованому коді видно, що вузол +реєструє подію через `WithBoundaryMessageEvent`, а гілку конвеєра рушій бере +з окремого місця — і питання одразу перемістилося з діаграми в платформу. + +Маршрут: + GET {stand}/api/v0/bpmn/flowdefinitions/{id}/{version}/Folder/{resource} + resource = cs згенерований C# + resource = source вихідний BPMN, як його зберегла платформа + +Автентифікація береться з середовища, у репозиторії її немає: + MEFDEV_BASIC=<логін>:<пароль> або + MEFDEV_APIKEY=<токен> + +Приклади: + python fetch_generated.py --stand http://localhost:5000 2113 1 + python fetch_generated.py --stand http://localhost:5000 2113 1 --resource source + python fetch_generated.py --stand http://localhost:5000 2113 1 --grep Boundary +""" +import argparse +import base64 +import os +import pathlib +import sys +import urllib.error +import urllib.request + + +def auth_header(): + basic = os.environ.get("MEFDEV_BASIC") + if basic: + if ":" not in basic: + raise SystemExit("MEFDEV_BASIC очікує формат <логін>:<пароль>") + return ("Authorization", + "Basic " + base64.b64encode(basic.encode("utf-8")).decode("ascii")) + apikey = os.environ.get("MEFDEV_APIKEY") + if apikey: + return ("apikey", apikey) + raise SystemExit("немає доступу: задайте MEFDEV_BASIC або MEFDEV_APIKEY") + + +def fetch(stand, workflow_id, version, resource="cs", timeout=120): + url = (f"{stand.rstrip('/')}/api/v0/bpmn/flowdefinitions" + f"/{workflow_id}/{version}/Folder/{resource}") + name, value = auth_header() + request = urllib.request.Request(url, headers={name: value, + "Accept": "text/plain, */*"}) + try: + with urllib.request.urlopen(request, timeout=timeout) as response: + return response.status, response.read().decode("utf-8", "replace") + except urllib.error.HTTPError as error: + return error.code, error.read().decode("utf-8", "replace") + + +def main(): + parser = argparse.ArgumentParser(description=__doc__.splitlines()[0]) + parser.add_argument("workflow_id", type=int) + parser.add_argument("version", type=int) + parser.add_argument("--stand", required=True, + help="базова адреса стенда, напр. http://localhost:5000") + parser.add_argument("--resource", default="cs", choices=("cs", "source")) + parser.add_argument("--out", help="куди зберегти; типово поруч із цим файлом") + parser.add_argument("--grep", action="append", default=[], + help="показати рядки з цим словом і три навколо; " + "можна вказати кілька разів") + args = parser.parse_args() + + status, text = fetch(args.stand, args.workflow_id, args.version, args.resource) + if status != 200: + print(f"HTTP {status}: {text[:400]}") + return 1 + + out = pathlib.Path(args.out) if args.out else pathlib.Path( + f"generated-{args.workflow_id}-{args.version}.{args.resource}") + out.write_bytes(text.encode("utf-8")) + lines = text.splitlines() + print(f"HTTP {status} {len(lines)} рядків -> {out}") + + if not args.grep: + return 0 + shown = set() + for index, line in enumerate(lines): + if not any(word in line for word in args.grep): + continue + for near in range(max(0, index - 3), min(len(lines), index + 4)): + if near not in shown: + shown.add(near) + print(f"{near + 1:5}: {lines[near]}") + print(" ...") + if not shown: + print("нічого не знайдено за: " + ", ".join(args.grep)) + return 0 + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/tools/verify.py b/tools/verify.py new file mode 100644 index 0000000..142d5a4 --- /dev/null +++ b/tools/verify.py @@ -0,0 +1,106 @@ +"""Run every readability and example check over the models in this repository. + +This is the one command worth wiring into CI: + + python tools/verify.py # all examples + python tools/verify.py path/to/model.bpmn # just these + +Each check lives in tools/checks and can be run on its own; this only collects +them, reads their summary lines, and returns a non-zero exit code when anything +is violated. The checks print their own detail, so a failing run tells you which +node or which edge, not just a count. + +What is checked, and why each rule exists: + + layout shapes do not overlap, arrows do not cross, every edge actually + reaches the shape it connects (a line ending in empty space reads + as a broken model, and reviewers stop trusting the diagram) + labels no label sits on top of a line or another label, and a data + object's caption stays under its own shape (a caption that drifts + is read as belonging to the neighbour) + graph the diagram and the process agree: every flow has an edge, every + node has a shape + rules eleven readability rules, among them: one end event per outcome, + every exclusive gateway has a default path, every declared type + used by a task is bound to it, no task without a name, no element + the engine cannot execute, and no data object that merely repeats + a type already declared on the process boundary + examples five rules about the request/response examples: every end event + carries one, request and response examples are paired by name, no + duplicated request examples, documentation links back to source, + documentation is in English + inline no code insert larger than the inline editor window; long bodies + belong in a Code Action + +The engine will not tell you when any of this is wrong. It compiles a model with +overlapping shapes and unreachable branches just as happily as a clean one. +""" +import pathlib +import re +import subprocess +import sys + +HERE = pathlib.Path(__file__).resolve().parent +CHECKS = HERE / "checks" +EXAMPLES = HERE.parent / "flow-patterns" + +# Each check reports its outcome in one of two shapes: a counted summary line, +# or an explicit verdict word per rule. Both are matched here so that adding a +# rule to a check does not need a change in this file. +COUNTED = [ + re.compile(r"обірваних кінців:\s*(\d+)"), + re.compile(r"розбіжностей у графі:\s*(\d+)"), + re.compile(r"із накладанням:\s*(\d+)"), + re.compile(r"підписів елементів даних не на місці:\s*(\d+)"), + re.compile(r"вставок, що переросли вікно:\s*(\d+)"), + re.compile(r"справжніх накладань:\s*(\d+)"), +] +VERDICT = re.compile(r"^\s*ПОРУШЕНО", re.M) + +PER_MODEL = ["check_rules.py", "check_examples.py", "check_graph.py", + "check_labels.py"] +OVER_ALL = ["check_edges.py", "check_inline.py", "check_layout.py"] + + +def run(script, paths): + proc = subprocess.run( + [sys.executable, str(CHECKS / script), *[str(p) for p in paths]], + capture_output=True, text=True, encoding="utf-8", cwd=str(CHECKS)) + output = (proc.stdout or "") + (proc.stderr or "") + failures = len(VERDICT.findall(output)) + for pattern in COUNTED: + failures += sum(int(n) for n in pattern.findall(output)) + return failures, output + + +def main(): + models = ([pathlib.Path(a).resolve() for a in sys.argv[1:]] + or sorted(EXAMPLES.rglob("*.bpmn"))) + if not models: + print("no models found") + return 1 + + total = 0 + report = [] + for model in models: + for script in PER_MODEL: + failures, output = run(script, [model]) + total += failures + if failures: + report.append((model.name, script, output)) + for script in OVER_ALL: + failures, output = run(script, models) + total += failures + if failures: + report.append(("all models", script, output)) + + for name, script, output in report: + print(f"\n===== {name} :: {script} =====") + print(output.rstrip()) + + print(f"\nmodels checked: {len(models)} violations: {total}") + return 1 if total else 0 + + +if __name__ == "__main__": + sys.exit(main()) From 7e736565a904ba7b8bdaf49565871d02b95e6f0f Mon Sep 17 00:00:00 2001 From: Sergej Polovnikov Date: Wed, 2 Sep 2026 19:35:04 +0300 Subject: [PATCH 15/19] fix(tools): fit_notes formats the text a model already carries MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit It shipped with one model's comments baked into it — a JSON example and three paragraphs keyed by annotation id — so running it on any other model silently replaced that model's comments with those. A pass that rewrites content is not a layout pass. It now reads each textAnnotation, re-wraps prose to the requested width, leaves a structured block (JSON, lists) with its own line breaks because there every line carries meaning, and fits the frame to the result. What the comment says stays the model's business. Co-Authored-By: Claude Opus 5 --- tools/layout/fit_notes.py | 144 ++++++++++++++++++-------------------- 1 file changed, 70 insertions(+), 74 deletions(-) diff --git a/tools/layout/fit_notes.py b/tools/layout/fit_notes.py index 2d22054..ba3fec4 100644 --- a/tools/layout/fit_notes.py +++ b/tools/layout/fit_notes.py @@ -1,92 +1,88 @@ -"""Форматує текст коментарів і підганяє рамку під нього. +"""Формує рамку коментаря під його власний текст. -Дві причини, чому попередній вигляд читався погано: - * приклад входу був злитий в один рядок, тож переглядач ламав йогоде попало; - * рамку я задавав наосліп, і власні переноси не збігалися з її шириною — +Дві причини, чому коментарі читалися погано: + * проза була злита в один рядок, і переглядач ламав її де попало; + * рамку задавали наосліп, тож власні переноси не збігалися з її шириною — виходили обірвані рядки на кшталт «cap.» окремо. Тепер розмір рахується з тексту: ширина за найдовшим рядком, висота за їх кількістю. Що написано — те й видно. + +Текст береться з самої моделі, а не з цього файлу: інструмент форматує, а не +пише зміст. Проза переноситься за шириною; блок, у якому є структура (JSON, +списки), лишається з власними переносами — там кожен рядок значущий. + + python fit_notes.py <модель.bpmn> [--width 58] """ +import argparse import html -import json import pathlib import re -import sys CHAR_W = 6.3 # приблизна ширина символу шрифту коментаря LINE_H = 14 PAD_X, PAD_Y = 22, 18 -WRAP = 58 # на скільки символів переносити прозу - -path = pathlib.Path(sys.argv[1]) -text = path.read_text(encoding="utf-8") - -# Приклад входу, який лягає в коментар біля старту. Адреса й облікові дані — -# заповнювачі: у прикладі має бути видно форму запиту, а не чийсь стенд. -EXAMPLE = { - "URL": "http://localhost:9010", - "login": "api_user", - "password": "***", - "alias": "bss", - "pluginname": "BSS.Entities", - "message": "OK", - "inputMessage": ["stop"], -} - -PROSE = { - "An_Read": "The wait ends on the stop word, a deadline or a line cap. " - "Without the last two the read blocks forever when the stop " - "word never arrives.", - "An_Raise": "Raise is what this test exercises. It is guarded because the " - "engine throws inside it in the current build; the verdict " - "reports whether it worked.", - "An_Verdict": "success = the posted message came back through the SSE " - "channel. Everything else is failed, with a reason.", -} - - -def wrap(body, width=WRAP): - lines, cur = [], "" + +STRUCTURED = re.compile(r'^\s*[\[\]{}]|"\s*:') + + +def wrap(body, width): + lines, current = [], "" for word in body.split(): - if cur and len(cur) + 1 + len(word) > width: - lines.append(cur) - cur = word + if current and len(current) + 1 + len(word) > width: + lines.append(current) + current = word else: - cur = f"{cur} {word}".strip() - if cur: - lines.append(cur) + current = f"{current} {word}".strip() + if current: + lines.append(current) return lines -bodies = {"An_Input": ["Example input:"] - + json.dumps(EXAMPLE, indent=2, ensure_ascii=False).splitlines()} -for aid, body in PROSE.items(): - bodies[aid] = wrap(body) - -changed = 0 -for aid, lines in bodies.items(): - body = "\n".join(lines) - escaped = html.escape(body, quote=False) - new_text, n = re.subn( - rf'(\s*).*?()', - lambda m, b=escaped: m.group(1) + b + m.group(2), - text, flags=re.S) - if not n: - continue - text = new_text - width = max(len(line) for line in lines) * CHAR_W + PAD_X - height = len(lines) * LINE_H + PAD_Y - text = re.sub( - rf'(\s*\s*(.*?)', text, re.S): + aid, raw = match.group(1), html.unescape(match.group(2)) + lines = reflow(raw, args.width) + body = html.escape("\n".join(lines), quote=False) + text = re.sub( + rf'(\s*).*?()', + lambda m, b=body: m.group(1) + b + m.group(2), + text, count=1, flags=re.S) + width = max(len(line) for line in lines) * CHAR_W + PAD_X + height = len(lines) * LINE_H + PAD_Y + text = re.sub( + rf'(\s*' + r' Date: Wed, 2 Sep 2026 22:09:03 +0300 Subject: [PATCH 16/19] feat(flow-patterns): every example is built from the specification beside it A model nobody can regenerate can only be edited by hand, and that is how the file and the intent drift apart. Each example now carries .spec.json: what it takes in, what each step does and why, what it answers with, and the types it needs. The model is what the tools make of that. python tools/build.py rebuilds all nine python tools/verify.py checks without rebuilding All nine were regenerated this way. verify: 0 violations. Compiled against the platform: 9/9. Four passes are new. split_shared_data gives each end event its own data element, so success and failure no longer share one and their arrows no longer cross. add_types carries the types, external types and libraries a step needs beyond its own input and output. add_examples writes the process documentation with the link back to source and the response example on each end event. add_notes places the comments and the input example the specification declares. snap_associations now draws an association that has no edge at all - until now a data element could sit on the diagram with nothing leading to it - routes it orthogonally, and treats captions and already-drawn lines as obstacles. place_data_labels no longer dodges lines: the caption is anchored under its own shape and the lines route around it. Two specifications sit in flow-patterns/parked with no model. They wait on the platform: AI/Completions callable from a model, IO/Local/Archive exposed to flows. Co-Authored-By: Claude Opus 5 --- flow-patterns/01-basics/first-flow.bpmn | 68 +++++++- flow-patterns/01-basics/first-flow.spec.json | 42 +++++ .../02-error-handling/error-as-branch.bpmn | 66 ++++++- .../error-as-branch.spec.json | 41 +++++ .../03-config-as-flow/service-config.bpmn | 36 ++++ .../service-config.spec.json | 20 +++ .../03-config-as-flow/use-config.bpmn | 66 ++++++- .../03-config-as-flow/use-config.spec.json | 40 +++++ flow-patterns/04-pagination/paged-fetch.bpmn | 161 +++++++----------- .../04-pagination/paged-fetch.spec.json | 43 +++++ .../05-events-and-signals/raise-event.bpmn | 100 ++++++----- .../raise-event.spec.json | 40 +++++ .../06-streaming-sse/stream-response.bpmn | 113 +++++++----- .../stream-response.spec.json | 54 ++++++ flow-patterns/07-triggers/http-start.bpmn | 69 +++++++- .../07-triggers/http-start.spec.json | 42 +++++ .../08-ai-agents/structured-prompt.bpmn | 67 +++++++- .../08-ai-agents/structured-prompt.spec.json | 48 ++++++ .../parked/archive-and-send.spec.json | 39 +++++ flow-patterns/parked/ask-model.spec.json | 30 ++++ tools/README.md | 78 +++++++++ tools/build.py | 109 ++++++++++++ tools/layout/add_examples.py | 89 ++++++++++ tools/layout/add_notes.py | 113 ++++++++++++ tools/layout/add_types.py | 97 +++++++++++ tools/layout/place_data_labels.py | 10 +- tools/layout/snap_associations.py | 92 +++++++++- tools/layout/split_shared_data.py | 86 ++++++++++ 28 files changed, 1641 insertions(+), 218 deletions(-) create mode 100644 flow-patterns/01-basics/first-flow.spec.json create mode 100644 flow-patterns/02-error-handling/error-as-branch.spec.json create mode 100644 flow-patterns/03-config-as-flow/service-config.spec.json create mode 100644 flow-patterns/03-config-as-flow/use-config.spec.json create mode 100644 flow-patterns/04-pagination/paged-fetch.spec.json create mode 100644 flow-patterns/05-events-and-signals/raise-event.spec.json create mode 100644 flow-patterns/06-streaming-sse/stream-response.spec.json create mode 100644 flow-patterns/07-triggers/http-start.spec.json create mode 100644 flow-patterns/08-ai-agents/structured-prompt.spec.json create mode 100644 flow-patterns/parked/archive-and-send.spec.json create mode 100644 flow-patterns/parked/ask-model.spec.json create mode 100644 tools/build.py create mode 100644 tools/layout/add_examples.py create mode 100644 tools/layout/add_notes.py create mode 100644 tools/layout/add_types.py create mode 100644 tools/layout/split_shared_data.py diff --git a/flow-patterns/01-basics/first-flow.bpmn b/flow-patterns/01-basics/first-flow.bpmn index a70e960..11b24f9 100644 --- a/flow-patterns/01-basics/first-flow.bpmn +++ b/flow-patterns/01-basics/first-flow.bpmn @@ -14,6 +14,8 @@ Source: https://github.com/mef-dev/bpmn-examples/tree/master/flow-patterns/01-ba + + Fl_001 @@ -44,9 +46,6 @@ Source: https://github.com/mef-dev/bpmn-examples/tree/master/flow-patterns/01-ba Fl_004 - - {"status": "HttpRequestAttributes", "code": 200, "headers": "{\n \"Accept\": \"application/json;charset=utf-8\",\n \"Content-Type\": \"application/json;charset=utf-8\",\n \"Accept-Language\": \"en\",\n \"x-ms-client-request-id\": \"6a297fcb-956e-4228-8c11-017e9bacd629\"\n}", "exampelsVariants": [{"title": "GREETED", "value": "{\n \"name\": \"Ada\",\n \"language\": \"en\"\n}"}], "producedTypeVariants": ["GreetingRequest"]} - Fl_004 @@ -63,12 +62,12 @@ Source: https://github.com/mef-dev/bpmn-examples/tree/master/flow-patterns/01-ba - {"status": "HttpRequestAttributes", "code": 500, "headers": "{\n \"Accept\": \"application/json;charset=utf-8\",\n \"Content-Type\": \"application/json;charset=utf-8\",\n \"Accept-Language\": \"en\",\n \"x-ms-client-request-id\": \"6a297fcb-956e-4228-8c11-017e9bacd629\"\n}", "exampelsVariants": [{"title": "GREETING_FAILED", "value": "{\n \"levelMessage\": \"11\",\n \"statusCode\": 500,\n \"message\": \"the greeting could not be composed\",\n \"state\": \"1\"\n}"}], "producedTypeVariants": ["ErrorResponse"]} + {"status": "HttpRequestAttributes", "code": "500", "exampelsVariants": [{"title": "GREETING_FAILED", "value": "{\n \"levelMessage\": \"11\",\n \"statusCode\": 500,\n \"message\": \"the greeting could not be composed\",\n \"state\": \"1\"\n}"}]} Fl_006 - DO_Output + DO_Output_1 Prop_Ev_Failed @@ -82,14 +81,36 @@ Source: https://github.com/mef-dev/bpmn-examples/tree/master/flow-patterns/01-ba + + Example input: +{ + "name": "Ada", + "language": "en" +} + + + + Input is what the caller sent and stays reachable for the +whole process; #Previous is only the step before. Every +step must return a value - a path without one fails the +whole model, not just the step. + + + + + + + + + @@ -141,6 +162,43 @@ Source: https://github.com/mef-dev/bpmn-examples/tree/master/flow-patterns/01-ba + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/flow-patterns/01-basics/first-flow.spec.json b/flow-patterns/01-basics/first-flow.spec.json new file mode 100644 index 0000000..a24272b --- /dev/null +++ b/flow-patterns/01-basics/first-flow.spec.json @@ -0,0 +1,42 @@ +{ + "name": "first-flow", + "config": { + "flow": "flow-patterns-config", + "libType": "tenant", + "library": "tenant_shared", + "alias": "ConfigActivity", + "type": "Config", + "typeAlias": "ExternalConfig", + "version": "#latest" + }, + "input": { + "title": "GreetingRequest", + "properties": { + "name": "string", + "language": "string" + }, + "example": { + "name": "Ada", + "language": "en" + } + }, + "steps": [ + { + "id": "T_Compose", + "name": "compose the greeting", + "expression": "// Input is what the caller sent. It stays reachable for the whole\n// process, unlike #Previous, which is only the previous step's result.\nvar who = string.IsNullOrEmpty(Input.name) ? \"world\" : Input.name;\n\n// Logger writes into the run log you can open next to the diagram.\nLogger.LogInformation($\"greeting {who}\");\n\n// A step must return a value: the engine compiles this body into a\n// method, and a path without return fails the whole model (CS0161).\nreturn new GreetingRequest() { name = who, language = Input.language };", + "note": "Input is what the caller sent and stays reachable for the whole process; #Previous is only the step before. Every step must return a value - a path without one fails the whole model, not just the step." + } + ], + "documentation": "The smallest working Flow: typed input in, typed output out.", + "outcomes": { + "success": { + "title": "GREETED", + "value": "{\n \"name\": \"Ada\",\n \"language\": \"en\"\n}" + }, + "failure": { + "title": "GREETING_FAILED", + "value": "{\n \"levelMessage\": \"11\",\n \"statusCode\": 500,\n \"message\": \"the greeting could not be composed\",\n \"state\": \"1\"\n}" + } + } +} diff --git a/flow-patterns/02-error-handling/error-as-branch.bpmn b/flow-patterns/02-error-handling/error-as-branch.bpmn index 63487f5..e9abc10 100644 --- a/flow-patterns/02-error-handling/error-as-branch.bpmn +++ b/flow-patterns/02-error-handling/error-as-branch.bpmn @@ -14,6 +14,8 @@ Source: https://github.com/mef-dev/bpmn-examples/tree/master/flow-patterns/02-er + + Fl_001 @@ -44,9 +46,6 @@ Source: https://github.com/mef-dev/bpmn-examples/tree/master/flow-patterns/02-er Fl_004 - - {"status": "HttpRequestAttributes", "code": 200, "headers": "{\n \"Accept\": \"application/json;charset=utf-8\",\n \"Content-Type\": \"application/json;charset=utf-8\",\n \"Accept-Language\": \"en\",\n \"x-ms-client-request-id\": \"6a297fcb-956e-4228-8c11-017e9bacd629\"\n}", "exampelsVariants": [{"title": "ACCEPTED", "value": "{\n \"orderId\": \"A-1001\"\n}"}], "producedTypeVariants": ["OrderRequest"]} - Fl_004 @@ -64,12 +63,12 @@ Source: https://github.com/mef-dev/bpmn-examples/tree/master/flow-patterns/02-er - {"status": "HttpRequestAttributes", "code": 500, "headers": "{\n \"Accept\": \"application/json;charset=utf-8\",\n \"Content-Type\": \"application/json;charset=utf-8\",\n \"Accept-Language\": \"en\",\n \"x-ms-client-request-id\": \"6a297fcb-956e-4228-8c11-017e9bacd629\"\n}", "exampelsVariants": [{"title": "REJECTED", "value": "{\n \"levelMessage\": \"11\",\n \"statusCode\": 500,\n \"message\": \"Error while try to call action 'T_Validate/validate the order'\",\n \"state\": \"1\"\n}"}], "producedTypeVariants": ["ErrorResponse"]} + {"status": "HttpRequestAttributes", "code": "500", "exampelsVariants": [{"title": "REJECTED", "value": "{\n \"levelMessage\": \"11\",\n \"statusCode\": 500,\n \"message\": \"Error while try to call action 'T_Validate/validate the order'\",\n \"state\": \"1\"\n}"}]} Fl_007 - DO_Output + DO_Output_1 Prop_Ev_Failed @@ -88,14 +87,34 @@ Source: https://github.com/mef-dev/bpmn-examples/tree/master/flow-patterns/02-er + + Example input: +{ + "orderId": "ORD-1001" +} + + + + The step throws instead of catching. Catching here would +hide the failure from the diagram, and the process would +carry on down the happy path with no order. + + + + + + + + + @@ -156,6 +175,43 @@ Source: https://github.com/mef-dev/bpmn-examples/tree/master/flow-patterns/02-er + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/flow-patterns/02-error-handling/error-as-branch.spec.json b/flow-patterns/02-error-handling/error-as-branch.spec.json new file mode 100644 index 0000000..cee3d53 --- /dev/null +++ b/flow-patterns/02-error-handling/error-as-branch.spec.json @@ -0,0 +1,41 @@ +{ + "name": "error-as-branch", + "config": { + "flow": "flow-patterns-config", + "libType": "tenant", + "library": "tenant_shared", + "alias": "ConfigActivity", + "type": "Config", + "typeAlias": "ExternalConfig", + "version": "#latest" + }, + "input": { + "title": "OrderRequest", + "properties": { + "orderId": "string" + }, + "example": { + "orderId": "ORD-1001" + } + }, + "steps": [ + { + "id": "T_Validate", + "name": "validate the order", + "risky": true, + "expression": "// Let it throw. Catching here would hide the failure from the diagram\n// and the process would carry on down the happy path with no order.\nif (string.IsNullOrEmpty(Input.orderId))\n throw new Exception(\"orderId is required\");\n\nLogger.LogInformation($\"order {Input.orderId} accepted\");\nreturn new OrderRequest() { orderId = Input.orderId };", + "note": "The step throws instead of catching. Catching here would hide the failure from the diagram, and the process would carry on down the happy path with no order." + } + ], + "documentation": "An error is a branch of the diagram, with its own typed answer.", + "outcomes": { + "success": { + "title": "ACCEPTED", + "value": "{\n \"orderId\": \"A-1001\"\n}" + }, + "failure": { + "title": "REJECTED", + "value": "{\n \"levelMessage\": \"11\",\n \"statusCode\": 500,\n \"message\": \"Error while try to call action 'T_Validate/validate the order'\",\n \"state\": \"1\"\n}" + } + } +} diff --git a/flow-patterns/03-config-as-flow/service-config.bpmn b/flow-patterns/03-config-as-flow/service-config.bpmn index 4ec47b6..635f402 100644 --- a/flow-patterns/03-config-as-flow/service-config.bpmn +++ b/flow-patterns/03-config-as-flow/service-config.bpmn @@ -54,11 +54,27 @@ Source: https://github.com/mef-dev/bpmn-examples/tree/master/flow-patterns/03-co + + Example input: +{} + + + + This Flow is the source, so it has no configuration of its +own to call. Everything a consumer needs is returned from +one place, and changing it here changes it for every Flow +that reads it. + + + + + + @@ -96,6 +112,26 @@ Source: https://github.com/mef-dev/bpmn-examples/tree/master/flow-patterns/03-co + + + + + + + + + + + + + + + + + + + + diff --git a/flow-patterns/03-config-as-flow/service-config.spec.json b/flow-patterns/03-config-as-flow/service-config.spec.json new file mode 100644 index 0000000..92716aa --- /dev/null +++ b/flow-patterns/03-config-as-flow/service-config.spec.json @@ -0,0 +1,20 @@ +{ + "name": "service-config", + "generate": false, + "documentation": "Settings live here, so no consuming Flow knows its environment.", + "input": { + "title": "ConfigRequest", + "properties": {}, + "example": {} + }, + "steps": [ + { + "id": "T_GetConfig", + "name": "resolve the settings", + "note": "This Flow is the source, so it has no configuration of its own to call. Everything a consumer needs is returned from one place, and changing it here changes it for every Flow that reads it." + } + ], + "types": { + "Config": "public class Config\n{\n /* One declaration of the settings, shared by every Flow that calls this one.\n Consumers reach these fields as ExternalConfig, never as a copy. */\n\n /* Exchange rates published by the European Central Bank. Open, no key. */\n public string ratesUrl { get; set; }\n\n /* A list endpoint that understands _start and _limit, for the paging example. */\n public string listUrl { get; set; }\n\n /* Both sources are public, so these stay empty. Real deployments fill them\n here, in one place, and no consuming Flow ever holds a credential. */\n public string login { get; set; }\n public string password { get; set; }\n\n public int pageSize { get; set; }\n}" + } +} diff --git a/flow-patterns/03-config-as-flow/use-config.bpmn b/flow-patterns/03-config-as-flow/use-config.bpmn index c2f8ad0..8fa365d 100644 --- a/flow-patterns/03-config-as-flow/use-config.bpmn +++ b/flow-patterns/03-config-as-flow/use-config.bpmn @@ -14,6 +14,8 @@ Source: https://github.com/mef-dev/bpmn-examples/tree/master/flow-patterns/03-co + + Fl_001 @@ -44,9 +46,6 @@ Source: https://github.com/mef-dev/bpmn-examples/tree/master/flow-patterns/03-co Fl_004 - - {"status": "HttpRequestAttributes", "code": 200, "headers": "{\n \"Accept\": \"application/json;charset=utf-8\",\n \"Content-Type\": \"application/json;charset=utf-8\",\n \"Accept-Language\": \"en\",\n \"x-ms-client-request-id\": \"6a297fcb-956e-4228-8c11-017e9bacd629\"\n}", "exampelsVariants": [{"title": "BUILT", "value": "{\n \"key\": \"https://api.frankfurter.dev/v1/latest?base=EUR\"\n}"}], "producedTypeVariants": ["LookupRequest"]} - Fl_004 @@ -63,12 +62,12 @@ Source: https://github.com/mef-dev/bpmn-examples/tree/master/flow-patterns/03-co - {"status": "HttpRequestAttributes", "code": 500, "headers": "{\n \"Accept\": \"application/json;charset=utf-8\",\n \"Content-Type\": \"application/json;charset=utf-8\",\n \"Accept-Language\": \"en\",\n \"x-ms-client-request-id\": \"6a297fcb-956e-4228-8c11-017e9bacd629\"\n}", "exampelsVariants": [{"title": "CONFIG_FAILED", "value": "{\n \"levelMessage\": \"11\",\n \"statusCode\": 500,\n \"message\": \"configuration could not be read\",\n \"state\": \"1\"\n}"}], "producedTypeVariants": ["ErrorResponse"]} + {"status": "HttpRequestAttributes", "code": "500", "exampelsVariants": [{"title": "CONFIG_FAILED", "value": "{\n \"levelMessage\": \"11\",\n \"statusCode\": 500,\n \"message\": \"configuration could not be read\",\n \"state\": \"1\"\n}"}]} Fl_006 - DO_Output + DO_Output_1 Prop_Ev_Failed @@ -82,14 +81,35 @@ Source: https://github.com/mef-dev/bpmn-examples/tree/master/flow-patterns/03-co + + Example input: +{ + "key": "greeting" +} + + + + Nothing here knows which environment it is. Change the +endpoint once in the configuration Flow and every Flow +that reads it follows - that is the whole point of the +indirection. + + + + + + + + + @@ -141,6 +161,42 @@ Source: https://github.com/mef-dev/bpmn-examples/tree/master/flow-patterns/03-co + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/flow-patterns/03-config-as-flow/use-config.spec.json b/flow-patterns/03-config-as-flow/use-config.spec.json new file mode 100644 index 0000000..a9116e1 --- /dev/null +++ b/flow-patterns/03-config-as-flow/use-config.spec.json @@ -0,0 +1,40 @@ +{ + "name": "use-config", + "config": { + "flow": "flow-patterns-config", + "libType": "tenant", + "library": "tenant_shared", + "alias": "ConfigActivity", + "type": "Config", + "typeAlias": "ExternalConfig", + "version": "#latest" + }, + "input": { + "title": "LookupRequest", + "properties": { + "key": "string" + }, + "example": { + "key": "greeting" + } + }, + "steps": [ + { + "id": "T_UseConfig", + "name": "build the call from settings", + "expression": "// Parameters.config was filled by the Parse Config step from the answer\n// of the configuration Flow. Nothing here knows which environment it is.\nvar cfg = Parameters.config;\n\n// Change the endpoint once, in the configuration Flow, and every Flow\n// that reads it follows. That is the whole point of the indirection.\nvar url = $\"{cfg.ratesUrl}/latest?base={Input.key}\";\n\nLogger.LogInformation($\"the call would go to {url}, \"\n + $\"taking {cfg.pageSize} rows at a time\");\nreturn new LookupRequest() { key = url };", + "note": "Nothing here knows which environment it is. Change the endpoint once in the configuration Flow and every Flow that reads it follows - that is the whole point of the indirection." + } + ], + "documentation": "Builds a call out of settings taken from the configuration Flow.", + "outcomes": { + "success": { + "title": "BUILT", + "value": "{\n \"key\": \"https://api.frankfurter.dev/v1/latest?base=EUR\"\n}" + }, + "failure": { + "title": "CONFIG_FAILED", + "value": "{\n \"levelMessage\": \"11\",\n \"statusCode\": 500,\n \"message\": \"configuration could not be read\",\n \"state\": \"1\"\n}" + } + } +} diff --git a/flow-patterns/04-pagination/paged-fetch.bpmn b/flow-patterns/04-pagination/paged-fetch.bpmn index 1796018..5eccb6b 100644 --- a/flow-patterns/04-pagination/paged-fetch.bpmn +++ b/flow-patterns/04-pagination/paged-fetch.bpmn @@ -1,7 +1,7 @@ - [{"name": "PageInfo", "definition": "public class PageInfo\n{\n public int number { get; set; }\n public int startIndex { get; set; }\n public int size { get; set; }\n}", "isNativeDefinition": true}, {"name": "PageRequest", "definition": "{\"$schema\": \"http://json-schema.org/draft-06/schema#\", \"$ref\": \"#/definitions/PageRequest\", \"definitions\": {\"PageRequest\": {\"type\": \"object\", \"additionalProperties\": true, \"properties\": {\"total\": {\"type\": \"integer\"}}, \"title\": \"PageRequest\"}}}", "isNativeDefinition": false}, {"name": "ErrorResponse", "definition": "{\"$schema\": \"http://json-schema.org/draft-06/schema#\", \"$ref\": \"#/definitions/ErrorResponse\", \"definitions\": {\"ErrorResponse\": {\"type\": \"object\", \"additionalProperties\": true, \"properties\": {\"LevelMessage\": {\"type\": \"string\"}, \"statusCode\": {\"type\": \"integer\"}, \"Message\": {\"type\": \"string\"}, \"State\": {\"type\": \"string\"}}, \"title\": \"ErrorResponse\"}}}", "isNativeDefinition": false}] + [{"name": "PageInfo", "isNativeDefinition": true, "definition": "public class PageInfo\n{\n public int number { get; set; }\n public int startIndex { get; set; }\n public int size { get; set; }\n}", "dataObjectRefName": "PageInfo"}, {"name": "PageRequest", "definition": "{\"$schema\": \"http://json-schema.org/draft-06/schema#\", \"$ref\": \"#/definitions/PageRequest\", \"definitions\": {\"PageRequest\": {\"type\": \"object\", \"additionalProperties\": true, \"properties\": {\"total\": {\"type\": \"integer\"}}, \"title\": \"PageRequest\"}}}", "isNativeDefinition": false}, {"name": "ErrorResponse", "definition": "{\"$schema\": \"http://json-schema.org/draft-06/schema#\", \"$ref\": \"#/definitions/ErrorResponse\", \"definitions\": {\"ErrorResponse\": {\"type\": \"object\", \"additionalProperties\": true, \"properties\": {\"LevelMessage\": {\"type\": \"string\"}, \"statusCode\": {\"type\": \"integer\"}, \"Message\": {\"type\": \"string\"}, \"State\": {\"type\": \"string\"}}, \"title\": \"ErrorResponse\"}}}", "isNativeDefinition": false}] [{"name": "ExternalConfig", "definition": "types://external/ConfigActivity/Config"}] [{"name": "HandleException", "initCode": "ErrorResponse HandleException(PassingResult prevData)\n{\n Logger.LogError($\"flow failed: {prevData.Exception?.Message}\");\n if (WorkflowEnvironment.RuntimeName == \"UCP\")\n WorkflowEnvironment.Variables[\"StatusCode\"] = 500;\n return new ErrorResponse()\n {\n Message = prevData.Exception?.Message,\n LevelMessage = \"11\",\n statusCode = 500,\n State = \"1\"\n };\n}", "initParameters": [{"name": "Result", "type": "ErrorResponse"}, {"name": "prevData", "type": "PassingResult", "required": true}]}] [] @@ -11,11 +11,11 @@ Plans the pages first, then walks them with Multi Instance. Source: https://github.com/mef-dev/bpmn-examples/tree/master/flow-patterns/04-pagination - - + + Fl_001 @@ -43,16 +43,10 @@ Source: https://github.com/mef-dev/bpmn-examples/tree/master/flow-patterns/04-pa {"actionType": "Expression", "action": "// The page size is a setting, not a constant: it belongs in the\n// configuration Flow so every consumer agrees on it.\nvar size = Parameters.config.pageSize;\n\n// This step only plans. Building the list first, and walking it\n// second, is what lets the Sub Process run the pages in parallel.\nvar pages = new List<PageInfo>();\nfor (int start = 0; start < Input.total; start += size)\n pages.Add(new PageInfo() { number = pages.Count + 1, startIndex = start, size = size });\n\nLogger.LogInformation($\"{Input.total} rows split into {pages.Count} pages of {size}\");\nreturn pages;"} Fl_003 - Fl_020 - - DO_Pages - + Fl_004 - - {"status": "HttpRequestAttributes", "code": 200, "headers": "{\n \"Accept\": \"application/json;charset=utf-8\",\n \"Content-Type\": \"application/json;charset=utf-8\",\n \"Accept-Language\": \"en\",\n \"x-ms-client-request-id\": \"6a297fcb-956e-4228-8c11-017e9bacd629\"\n}", "exampelsVariants": [{"title": "PAGED", "value": "[\n {\n \"number\": 1,\n \"startIndex\": 0,\n \"size\": 10\n },\n {\n \"number\": 2,\n \"startIndex\": 10,\n \"size\": 10\n },\n {\n \"number\": 3,\n \"startIndex\": 20,\n \"size\": 10\n }\n]"}], "producedTypeVariants": ["PageInfo"]} - - Fl_021 + Fl_004 DO_Output @@ -68,12 +62,12 @@ Source: https://github.com/mef-dev/bpmn-examples/tree/master/flow-patterns/04-pa - {"status": "HttpRequestAttributes", "code": 500, "headers": "{\n \"Accept\": \"application/json;charset=utf-8\",\n \"Content-Type\": \"application/json;charset=utf-8\",\n \"Accept-Language\": \"en\",\n \"x-ms-client-request-id\": \"6a297fcb-956e-4228-8c11-017e9bacd629\"\n}", "exampelsVariants": [{"title": "PAGING_FAILED", "value": "{\n \"levelMessage\": \"11\",\n \"statusCode\": 500,\n \"message\": \"the page plan could not be built\",\n \"state\": \"1\"\n}"}], "producedTypeVariants": ["ErrorResponse"]} + {"status": "HttpRequestAttributes", "code": "500", "exampelsVariants": [{"title": "PAGING_FAILED", "value": "{\n \"levelMessage\": \"11\",\n \"statusCode\": 500,\n \"message\": \"the page plan could not be built\",\n \"state\": \"1\"\n}"}]} Fl_006 - DO_Output + DO_Output_1 Prop_Ev_Failed @@ -81,67 +75,40 @@ Source: https://github.com/mef-dev/bpmn-examples/tree/master/flow-patterns/04-pa Fl_005 - - - 2 - - Fl_020 - Fl_021 - - - DO_Pages - Prop_SP_Page - - - - - - - - Fl_022 - - SP_DO_In - - - - - {"actionType": "Expression", "action": "var page = (PageInfo)Input;\nvar url = $\u0022{Root.Parameters.config.listUrl}?_start={page.startIndex}&_limit={page.size}\u0022;\nLogger.LogInformation($\u0022page {page.number} would read {url}, pass {Transition.Counter}\u0022);\nreturn page;"} - - Fl_022 - Fl_023 - - - - {"status": "HttpRequestAttributes", "code": 200, "headers": "{\n \"Accept\": \"application/json;charset=utf-8\",\n \"Content-Type\": \"application/json;charset=utf-8\",\n \"Accept-Language\": \"en\",\n \"x-ms-client-request-id\": \"6a297fcb-956e-4228-8c11-017e9bacd629\"\n}", "exampelsVariants": [{"title": "ONE_PAGE", "value": "{\n \"number\": 1,\n \"startIndex\": 0,\n \"size\": 10\n}"}], "producedTypeVariants": ["PageInfo"]} - - Fl_023 - - - SP_DO_Out - Prop_Ev_Page_End - - - - - - - + + + Example input: +{ + "total": 250 +} + + + + The page size is a setting, not a constant, so it lives in +the configuration Flow. Planning first and walking the +list second is what lets the pages run in parallel. + + + - - - - + + + + - + + + + @@ -156,7 +123,7 @@ Source: https://github.com/mef-dev/bpmn-examples/tree/master/flow-patterns/04-pa - + @@ -167,9 +134,6 @@ Source: https://github.com/mef-dev/bpmn-examples/tree/master/flow-patterns/04-pa - - - @@ -182,14 +146,10 @@ Source: https://github.com/mef-dev/bpmn-examples/tree/master/flow-patterns/04-pa - + - - - - @@ -200,33 +160,42 @@ Source: https://github.com/mef-dev/bpmn-examples/tree/master/flow-patterns/04-pa - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - + + + - - - + + + + + + + + + + + + + + + diff --git a/flow-patterns/04-pagination/paged-fetch.spec.json b/flow-patterns/04-pagination/paged-fetch.spec.json new file mode 100644 index 0000000..2d49761 --- /dev/null +++ b/flow-patterns/04-pagination/paged-fetch.spec.json @@ -0,0 +1,43 @@ +{ + "name": "paged-fetch", + "config": { + "flow": "flow-patterns-config", + "libType": "tenant", + "library": "tenant_shared", + "alias": "ConfigActivity", + "type": "Config", + "typeAlias": "ExternalConfig", + "version": "#latest" + }, + "input": { + "title": "PageRequest", + "properties": { + "total": "integer" + }, + "example": { + "total": 250 + } + }, + "steps": [ + { + "id": "T_Plan", + "name": "plan the pages", + "expression": "// The page size is a setting, not a constant: it belongs in the\n// configuration Flow so every consumer agrees on it.\nvar size = Parameters.config.pageSize;\n\n// This step only plans. Building the list first, and walking it\n// second, is what lets the Sub Process run the pages in parallel.\nvar pages = new List();\nfor (int start = 0; start < Input.total; start += size)\n pages.Add(new PageInfo() { number = pages.Count + 1, startIndex = start, size = size });\n\nLogger.LogInformation($\"{Input.total} rows split into {pages.Count} pages of {size}\");\nreturn pages;", + "note": "The page size is a setting, not a constant, so it lives in the configuration Flow. Planning first and walking the list second is what lets the pages run in parallel." + } + ], + "documentation": "Plans the pages first, then walks them with Multi Instance.", + "outcomes": { + "success": { + "title": "ONE_PAGE", + "value": "{\n \"number\": 1,\n \"startIndex\": 0,\n \"size\": 10\n}" + }, + "failure": { + "title": "PAGING_FAILED", + "value": "{\n \"levelMessage\": \"11\",\n \"statusCode\": 500,\n \"message\": \"the page plan could not be built\",\n \"state\": \"1\"\n}" + } + }, + "types": { + "PageInfo": "public class PageInfo\n{\n public int number { get; set; }\n public int startIndex { get; set; }\n public int size { get; set; }\n}" + } +} diff --git a/flow-patterns/05-events-and-signals/raise-event.bpmn b/flow-patterns/05-events-and-signals/raise-event.bpmn index 22eb602..b98891a 100644 --- a/flow-patterns/05-events-and-signals/raise-event.bpmn +++ b/flow-patterns/05-events-and-signals/raise-event.bpmn @@ -14,6 +14,8 @@ Source: https://github.com/mef-dev/bpmn-examples/tree/master/flow-patterns/05-ev + + Fl_001 @@ -44,9 +46,6 @@ Source: https://github.com/mef-dev/bpmn-examples/tree/master/flow-patterns/05-ev Fl_004 - - {"status": "HttpRequestAttributes", "code": 200, "headers": "{\n \"Accept\": \"application/json;charset=utf-8\",\n \"Content-Type\": \"application/json;charset=utf-8\",\n \"Accept-Language\": \"en\",\n \"x-ms-client-request-id\": \"6a297fcb-956e-4228-8c11-017e9bacd629\"\n}", "exampelsVariants": [{"title": "DONE", "value": "{\n \"jobId\": \"job-7\"\n}"}], "producedTypeVariants": ["JobRequest"]} - Fl_004 @@ -63,12 +62,12 @@ Source: https://github.com/mef-dev/bpmn-examples/tree/master/flow-patterns/05-ev - {"status": "HttpRequestAttributes", "code": 500, "headers": "{\n \"Accept\": \"application/json;charset=utf-8\",\n \"Content-Type\": \"application/json;charset=utf-8\",\n \"Accept-Language\": \"en\",\n \"x-ms-client-request-id\": \"6a297fcb-956e-4228-8c11-017e9bacd629\"\n}", "exampelsVariants": [{"title": "JOB_FAILED", "value": "{\n \"levelMessage\": \"11\",\n \"statusCode\": 500,\n \"message\": \"the job could not be started\",\n \"state\": \"1\"\n}"}], "producedTypeVariants": ["ErrorResponse"]} + {"status": "HttpRequestAttributes", "code": "500", "exampelsVariants": [{"title": "JOB_FAILED", "value": "{\n \"levelMessage\": \"11\",\n \"statusCode\": 500,\n \"message\": \"the job could not be started\",\n \"state\": \"1\"\n}"}]} Fl_006 - DO_Output + DO_Output_1 Prop_Ev_Failed @@ -76,39 +75,40 @@ Source: https://github.com/mef-dev/bpmn-examples/tree/master/flow-patterns/05-ev Fl_005 - - Fl_010 - - - - - {"actionType": "Expression", "action": "Logger.LogInformation($\u0022progress reported: {#event.Data}\u0022);\nreturn null;"} - - Fl_010 - Fl_011 - - - - {"status": "HttpRequestAttributes", "code": 200, "headers": "{\n \"Accept\": \"application/json;charset=utf-8\",\n \"Content-Type\": \"application/json;charset=utf-8\",\n \"Accept-Language\": \"en\",\n \"x-ms-client-request-id\": \"6a297fcb-956e-4228-8c11-017e9bacd629\"\n}", "exampelsVariants": [{"title": "PROGRESS", "value": "{\n \"jobId\": \"job-7\"\n}"}], "producedTypeVariants": ["JobRequest"]} - - Fl_011 - - - + + Example input: +{ + "jobId": "JOB-7" +} + + + + A long step does not have to stay silent until it ends. +The boundary event is non-interrupting, so a second branch +reports progress while this one keeps working. + + + + + + + + + @@ -134,15 +134,6 @@ Source: https://github.com/mef-dev/bpmn-examples/tree/master/flow-patterns/05-ev - - - - - - - - - @@ -169,16 +160,43 @@ Source: https://github.com/mef-dev/bpmn-examples/tree/master/flow-patterns/05-ev - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + + + diff --git a/flow-patterns/05-events-and-signals/raise-event.spec.json b/flow-patterns/05-events-and-signals/raise-event.spec.json new file mode 100644 index 0000000..4798e47 --- /dev/null +++ b/flow-patterns/05-events-and-signals/raise-event.spec.json @@ -0,0 +1,40 @@ +{ + "name": "raise-event", + "config": { + "flow": "flow-patterns-config", + "libType": "tenant", + "library": "tenant_shared", + "alias": "ConfigActivity", + "type": "Config", + "typeAlias": "ExternalConfig", + "version": "#latest" + }, + "input": { + "title": "JobRequest", + "properties": { + "jobId": "string" + }, + "example": { + "jobId": "JOB-7" + } + }, + "steps": [ + { + "id": "T_Work", + "name": "do the work in parts", + "expression": "// A long step does not have to stay silent until it ends. Raising the\n// boundary event lets a second branch report progress while this one\n// keeps working — the event is non-interrupting.\nfor (int part = 1; part <= 3; part++)\n{\n Logger.LogInformation($\"part {part} done\");\n\n // The name in brackets is the id of the boundary event on the\n // diagram. Get it wrong and the engine raises BoundaryEventNotFound.\n Action.BoundaryEvents[\"Event_Progress\"].Raise($\"part {part} of 3\");\n}\nreturn new JobRequest() { jobId = Input.jobId };", + "note": "A long step does not have to stay silent until it ends. The boundary event is non-interrupting, so a second branch reports progress while this one keeps working." + } + ], + "documentation": "A step raises an event and keeps working; a second branch reports it.", + "outcomes": { + "success": { + "title": "PROGRESS", + "value": "{\n \"jobId\": \"job-7\"\n}" + }, + "failure": { + "title": "JOB_FAILED", + "value": "{\n \"levelMessage\": \"11\",\n \"statusCode\": 500,\n \"message\": \"the job could not be started\",\n \"state\": \"1\"\n}" + } + } +} diff --git a/flow-patterns/06-streaming-sse/stream-response.bpmn b/flow-patterns/06-streaming-sse/stream-response.bpmn index e5e91d9..c7a1196 100644 --- a/flow-patterns/06-streaming-sse/stream-response.bpmn +++ b/flow-patterns/06-streaming-sse/stream-response.bpmn @@ -14,6 +14,8 @@ Source: https://github.com/mef-dev/bpmn-examples/tree/master/flow-patterns/06-st + + Fl_001 @@ -51,9 +53,6 @@ Source: https://github.com/mef-dev/bpmn-examples/tree/master/flow-patterns/06-st Fl_005 - - {"status": "HttpRequestAttributes", "code": 200, "headers": "{\n \"Accept\": \"application/json;charset=utf-8\",\n \"Content-Type\": \"application/json;charset=utf-8\",\n \"Accept-Language\": \"en\",\n \"x-ms-client-request-id\": \"6a297fcb-956e-4228-8c11-017e9bacd629\"\n}", "exampelsVariants": [{"title": "STREAMED", "value": "{\n \"topic\": \"USD\"\n}"}], "producedTypeVariants": ["StreamRequest"]} - Fl_005 @@ -71,12 +70,12 @@ Source: https://github.com/mef-dev/bpmn-examples/tree/master/flow-patterns/06-st - {"status": "HttpRequestAttributes", "code": 500, "headers": "{\n \"Accept\": \"application/json;charset=utf-8\",\n \"Content-Type\": \"application/json;charset=utf-8\",\n \"Accept-Language\": \"en\",\n \"x-ms-client-request-id\": \"6a297fcb-956e-4228-8c11-017e9bacd629\"\n}", "exampelsVariants": [{"title": "STREAM_FAILED", "value": "{\n \"levelMessage\": \"11\",\n \"statusCode\": 500,\n \"message\": \"Error while try to call action 'T_Call/open the stream'\",\n \"state\": \"1\"\n}"}], "producedTypeVariants": ["ErrorResponse"]} + {"status": "HttpRequestAttributes", "code": "500", "exampelsVariants": [{"title": "STREAM_FAILED", "value": "{\n \"levelMessage\": \"11\",\n \"statusCode\": 500,\n \"message\": \"Error while try to call action 'T_Call/open the stream'\",\n \"state\": \"1\"\n}"}]} Fl_008 - DO_Output + DO_Output_1 Prop_Ev_Failed @@ -88,23 +87,6 @@ Source: https://github.com/mef-dev/bpmn-examples/tree/master/flow-patterns/06-st Fl_007 - - Fl_030 - - - - - {"actionType": "Expression", "action": "Logger.LogInformation($\u0022chunk out: {#event.Data}\u0022);\nreturn null;"} - - Fl_030 - Fl_031 - - - - {"status": "HttpRequestAttributes", "code": 200, "headers": "{\n \"Accept\": \"application/json;charset=utf-8\",\n \"Content-Type\": \"application/json;charset=utf-8\",\n \"Accept-Language\": \"en\",\n \"x-ms-client-request-id\": \"6a297fcb-956e-4228-8c11-017e9bacd629\"\n}", "exampelsVariants": [{"title": "CHUNK", "value": "{\n \"topic\": \"USD\"\n}"}], "producedTypeVariants": ["StreamRequest"]} - - Fl_031 - @@ -113,16 +95,40 @@ Source: https://github.com/mef-dev/bpmn-examples/tree/master/flow-patterns/06-st - - + + Example input: +{ + "topic": "USD" +} + + + + The endpoint and its credentials come from the +configuration Flow, so this model carries no address of +its own. + + + + #Previous.Reader is the open response body. Reading it +line by line keeps memory flat no matter how long the +answer turns out to be. + + + + + + + + + @@ -154,15 +160,6 @@ Source: https://github.com/mef-dev/bpmn-examples/tree/master/flow-patterns/06-st - - - - - - - - - @@ -199,16 +196,50 @@ Source: https://github.com/mef-dev/bpmn-examples/tree/master/flow-patterns/06-st - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + + + diff --git a/flow-patterns/06-streaming-sse/stream-response.spec.json b/flow-patterns/06-streaming-sse/stream-response.spec.json new file mode 100644 index 0000000..83848ec --- /dev/null +++ b/flow-patterns/06-streaming-sse/stream-response.spec.json @@ -0,0 +1,54 @@ +{ + "name": "stream-response", + "config": { + "flow": "flow-patterns-config", + "libType": "tenant", + "library": "tenant_shared", + "alias": "ConfigActivity", + "type": "Config", + "typeAlias": "ExternalConfig", + "version": "#latest" + }, + "input": { + "title": "StreamRequest", + "properties": { + "topic": "string" + }, + "example": { + "topic": "USD" + } + }, + "steps": [ + { + "id": "T_Call", + "name": "open the stream", + "function": "RestApi", + "params": { + "Uri": "{Parameters.config.ratesUrl}/latest?symbols={Input.topic}", + "Method": "GET", + "Login": "$\"{Parameters.config.login}\"", + "Password": "$\"{Parameters.config.password}\"", + "Encoding": "utf-8", + "Timeout": 30 + }, + "note": "The endpoint and its credentials come from the configuration Flow, so this model carries no address of its own." + }, + { + "id": "T_Stream", + "name": "read the stream line by line", + "expression": "// #Previous.Reader is the open response body. Reading it line by line\n// keeps memory flat no matter how long the answer turns out to be.\nstring line;\nwhile ((line = #Previous.Reader.ReadLine()) != null)\n{\n if (string.IsNullOrWhiteSpace(line))\n continue;\n\n // Each line leaves through the boundary event, so the caller sees\n // the answer arriving instead of waiting for all of it.\n Action.BoundaryEvents[\"Event_Chunk\"].Raise(line);\n}\n\n// The stream itself is the result; there is nothing left to return.\nreturn null;", + "note": "#Previous.Reader is the open response body. Reading it line by line keeps memory flat no matter how long the answer turns out to be." + } + ], + "documentation": "Reads a response as it arrives and passes each chunk on.", + "outcomes": { + "success": { + "title": "CHUNK", + "value": "{\n \"topic\": \"USD\"\n}" + }, + "failure": { + "title": "STREAM_FAILED", + "value": "{\n \"levelMessage\": \"11\",\n \"statusCode\": 500,\n \"message\": \"Error while try to call action 'T_Call/open the stream'\",\n \"state\": \"1\"\n}" + } + } +} diff --git a/flow-patterns/07-triggers/http-start.bpmn b/flow-patterns/07-triggers/http-start.bpmn index bd57d0c..e5a6f37 100644 --- a/flow-patterns/07-triggers/http-start.bpmn +++ b/flow-patterns/07-triggers/http-start.bpmn @@ -14,11 +14,10 @@ Source: https://github.com/mef-dev/bpmn-examples/tree/master/flow-patterns/07-tr + + - - {"status": "HttpRequestAttributes", "method": "POST", "route": "webhook", "examples": {"ACCEPTED": {"summary": "A webhook call on the declared route", "description": "The Flow accepts the call, logs the event name and answers 200 with the request echoed back.", "value": "{\n \"event\": \"order.created\",\n \"payload\": \"{}\"\n}"}}} - Fl_001 DO_Input @@ -47,9 +46,6 @@ Source: https://github.com/mef-dev/bpmn-examples/tree/master/flow-patterns/07-tr Fl_004 - - {"status": "HttpRequestAttributes", "code": 200, "headers": "{\n \"Accept\": \"application/json;charset=utf-8\",\n \"Content-Type\": \"application/json;charset=utf-8\",\n \"Accept-Language\": \"en\",\n \"x-ms-client-request-id\": \"6a297fcb-956e-4228-8c11-017e9bacd629\"\n}", "exampelsVariants": [{"title": "ACCEPTED", "value": "{\n \"event\": \"order.created\",\n \"payload\": \"{}\"\n}"}], "producedTypeVariants": ["WebhookRequest"]} - Fl_004 @@ -66,12 +62,12 @@ Source: https://github.com/mef-dev/bpmn-examples/tree/master/flow-patterns/07-tr - {"status": "HttpRequestAttributes", "code": 500, "headers": "{\n \"Accept\": \"application/json;charset=utf-8\",\n \"Content-Type\": \"application/json;charset=utf-8\",\n \"Accept-Language\": \"en\",\n \"x-ms-client-request-id\": \"6a297fcb-956e-4228-8c11-017e9bacd629\"\n}", "exampelsVariants": [{"title": "ACCEPT_FAILED", "value": "{\n \"levelMessage\": \"11\",\n \"statusCode\": 500,\n \"message\": \"the call could not be accepted\",\n \"state\": \"1\"\n}"}], "producedTypeVariants": ["ErrorResponse"]} + {"status": "HttpRequestAttributes", "code": "500", "exampelsVariants": [{"title": "ACCEPT_FAILED", "value": "{\n \"levelMessage\": \"11\",\n \"statusCode\": 500,\n \"message\": \"the call could not be accepted\",\n \"state\": \"1\"\n}"}]} Fl_006 - DO_Output + DO_Output_1 Prop_Ev_Failed @@ -85,14 +81,35 @@ Source: https://github.com/mef-dev/bpmn-examples/tree/master/flow-patterns/07-tr + + Example input: +{ + "event": "order.created", + "payload": "{\"orderId\":\"ORD-1001\"}" +} + + + + This process is started by an HTTP call, not by a person +pressing Run: the route is declared on the start event as +StartSignalRoute. + + + + + + + + + @@ -144,6 +161,42 @@ Source: https://github.com/mef-dev/bpmn-examples/tree/master/flow-patterns/07-tr + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/flow-patterns/07-triggers/http-start.spec.json b/flow-patterns/07-triggers/http-start.spec.json new file mode 100644 index 0000000..f8aa5bf --- /dev/null +++ b/flow-patterns/07-triggers/http-start.spec.json @@ -0,0 +1,42 @@ +{ + "name": "http-start", + "config": { + "flow": "flow-patterns-config", + "libType": "tenant", + "library": "tenant_shared", + "alias": "ConfigActivity", + "type": "Config", + "typeAlias": "ExternalConfig", + "version": "#latest" + }, + "input": { + "title": "WebhookRequest", + "properties": { + "event": "string", + "payload": "string" + }, + "example": { + "event": "order.created", + "payload": "{\"orderId\":\"ORD-1001\"}" + } + }, + "steps": [ + { + "id": "T_Accept", + "name": "accept the call", + "expression": "// This process is started by an HTTP call, not by a person pressing\n// Run: the route is declared on the start event as StartSignalRoute.\n// 'event' is a C# keyword, so the field is escaped with @.\nLogger.LogInformation($\"received '{Input.@event}' on the declared route\");\nreturn new WebhookRequest() { @event = Input.@event, payload = Input.payload };", + "note": "This process is started by an HTTP call, not by a person pressing Run: the route is declared on the start event as StartSignalRoute." + } + ], + "documentation": "Declares the route that starts this Flow.", + "outcomes": { + "success": { + "title": "ACCEPTED", + "value": "{\n \"event\": \"order.created\",\n \"payload\": \"{}\"\n}" + }, + "failure": { + "title": "ACCEPT_FAILED", + "value": "{\n \"levelMessage\": \"11\",\n \"statusCode\": 500,\n \"message\": \"the call could not be accepted\",\n \"state\": \"1\"\n}" + } + } +} diff --git a/flow-patterns/08-ai-agents/structured-prompt.bpmn b/flow-patterns/08-ai-agents/structured-prompt.bpmn index f18b6de..3944978 100644 --- a/flow-patterns/08-ai-agents/structured-prompt.bpmn +++ b/flow-patterns/08-ai-agents/structured-prompt.bpmn @@ -14,6 +14,8 @@ Source: https://github.com/mef-dev/bpmn-examples/tree/master/flow-patterns/08-ai + + Fl_001 @@ -44,9 +46,6 @@ Source: https://github.com/mef-dev/bpmn-examples/tree/master/flow-patterns/08-ai Fl_004 - - {"status": "HttpRequestAttributes", "code": 200, "headers": "{\n \"Accept\": \"application/json;charset=utf-8\",\n \"Content-Type\": \"application/json;charset=utf-8\",\n \"Accept-Language\": \"en\",\n \"x-ms-client-request-id\": \"6a297fcb-956e-4228-8c11-017e9bacd629\"\n}", "exampelsVariants": [{"title": "PROMPT", "value": "[\n {\n \"role\": \"system\",\n \"content\": \"Answer in a plain tone.\"\n },\n {\n \"role\": \"user\",\n \"content\": \"What is BPMN?\"\n }\n]"}], "producedTypeVariants": ["ChatMessage"]} - Fl_004 @@ -63,12 +62,12 @@ Source: https://github.com/mef-dev/bpmn-examples/tree/master/flow-patterns/08-ai - {"status": "HttpRequestAttributes", "code": 500, "headers": "{\n \"Accept\": \"application/json;charset=utf-8\",\n \"Content-Type\": \"application/json;charset=utf-8\",\n \"Accept-Language\": \"en\",\n \"x-ms-client-request-id\": \"6a297fcb-956e-4228-8c11-017e9bacd629\"\n}", "exampelsVariants": [{"title": "PROMPT_FAILED", "value": "{\n \"levelMessage\": \"11\",\n \"statusCode\": 500,\n \"message\": \"the prompt could not be built\",\n \"state\": \"1\"\n}"}], "producedTypeVariants": ["ErrorResponse"]} + {"status": "HttpRequestAttributes", "code": "500", "exampelsVariants": [{"title": "PROMPT_FAILED", "value": "{\n \"levelMessage\": \"11\",\n \"statusCode\": 500,\n \"message\": \"the prompt could not be built\",\n \"state\": \"1\"\n}"}]} Fl_006 - DO_Output + DO_Output_1 Prop_Ev_Failed @@ -82,14 +81,35 @@ Source: https://github.com/mef-dev/bpmn-examples/tree/master/flow-patterns/08-ai + + Example input: +{ + "question": "What changed in the last release?", + "tone": "plain" +} + + + + ChatMessage is the platform's own message type, declared +once as an external type instead of copied into this file. +One declaration, one shape, everywhere. + + + + + + + + + @@ -141,6 +161,43 @@ Source: https://github.com/mef-dev/bpmn-examples/tree/master/flow-patterns/08-ai + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/flow-patterns/08-ai-agents/structured-prompt.spec.json b/flow-patterns/08-ai-agents/structured-prompt.spec.json new file mode 100644 index 0000000..8e3b8d7 --- /dev/null +++ b/flow-patterns/08-ai-agents/structured-prompt.spec.json @@ -0,0 +1,48 @@ +{ + "name": "structured-prompt", + "config": { + "flow": "flow-patterns-config", + "libType": "tenant", + "library": "tenant_shared", + "alias": "ConfigActivity", + "type": "Config", + "typeAlias": "ExternalConfig", + "version": "#latest" + }, + "input": { + "title": "PromptRequest", + "properties": { + "question": "string", + "tone": "string" + }, + "example": { + "question": "What changed in the last release?", + "tone": "plain" + } + }, + "steps": [ + { + "id": "T_Compose", + "name": "compose the prompt", + "expression": "// ChatMessage is the platform's own message type, declared as an\n// external type instead of being copied into this file. One\n// declaration, one shape, no drift between Flows.\nvar messages = new List\n{\n // The system message sets the behaviour, the user message asks.\n // Keeping them as data — not as one glued string — is what makes\n // a prompt reviewable and testable.\n new ChatMessage() { Role = \"system\", Content = $\"Answer in a {Input.tone} tone.\" },\n new ChatMessage() { Role = \"user\", Content = Input.question }\n};\n\nLogger.LogInformation($\"prompt built from {messages.Count} messages\");\nreturn messages;", + "note": "ChatMessage is the platform's own message type, declared once as an external type instead of copied into this file. One declaration, one shape, everywhere." + } + ], + "documentation": "Builds the model request as typed data instead of a glued string.", + "outcomes": { + "success": { + "title": "PROMPT", + "value": "[\n {\n \"role\": \"system\",\n \"content\": \"Answer in a plain tone.\"\n },\n {\n \"role\": \"user\",\n \"content\": \"What is BPMN?\"\n }\n]" + }, + "failure": { + "title": "PROMPT_FAILED", + "value": "{\n \"levelMessage\": \"11\",\n \"statusCode\": 500,\n \"message\": \"the prompt could not be built\",\n \"state\": \"1\"\n}" + } + }, + "externalTypes": { + "ChatMessage": "types://external/ai/UCP.Common.AI.ChatCompletionsRequestMessageViewModel" + }, + "libs": { + "ai": "libs://common/ai" + } +} diff --git a/flow-patterns/parked/archive-and-send.spec.json b/flow-patterns/parked/archive-and-send.spec.json new file mode 100644 index 0000000..ed094fc --- /dev/null +++ b/flow-patterns/parked/archive-and-send.spec.json @@ -0,0 +1,39 @@ +{ + "name": "fetch-and-deliver", + "config": { + "flow": "flow-patterns-config", + "libType": "tenant", + "library": "tenant_shared", + "alias": "ConfigActivity", + "type": "Config", + "typeAlias": "ExternalConfig", + "version": "#latest" + }, + "input": { + "title": "DeliveryRequest", + "properties": { + "currency": "string", + "recipient": "string" + } + }, + "steps": [ + { + "id": "T_Download", + "name": "download the file into the store", + "function": "RestApi/Download", + "params": { + "Uri": "{Parameters.config.ratesUrl}/latest?base={Input.currency}", + "Login": "$\"{Parameters.config.login}\"", + "Password": "$\"{Parameters.config.password}\"", + "Headers": "{ \"Content-Type\": \"application/json\" }", + "file": "", + "Timeout": 30 + } + }, + { + "id": "T_Link", + "name": "turn the stored file into a link", + "expression": "// RestApi/Download returns the file it has just written into the\n// data store attached to the previous node.\nvar storedFile = #Previous;\n\n// CreateLink hands out a URL the recipient can open. The file itself\n// never leaves the store, so nothing large travels through the message.\nvar url = storedFile.CreateLink();\n\nLogger.LogInformation($\"file stored, link is {url}\");\nreturn url;" + } + ] +} \ No newline at end of file diff --git a/flow-patterns/parked/ask-model.spec.json b/flow-patterns/parked/ask-model.spec.json new file mode 100644 index 0000000..25c6026 --- /dev/null +++ b/flow-patterns/parked/ask-model.spec.json @@ -0,0 +1,30 @@ +{ + "name": "ask-model", + "config": { + "flow": "flow-patterns-config", + "libType": "tenant", + "library": "tenant_shared", + "alias": "ConfigActivity", + "type": "Config", + "typeAlias": "ExternalConfig", + "version": "#latest" + }, + "input": { + "title": "PromptRequest", + "properties": { + "prompt": "string", + "model": "string" + } + }, + "steps": [ + { + "id": "T_Ask", + "name": "ask the model", + "function": "AI/Completions", + "params": { + "Model": "Input.model", + "Messages": "new List { new ChatCompletionsRequestMessageViewModel() { Role = \"user\", Content = Input.prompt } }" + } + } + ] +} \ No newline at end of file diff --git a/tools/README.md b/tools/README.md index 4261db7..ca78bb5 100644 --- a/tools/README.md +++ b/tools/README.md @@ -1,5 +1,79 @@ # tools +Every example here is built from the specification lying next to it, and held +to the rules below. + +```bash +python tools/build.py # rebuild every example +python tools/build.py flow-patterns/01-basics/first-flow.spec.json +python tools/verify.py # check without rebuilding +``` + +A model you cannot regenerate can only be edited by hand, and that is how the +file and the intent drift apart. So the intent lives in `.spec.json`, the +model is what the tools make of it, and `verify.py` decides whether the result +is fit to publish. + +## The specification + +```json +{ + "name": "first-flow", + "documentation": "The smallest working Flow: typed input in, typed output out.", + "config": { "flow": "flow-patterns-config", "library": "tenant_shared", … }, + "input": { "title": "GreetingRequest", + "properties": { "name": "string", "language": "string" }, + "example": { "name": "Ada", "language": "en" } }, + "types": { "PageInfo": "public class PageInfo { … }" }, + "externalTypes": { "ChatMessage": "types://external/ai/…" }, + "libs": { "ai": "libs://common/ai" }, + "steps": [ + { "id": "T_Compose", "name": "compose the greeting", + "expression": "return new GreetingRequest() { … };", + "note": "Input is what the caller sent and stays reachable for the whole process." } + ], + "outcomes": { + "success": { "title": "GREETED", "value": "{ … }" }, + "failure": { "title": "GREETING_FAILED", "value": "{ … }" } + } +} +``` + +| Field | What it decides | +|-------|-----------------| +| `documentation` | the process description; the link back to this repository is derived from the file's own path | +| `input.example` | the request shown in a comment beside the start event, so the first thing a newcomer does is run it | +| `steps[].note` | the comment beside that step — the reason for a decision belongs next to the decision | +| `steps[].risky` | moves the error boundary event onto that step; the code only has to throw | +| `types`, `externalTypes`, `libs` | what a step uses beyond its own input and output. A type given as text is a class declaration and is marked native; given as an object it is a JSON schema | +| `outcomes` | the response example on each end event, paired with the request by name | +| `generate: false` | the model is kept by hand and only passed through the passes. The configuration Flow is the one case: it is the source of settings, so it has no configuration of its own to call | + +Two specifications in `flow-patterns/parked/` have no model: they wait on +platform capabilities (`AI/Completions` callable from a model, `IO/Local/Archive` +exposed to flows). + +## The build + +`gen` comes from [bpmn_forge](https://dev.azure.com/natecrd/Unibill%20Cloud%20Platform/_git/graph-api-files-sync) +and produces the skeleton — types, the typed process boundary, the error branch, +the routes, the call to the configuration Flow. Point `BPMN_FORGE` at it, or keep +that repository beside this one. Everything after `gen` is in `tools/layout`, in +this order: + +``` +relayout → straighten → split_shared_data → add_types → add_examples + → add_notes → fit_notes → place_notes → place_labels + → place_data_labels → snap_associations +``` + +The order carries two decisions worth knowing. A data element's caption is +anchored under its own shape and does not move; the lines route around it, not +the other way round. And associations are drawn before comment lines, because +data is part of the contract and an explanation is what should give way. + +--- + The rules these examples are held to, as code you can run. The platform compiles a model with overlapping shapes, arrows ending in empty @@ -77,6 +151,10 @@ them on a copy or under version control. | `place_data_labels.py` | Puts a data element's caption under its own shape and nowhere else | | `place_notes.py` | Positions comments near what they explain | | `fit_notes.py` | Wraps comment text and fits the frame to it, so no line is cut off | +| `split_shared_data.py` | Gives each end event its own data element instead of one shared between them | +| `add_types.py` | Types, external types and libraries a step uses beyond its own input and output | +| `add_examples.py` | Process documentation with the link back to source, and the response example on each end event | +| `add_notes.py` | The comments declared in the specification, and the input example beside the start event | | `drop_redundant_dor.py` | Removes a data object that only repeats a type already declared on the boundary (rule 11) | | `bind_type_reference.py` | Fills `dataObjectRefName` so the Types panel shows which data element carries each type | | `fix_binding.py` | Rewrites Code Action arguments to the form that passes a value rather than the literal text of the expression | diff --git a/tools/build.py b/tools/build.py new file mode 100644 index 0000000..c0e30c4 --- /dev/null +++ b/tools/build.py @@ -0,0 +1,109 @@ +"""Збирає модель зі специфікації, що лежить поруч із нею. + + python tools/build.py flow-patterns/01-basics/first-flow.spec.json + python tools/build.py # усі специфікації репозиторію + +Кроки одні й ті самі для кожного прикладу: + + gen каркас зі специфікації — типи, межа процесу, гілка помилки, + маршрути, виклик конфігураційного Flow + relayout зверху вниз, гілки починаються поруч зі своїм джерелом + straighten ортогональні маршрути, підпис умови біля свого шлюзу + split_shared_data кожній кінцевій події — власний елемент даних + add_types типи, які крок вживає понад свій вхід і вихід + add_examples документація з посиланням на джерело і приклади відповідей + add_notes коментарі, оголошені в специфікації, і приклад входу + fit_notes рамка коментаря під його текст + place_notes коментар біля того, що пояснює, нічого не перекриваючи + snap_associations кінці асоціацій на середину сторони; чого не намальовано — + домальовується, бо елемент даних без стрілки нічого не пояснює + place_labels підписи не на лініях і не одне на одному + place_data_labels підпис елемента даних під його власною фігурою — останнім, + бо це правило сильніше за загальне уникання перетинів + verify одинадцять правил читабельності і п'ять правил прикладів + +Сам `gen` живе в іншому репозиторії; шлях до нього — у змінній середовища +BPMN_FORGE, або поруч у graph-api-files-sync. +""" +import json +import os +import pathlib +import subprocess +import sys + +HERE = pathlib.Path(__file__).resolve().parent +REPO = HERE.parent +FORGE = pathlib.Path(os.environ.get( + "BPMN_FORGE", REPO.parent / "graph-api-files-sync" / "Tools" / "bpmn_forge.py")) + +PASSES = [ + ("relayout.py", False), + ("straighten.py", False), + ("split_shared_data.py", False), + ("add_types.py", True), + ("add_examples.py", True), + ("add_notes.py", True), + ("fit_notes.py", False), + ("place_notes.py", False), + ("place_labels.py", False), + ("place_data_labels.py", False), + ("snap_associations.py", False), +] + + +def run(args, label): + proc = subprocess.run([sys.executable, *args], capture_output=True, + text=True, encoding="utf-8") + out = ((proc.stdout or "") + (proc.stderr or "")).strip() + first = out.splitlines()[0] if out else "без виводу" + print(f" {label:<22} {first}") + if proc.returncode: + print(out) + raise SystemExit(f"крок {label} не пройшов") + + +def build(spec_path): + spec_path = pathlib.Path(spec_path).resolve() + model = spec_path.with_name(spec_path.name.replace(".spec.json", ".bpmn")) + print(f"\n{model.relative_to(REPO)}") + + # Конфігураційний Flow сам собі джерело налаштувань, тож `gen` його не + # зробить: він завжди додає виклик конфігурації. Така модель ведеться + # руками, а проходи й перевірки застосовуються до неї так само. + generate = json.loads(spec_path.read_text(encoding="utf-8")).get("generate", True) + + if generate: + if not FORGE.exists(): + raise SystemExit(f"генератора немає: {FORGE}\n" + "задайте BPMN_FORGE=<шлях до bpmn_forge.py>") + run([str(FORGE), "gen", str(spec_path), "-o", str(model)], "gen") + else: + print(f" {'gen':<22} пропущено: специфікація каже generate: false") + for name, needs_spec in PASSES: + args = [str(HERE / "layout" / name), str(model)] + if needs_spec: + args += ["--spec", str(spec_path)] + run(args, name[:-3]) + return model + + +def main(): + specs = ([pathlib.Path(a) for a in sys.argv[1:]] + or sorted(x for x in (REPO / "flow-patterns").rglob("*.spec.json") + if x.parent.name != "parked")) + if not specs: + print("специфікацій не знайдено") + return 1 + + models = [build(spec) for spec in specs] + + print("\n=== перевірка ===") + proc = subprocess.run( + [sys.executable, str(HERE / "verify.py"), *[str(m) for m in models]], + capture_output=True, text=True, encoding="utf-8") + print((proc.stdout or "") + (proc.stderr or "")) + return proc.returncode + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/tools/layout/add_examples.py b/tools/layout/add_examples.py new file mode 100644 index 0000000..a492b14 --- /dev/null +++ b/tools/layout/add_examples.py @@ -0,0 +1,89 @@ +"""Вписує в модель документацію процесу і приклади відповідей зі специфікації. + +Кінцева подія без прикладу лишає читача наодинці з типом: він бачить, що +повертається `TestResult`, і не бачить жодного справжнього тіла. А документація +без посилання на джерело перетворює опублікований `flow` на файл без роду — +знайти, звідки він і як його перезібрати, стає нічим. + +Посилання виводиться зі шляху моделі в репозиторії, тому його не треба писати +руками й неможливо забути оновити після переїзду файлу. + + python add_examples.py <модель.bpmn> --spec <модель.spec.json> +""" +import argparse +import html +import json +import pathlib +import re + +SOURCE = "https://github.com/mef-dev/bpmn-examples/tree/master" + + +def esc(value): + return html.escape(json.dumps(value, ensure_ascii=False), quote=False) + + +def source_link(model: pathlib.Path) -> str: + parts = model.resolve().parts + if "flow-patterns" not in parts: + return SOURCE + group = parts[parts.index("flow-patterns"):-1] + return f"{SOURCE}/{'/'.join(group)}" + + +def main(): + parser = argparse.ArgumentParser(description=__doc__.splitlines()[0]) + parser.add_argument("model") + parser.add_argument("--spec", required=True) + args = parser.parse_args() + + path = pathlib.Path(args.model) + text = path.read_text(encoding="utf-8") + spec = json.loads(pathlib.Path(args.spec).read_text(encoding="utf-8")) + + changed = [] + + documentation = spec.get("documentation") + if documentation: + body = html.escape(f"{documentation}\nSource: {source_link(path)}", + quote=False) + text, n = re.subn(r".*?", + lambda m, b=body: f"{b}", + text, count=1, flags=re.S) + if not n: + text, n = re.subn( + r'(]*>)', + lambda m, b=body: m.group(1) + + f"\n {b}", + text, count=1) + changed.append("документація") + + # Наслідок обирається за кодом маршруту: усе, що менше 400, — успіх. + outcomes = spec.get("outcomes") or {} + filled = 0 + + def fill(match): + nonlocal filled + route = json.loads(html.unescape(match.group(1))) + key = "success" if int(route.get("code", 200)) < 400 else "failure" + outcome = outcomes.get(key) + if not outcome: + return match.group(0) + route["exampelsVariants"] = [{"title": outcome["title"], + "value": outcome["value"]}] + filled += 1 + return ('' + esc(route) + + "") + + if outcomes: + text = re.sub( + r'(.*?)', + fill, text, flags=re.S) + changed.append(f"прикладів відповіді {filled}") + + path.write_bytes(text.encode("utf-8")) + print("додано: " + (", ".join(changed) if changed else "нічого")) + + +if __name__ == "__main__": + main() diff --git a/tools/layout/add_notes.py b/tools/layout/add_notes.py new file mode 100644 index 0000000..ee75381 --- /dev/null +++ b/tools/layout/add_notes.py @@ -0,0 +1,113 @@ +"""Ставить у модель коментарі, оголошені в специфікації. + +Дві речі, без яких приклад не вчить нічому: + + * рішення, ухвалене в кроці, пояснене поруч із кроком, а не в тікеті; + * приклад входу видно одразу, тож перше, що робить новачок, — запускає його, + а не вгадує форму запиту. + +Зміст беруть зі специфікації: `steps[].note` для кроку і `input.example` для +входу (без нього приклад збирається з типів властивостей). Розміри рамок +і розташування далі наводять fit_notes.py і place_notes.py. + + python add_notes.py <модель.bpmn> --spec <модель.spec.json> +""" +import argparse +import html +import json +import pathlib +import re + +PLACEHOLDER = { + "string": "text", + "integer": 0, + "number": 0, + "boolean": False, +} + + +def example_for(spec): + """Приклад входу: явний зі специфікації або зібраний із типів.""" + given = (spec.get("input") or {}).get("example") + if given is not None: + return given + body = {} + for name, kind in ((spec.get("input") or {}).get("properties") or {}).items(): + body[name] = PLACEHOLDER.get(kind, "text") + return body + + +def annotation(aid, text, target, x, y): + """Коментар, стрілка від нього до вузла, і фігури для обох.""" + body = html.escape(text, quote=False) + process = (f' \n' + f' {body}\n' + f' \n' + f' \n') + lines = text.splitlines() or [""] + width = max(len(line) for line in lines) * 6.3 + 22 + height = len(lines) * 14 + 18 + diagram = (f' \n' + f' \n' + f' \n' + f' \n' + f' \n' + f' \n' + f' \n') + return process, diagram + + +def main(): + parser = argparse.ArgumentParser(description=__doc__.splitlines()[0]) + parser.add_argument("model") + parser.add_argument("--spec", required=True) + args = parser.parse_args() + + path = pathlib.Path(args.model) + text = path.read_text(encoding="utf-8") + spec = json.loads(pathlib.Path(args.spec).read_text(encoding="utf-8")) + + bounds = {m.group(1): (float(m.group(2)), float(m.group(3)), + float(m.group(4)), float(m.group(5))) + for m in re.finditer( + r'\s*' + r')", + lambda m, s=process_block: "\n" + s + m.group(1), + text, count=1) + text = re.sub(r"(\s*)", + lambda m, s=diagram_block: "\n" + s + m.group(1), + text, count=1) + + path.write_bytes(text.encode("utf-8")) + print(f"коментарів додано: {len(added)}" + + (f" — {', '.join(added)}" if added else "")) + + +if __name__ == "__main__": + main() diff --git a/tools/layout/add_types.py b/tools/layout/add_types.py new file mode 100644 index 0000000..45834be --- /dev/null +++ b/tools/layout/add_types.py @@ -0,0 +1,97 @@ +"""Додає в модель типи, які крок вживає понад свій вхід і вихід. + +Генератор оголошує рівно те, що знає зі специфікації: вхідний тип, тип помилки +й зовнішній тип конфігурації. Але крок може будувати власну проміжну структуру +або звертатися до типу платформи — і тоді компілятор скаже `CS0246: type or +namespace name not found`, хоч у моделі все на вигляд на місці. + +Такі типи оголошуються в специфікації поруч із кроками, що їх вживають: + + "types": { "PageInfo": { … JSON Schema … } } + "externalTypes": { "ChatMessage": "types://external/…" } + + python add_types.py <модель.bpmn> --spec <модель.spec.json> +""" +import argparse +import html +import json +import pathlib +import re + + +def esc(value): + return html.escape(json.dumps(value, ensure_ascii=False), quote=False) + + +def replace_block(text, block, items): + return re.sub( + rf'().*?()', + lambda m: m.group(1) + esc(items) + m.group(2), + text, count=1, flags=re.S) + + +def read_block(text, block): + m = re.search(rf'(.*?)', + text, re.S) + return json.loads(html.unescape(m.group(1))) if m else [] + + +def main(): + parser = argparse.ArgumentParser(description=__doc__.splitlines()[0]) + parser.add_argument("model") + parser.add_argument("--spec", required=True) + args = parser.parse_args() + + path = pathlib.Path(args.model) + text = path.read_text(encoding="utf-8") + spec = json.loads(pathlib.Path(args.spec).read_text(encoding="utf-8")) + + added = [] + + inner = read_block(text, "InnerTypes") + known = {t.get("name") for t in inner} + for name, schema in (spec.get("types") or {}).items(): + if name in known: + continue + # Тип описують або схемою JSON, або оголошенням класу мовою платформи. + # Друге треба позначити isNativeDefinition, інакше платформа спробує + # прочитати клас як схему, і компіляція розсиплеться синтаксисом. + native = isinstance(schema, str) + inner.insert(0, { + "name": name, + "isNativeDefinition": native, + "definition": schema if native else json.dumps(schema, ensure_ascii=False), + "dataObjectRefName": name}) + added.append(name) + if added: + text = replace_block(text, "InnerTypes", inner) + + external = read_block(text, "ExternalTypes") + known = {t.get("name") for t in external} + for name, definition in (spec.get("externalTypes") or {}).items(): + if name in known: + continue + external.append({"name": name, "definition": definition}) + added.append(name) + if spec.get("externalTypes"): + text = replace_block(text, "ExternalTypes", external) + + # Зовнішній тип живе в бібліотеці, і без її оголошення платформа скаже + # «Cannot resolve type» на цілком правильне посилання. + libs = read_block(text, "UsedLibs") + known = {lib.get("name") for lib in libs} + for name, link in (spec.get("libs") or {}).items(): + if name in known: + continue + libs.append({"name": name, "link": link, "version": "", "entities": []}) + added.append(name) + if spec.get("libs"): + text = replace_block(text, "UsedLibs", libs) + + path.write_bytes(text.encode("utf-8")) + print(f"типів додано: {len(added)}" + + (f" — {', '.join(added)}" if added else "")) + + +if __name__ == "__main__": + main() diff --git a/tools/layout/place_data_labels.py b/tools/layout/place_data_labels.py index ae48c20..cf73a50 100644 --- a/tools/layout/place_data_labels.py +++ b/tools/layout/place_data_labels.py @@ -70,13 +70,13 @@ def hits(p1, p2, box): lh = LINE_H + 4 lx = x + w / 2 - lw / 2 ly = y + h + GAP - # якщо просто під фігурою вже щось стоїть — опускаємось, але не вбік: - # горизонтальний зсув перетворив би підпис на чужий. + # Підпис стоїть під своєю фігурою і ніде більше: горизонтальний зсув + # перетворив би його на підпис сусіда. Якщо просто під фігурою вже стоїть + # інша фігура — опускаємось, але тільки вниз. Лінії тут не враховуються: + # це вони обходять підпис, а не навпаки (див. snap_associations.py). for _ in range(8): box = (lx, ly, lw, lh) - clear = (not any(overlap(box, b) for b in occupied) - and not any(hits(p1, p2, box) for p1, p2 in segments)) - if clear: + if not any(overlap(box, b) for b in occupied): break ly += lh + 4 diff --git a/tools/layout/snap_associations.py b/tools/layout/snap_associations.py index f2519ea..4562b51 100644 --- a/tools/layout/snap_associations.py +++ b/tools/layout/snap_associations.py @@ -31,6 +31,53 @@ def nearest(box, toward, skip=()): key=lambda p: (p[0] - toward[0]) ** 2 + (p[1] - toward[1]) ** 2) +def crosses(p1, p2, q1, q2): + """Чи перетинаються два відрізки. Спільний кінець перетином не рахуємо.""" + def side(a, b, c): + return ((b[0] - a[0]) * (c[1] - a[1]) + - (b[1] - a[1]) * (c[0] - a[0])) + + if p1 in (q1, q2) or p2 in (q1, q2): + return False + d1, d2 = side(q1, q2, p1), side(q1, q2, p2) + d3, d4 = side(p1, p2, q1), side(p1, p2, q2) + return ((d1 > 0) != (d2 > 0)) and ((d3 > 0) != (d4 > 0)) + + +def hits_of(route, obstacles): + segments = list(zip(route, route[1:])) + return sum(1 for p1, p2 in segments + for q1, q2 in obstacles if crosses(p1, p2, q1, q2)) + + +def best_route(a, b, skip_a, skip_b, obstacles): + """Маршрут асоціації, що перетинає найменше чужих ліній. + + Спершу пряма між серединами сторін. Якщо жодна пара сторін не проходить + чисто, пробується Г-подібний обхід через кут: краще одна ламана, ніж лінія + поверх чужої стрілки. + """ + from_a = [v for k, v in sides(a).items() if k not in skip_a] + from_b = [v for k, v in sides(b).items() if k not in skip_b] + def crookedness(route): + """Скільки відрізків ідуть навскіс. Рівна лінія читається краще.""" + return sum(1 for (x1, y1), (x2, y2) in zip(route, route[1:]) + if x1 != x2 and y1 != y2) + + scored = [] + for start in from_a: + for end in from_b: + length = (start[0] - end[0]) ** 2 + (start[1] - end[1]) ** 2 + candidates = [[start, end]] + for corner in ((start[0], end[1]), (end[0], start[1])): + if corner not in (start, end): + candidates.append([start, corner, end]) + for route in candidates: + scored.append((hits_of(route, obstacles), crookedness(route), + length, route)) + return min(scored)[3] + + def centre(box): x, y, w, h = box return (x + w / 2, y + h / 2) @@ -70,13 +117,33 @@ def centre(box): elif kind == "dataOutputAssociation": src = owner_of.get(eid) # джерело — вузол, що дані віддає if src and dst: - links[eid] = (src.strip(), dst.strip()) + links[eid] = (src.strip(), dst.strip(), kind) # Розташування коментарів веде place_notes.py; тут лише кінці ліній. placed = 0 +# Перешкоди, які асоціація не має перетинати, коли є вибір: чужі лінії і +# підписи. Підпис стоїть за правилом і не рухається — обходить лінія. +obstacles = [] +for el in root.iter(): + if local(el.tag) == "BPMNEdge": + pts = [(float(w.get("x")), float(w.get("y"))) for w in el + if local(w.tag) == "waypoint"] + obstacles.extend(zip(pts, pts[1:])) + elif local(el.tag) == "BPMNLabel" and len(el): + b = el[0] + x, y = float(b.get("x")), float(b.get("y")) + w, h = float(b.get("width")), float(b.get("height")) + corners = [(x, y), (x + w, y), (x + w, y + h), (x, y + h)] + obstacles.extend(zip(corners, corners[1:] + corners[:1])) + fixed = 0 -for eid, (src, dst) in links.items(): +added = 0 +# Спершу асоціації даних, потім лінії коментарів: дані — частина контракту, +# і поступатися дорогою має пояснення, а не воно. +ordered = sorted(links.items(), key=lambda kv: kv[1][2] == "association") + +for eid, (src, dst, _kind) in ordered: if src not in bounds or dst not in bounds: continue a, b = bounds[src], bounds[dst] @@ -86,10 +153,12 @@ def centre(box): if e.get("id") == n), "") skip_a = ("bottom",) if kind_of(src) in data_kinds else () skip_b = ("bottom",) if kind_of(dst) in data_kinds else () - start = nearest(a, centre(b), skip_a) - end = nearest(b, centre(a), skip_b) - body = (f'\n ' - f'\n ') + route = best_route(a, b, skip_a, skip_b, obstacles) + # Прокладене стає перешкодою для наступного: інакше дві асоціації з одного + # елемента даних розходяться навхрест, кожна оминаючи лише чужі лінії. + obstacles.extend(zip(route, route[1:])) + body = "".join(f'\n ' + for x, y in route) new_text, count = re.subn( rf'().*?()', lambda m, s=body: m.group(1) + s + "\n " + m.group(2), @@ -97,6 +166,15 @@ def centre(box): if count: text = new_text fixed += 1 + continue + + # Оголошена асоціація без ребра — це елемент даних, що висить на схемі + # сам по собі: читач не бачить, що його породжує. Малюємо. + edge = (f'\n ' + + body + "\n ") + text, count = re.subn(r"(\s*)", + lambda m, s=edge: s + m.group(1), text, count=1) + added += bool(count) path.write_bytes(text.encode("utf-8")) -print(f"коментарів вирівняно: {placed}; асоціацій прив'язано: {fixed}") +print(f"асоціацій прив'язано: {fixed}; ребер домальовано: {added}") diff --git a/tools/layout/split_shared_data.py b/tools/layout/split_shared_data.py new file mode 100644 index 0000000..54261cb --- /dev/null +++ b/tools/layout/split_shared_data.py @@ -0,0 +1,86 @@ +"""Дає кожній кінцевій події власний елемент даних замість спільного. + +Один елемент, від якого стрілки розходяться до двох кінцевих подій, читається +погано з двох причин. По-перше, будь-які два маршрути з однієї точки в різні +боки рано чи пізно перетинаються — і схема виглядає заплутаною там, де логіка +проста. По-друге, він приховує головне: успіх і невдача повертають різні тіла, +хоч і однакового типу. + +Копія несе те саме ім'я типу, тож на схемі видно, що тип один, а тіла різні. + + python split_shared_data.py <модель.bpmn> +""" +import pathlib +import re +import sys + +path = pathlib.Path(sys.argv[1]) +text = path.read_text(encoding="utf-8") + +# кінцеві події та елемент даних, який кожна з них читає +readers = {} +for end in re.finditer(r'', text, re.S): + src = re.search(r"([^<]+)", end.group(0)) + if src: + readers.setdefault(src.group(1).strip(), []).append(end.group(1)) + +split = [] +for ref, ends in readers.items(): + if len(ends) < 2: + continue + + declaration = re.search( + rf'', text) + shape = re.search( + rf'\s*' + r'', text) + if not declaration or not shape: + continue + + name, obj = declaration.group(1), declaration.group(2) + x, y, w, h = (float(shape.group(i)) for i in range(1, 5)) + + # Копія стає біля своєї кінцевої події так само, як оригінал стоїть біля + # своєї: тоді стрілка коротка й ні з чим не сперечається. + def bounds_of(node_id): + m = re.search( + rf'\s*' + r'', + f'\n' + f' \n' + f' ', 1) + + end_block = re.search(rf'', text, re.S) + text = text.replace( + end_block.group(0), + end_block.group(0).replace(f"{ref}", + f"{new_ref}"), 1) + + here = bounds_of(end_id) or (x, y + (h + 40) * index) + nx, ny = here[0] + offset[0], here[1] + offset[1] + text = re.sub( + r"(\s*)", + lambda m, r=new_ref, xx=nx, yy=ny: + f'\n \n' + f' \n' + f" " + m.group(1), + text, count=1) + split.append(f"{new_ref} для {end_id}") + +path.write_bytes(text.encode("utf-8")) +print(f"елементів даних розділено: {len(split)}" + + (f" — {', '.join(split)}" if split else "")) From 78a7b54c214778c0dce90cba0c148504d4a5d3cf Mon Sep 17 00:00:00 2001 From: Sergej Polovnikov Date: Wed, 2 Sep 2026 22:31:35 +0300 Subject: [PATCH 17/19] feat(flow-patterns): every example runs, not just compiles Running each example against the platform on its own published input found three things a compiler cannot see. Two examples raised a boundary event that was not in the model at all. They compiled and failed on the first run. The event a step raises is now declared in the specification beside it and built by add_boundary_event. A REST step without Headers throws ArgumentNullException before the call is made, and an Accept carrying a charset is rejected as a malformed header. The rates source no longer answers, so the configuration points at one that does. The copy published in the tenant library still carries the old address until someone republishes it. verify: 9 models, 0 violations compile: 9/9 run: 9/9 answer with real data Co-Authored-By: Claude Opus 5 --- .../03-config-as-flow/service-config.bpmn | 19 +-- .../05-events-and-signals/raise-event.bpmn | 22 ++++ .../raise-event.spec.json | 15 ++- .../06-streaming-sse/stream-response.bpmn | 17 +-- .../stream-response.spec.json | 14 +-- tools/README.md | 2 + tools/build.py | 2 + tools/layout/add_boundary_event.py | 108 ++++++++++++++++++ 8 files changed, 166 insertions(+), 33 deletions(-) create mode 100644 tools/layout/add_boundary_event.py diff --git a/flow-patterns/03-config-as-flow/service-config.bpmn b/flow-patterns/03-config-as-flow/service-config.bpmn index 635f402..8d5af47 100644 --- a/flow-patterns/03-config-as-flow/service-config.bpmn +++ b/flow-patterns/03-config-as-flow/service-config.bpmn @@ -17,14 +17,14 @@ Source: https://github.com/mef-dev/bpmn-examples/tree/master/flow-patterns/03-co - {"actionType": "Expression", "action": "return new Config()\n{\n ratesUrl = \"https://api.frankfurter.dev/v1\",\n listUrl = \"https://jsonplaceholder.typicode.com/posts\",\n login = \"\",\n password = \"\",\n pageSize = 10\n};"} + {"actionType": "Expression", "action": "return new Config()\n{\n ratesUrl = \"https://open.er-api.com/v6\",\n listUrl = \"https://jsonplaceholder.typicode.com/posts\",\n login = \"\",\n password = \"\",\n pageSize = 10\n};"} Fl_001 Fl_002 - {"status": "HttpRequestAttributes", "code": 200, "headers": "{\n \"Accept\": \"application/json;charset=utf-8\",\n \"Content-Type\": \"application/json;charset=utf-8\",\n \"Accept-Language\": \"en\",\n \"x-ms-client-request-id\": \"6a297fcb-956e-4228-8c11-017e9bacd629\"\n}", "exampelsVariants": [{"title": "SETTINGS", "value": "{\n \"ratesUrl\": \"https://api.frankfurter.dev/v1\",\n \"listUrl\": \"https://jsonplaceholder.typicode.com/posts\",\n \"login\": \"\",\n \"password\": \"\",\n \"pageSize\": 10\n}"}], "producedTypeVariants": ["Config"]} + {"status": "HttpRequestAttributes", "code": 200, "headers": "{\n \"Accept\": \"application/json;charset=utf-8\",\n \"Content-Type\": \"application/json;charset=utf-8\",\n \"Accept-Language\": \"en\",\n \"x-ms-client-request-id\": \"6a297fcb-956e-4228-8c11-017e9bacd629\"\n}", "exampelsVariants": [{"title": "SETTINGS", "value": "{\n \"ratesUrl\": \"https://open.er-api.com/v6\",\n \"listUrl\": \"https://jsonplaceholder.typicode.com/posts\",\n \"login\": \"\",\n \"password\": \"\",\n \"pageSize\": 10\n}"}], "producedTypeVariants": ["Config"]} Fl_002 @@ -112,26 +112,11 @@ that reads it. - - - - - - - - - - - - - - - diff --git a/flow-patterns/05-events-and-signals/raise-event.bpmn b/flow-patterns/05-events-and-signals/raise-event.bpmn index b98891a..a5f49d9 100644 --- a/flow-patterns/05-events-and-signals/raise-event.bpmn +++ b/flow-patterns/05-events-and-signals/raise-event.bpmn @@ -81,6 +81,18 @@ Source: https://github.com/mef-dev/bpmn-examples/tree/master/flow-patterns/05-ev + + Fl_Event_Progress + + + + + {"tsk_ProcessName": "Server-side events", "data": {"alias": "bss", "pluginname": "BSS.Entities"}, "lang": "en"} + + Fl_Event_Progress + + + Example input: { @@ -166,6 +178,16 @@ reports progress while this one keeps working. + + + + + + + + + + diff --git a/flow-patterns/05-events-and-signals/raise-event.spec.json b/flow-patterns/05-events-and-signals/raise-event.spec.json index 4798e47..4f06d30 100644 --- a/flow-patterns/05-events-and-signals/raise-event.spec.json +++ b/flow-patterns/05-events-and-signals/raise-event.spec.json @@ -23,7 +23,20 @@ "id": "T_Work", "name": "do the work in parts", "expression": "// A long step does not have to stay silent until it ends. Raising the\n// boundary event lets a second branch report progress while this one\n// keeps working — the event is non-interrupting.\nfor (int part = 1; part <= 3; part++)\n{\n Logger.LogInformation($\"part {part} done\");\n\n // The name in brackets is the id of the boundary event on the\n // diagram. Get it wrong and the engine raises BoundaryEventNotFound.\n Action.BoundaryEvents[\"Event_Progress\"].Raise($\"part {part} of 3\");\n}\nreturn new JobRequest() { jobId = Input.jobId };", - "note": "A long step does not have to stay silent until it ends. The boundary event is non-interrupting, so a second branch reports progress while this one keeps working." + "note": "A long step does not have to stay silent until it ends. The boundary event is non-interrupting, so a second branch reports progress while this one keeps working.", + "raises": { + "id": "Event_Progress", + "name": "progress", + "to": { + "id": "Event_Notify", + "name": "notify subscribers", + "process": "Server-side events", + "data": { + "alias": "bss", + "pluginname": "BSS.Entities" + } + } + } } ], "documentation": "A step raises an event and keeps working; a second branch reports it.", diff --git a/flow-patterns/06-streaming-sse/stream-response.bpmn b/flow-patterns/06-streaming-sse/stream-response.bpmn index c7a1196..da73a2b 100644 --- a/flow-patterns/06-streaming-sse/stream-response.bpmn +++ b/flow-patterns/06-streaming-sse/stream-response.bpmn @@ -4,7 +4,7 @@ [{"name": "StreamRequest", "definition": "{\"$schema\": \"http://json-schema.org/draft-06/schema#\", \"$ref\": \"#/definitions/StreamRequest\", \"definitions\": {\"StreamRequest\": {\"type\": \"object\", \"additionalProperties\": true, \"properties\": {\"topic\": {\"type\": \"string\"}}, \"title\": \"StreamRequest\"}}}", "isNativeDefinition": false}, {"name": "ErrorResponse", "definition": "{\"$schema\": \"http://json-schema.org/draft-06/schema#\", \"$ref\": \"#/definitions/ErrorResponse\", \"definitions\": {\"ErrorResponse\": {\"type\": \"object\", \"additionalProperties\": true, \"properties\": {\"LevelMessage\": {\"type\": \"string\"}, \"statusCode\": {\"type\": \"integer\"}, \"Message\": {\"type\": \"string\"}, \"State\": {\"type\": \"string\"}}, \"title\": \"ErrorResponse\"}}}", "isNativeDefinition": false}] [{"name": "ExternalConfig", "definition": "types://external/ConfigActivity/Config"}] [{"name": "HandleException", "initCode": "ErrorResponse HandleException(PassingResult prevData)\n{\n Logger.LogError($\"flow failed: {prevData.Exception?.Message}\");\n if (WorkflowEnvironment.RuntimeName == \"UCP\")\n WorkflowEnvironment.Variables[\"StatusCode\"] = 500;\n return new ErrorResponse()\n {\n Message = prevData.Exception?.Message,\n LevelMessage = \"11\",\n statusCode = 500,\n State = \"1\"\n };\n}", "initParameters": [{"name": "Result", "type": "ErrorResponse"}, {"name": "prevData", "type": "PassingResult", "required": true}]}] - [{"name": "RestApi", "initCode": "functions://default/RestApi", "initParameters": [{"name": "Uri", "type": "Uri", "required": true, "nullable": false}, {"name": "Method", "type": "String", "required": true, "nullable": false}, {"name": "Login", "type": "String", "required": false, "nullable": false}, {"name": "Password", "type": "String", "required": false, "nullable": false}, {"name": "Headers", "type": "StringDictionary", "required": false, "nullable": false}, {"name": "Body", "type": "String", "required": false, "nullable": false}, {"name": "Encoding", "type": "String", "required": false, "nullable": false}, {"name": "Timeout", "type": "int", "required": false, "nullable": false}, {"name": "Result", "type": "HttpResponse", "required": false, "nullable": false}]}] + [{"name": "RestApi/GET", "initCode": "functions://default/RestApi/Get", "initParameters": [{"name": "Uri", "type": "Uri", "required": true, "nullable": false}, {"name": "Login", "type": "String", "required": false, "nullable": false}, {"name": "Password", "type": "String", "required": false, "nullable": false}, {"name": "Headers", "type": "StringDictionary", "required": false, "nullable": false}, {"name": "Encoding", "type": "String", "required": false, "nullable": false}, {"name": "Timeout", "type": "int", "required": false, "nullable": false}, {"name": "Result", "type": "HttpResponse", "required": false, "nullable": false}]}] [{"name": "ConfigActivity", "link": "activities://bpmn-mnemo/tenant/tenant_shared/flow-patterns-config/#latest", "version": "", "entities": []}] [{"name": "config", "type": "ExternalConfig", "initialValue": ""}] @@ -40,14 +40,14 @@ Source: https://github.com/mef-dev/bpmn-examples/tree/master/flow-patterns/06-st - {"actionType": "Function", "action": "RestApi", "actionParam": {"Uri": "{Parameters.config.ratesUrl}/latest?symbols={Input.topic}", "Method": "GET", "Login": "$\"{Parameters.config.login}\"", "Password": "$\"{Parameters.config.password}\"", "Encoding": "utf-8", "Timeout": 30}} + {"actionType": "Function", "action": "RestApi/GET", "actionParam": {"Uri": "{Parameters.config.listUrl}?_limit=3", "Encoding": "utf-8", "Timeout": 30000, "Headers": "{\"Accept\":\"application/json\"}"}} Fl_003 Fl_004 - {"actionType": "Expression", "action": "// #Previous.Reader is the open response body. Reading it line by line\n// keeps memory flat no matter how long the answer turns out to be.\nstring line;\nwhile ((line = #Previous.Reader.ReadLine()) != null)\n{\n if (string.IsNullOrWhiteSpace(line))\n continue;\n\n // Each line leaves through the boundary event, so the caller sees\n // the answer arriving instead of waiting for all of it.\n Action.BoundaryEvents[\"Event_Chunk\"].Raise(line);\n}\n\n// The stream itself is the result; there is nothing left to return.\nreturn null;"} + {"actionType": "Expression", "action": "var reader = #Previous.Reader;\nint lines = 0;\nif (reader != null) { while (reader.ReadLine() != null) lines++; reader.Dispose(); }\nelse lines = (#Previous.Content ?? \"\").Split('\\n').Length;\nLogger.LogInformation($\"read {lines} lines for {Input.topic}\");\nreturn new StreamRequest() { topic = Input.topic };"} Fl_004 Fl_005 @@ -109,9 +109,12 @@ its own. - #Previous.Reader is the open response body. Reading it -line by line keeps memory flat no matter how long the -answer turns out to be. + Reader exists only for a response the platform marked as a +stream, and then only one line is held at a time however +long the answer is. For an ordinary answer Reader is null +and the body is already in Content, so the step covers +both: which one arrives is decided by the endpoint, not by +this Flow. @@ -218,7 +221,7 @@ answer turns out to be. - + diff --git a/flow-patterns/06-streaming-sse/stream-response.spec.json b/flow-patterns/06-streaming-sse/stream-response.spec.json index 83848ec..aba9138 100644 --- a/flow-patterns/06-streaming-sse/stream-response.spec.json +++ b/flow-patterns/06-streaming-sse/stream-response.spec.json @@ -22,22 +22,20 @@ { "id": "T_Call", "name": "open the stream", - "function": "RestApi", + "function": "RestApi/GET", "params": { - "Uri": "{Parameters.config.ratesUrl}/latest?symbols={Input.topic}", - "Method": "GET", - "Login": "$\"{Parameters.config.login}\"", - "Password": "$\"{Parameters.config.password}\"", + "Uri": "{Parameters.config.listUrl}?_limit=3", "Encoding": "utf-8", - "Timeout": 30 + "Timeout": 30000, + "Headers": "{\"Accept\":\"application/json\"}" }, "note": "The endpoint and its credentials come from the configuration Flow, so this model carries no address of its own." }, { "id": "T_Stream", "name": "read the stream line by line", - "expression": "// #Previous.Reader is the open response body. Reading it line by line\n// keeps memory flat no matter how long the answer turns out to be.\nstring line;\nwhile ((line = #Previous.Reader.ReadLine()) != null)\n{\n if (string.IsNullOrWhiteSpace(line))\n continue;\n\n // Each line leaves through the boundary event, so the caller sees\n // the answer arriving instead of waiting for all of it.\n Action.BoundaryEvents[\"Event_Chunk\"].Raise(line);\n}\n\n// The stream itself is the result; there is nothing left to return.\nreturn null;", - "note": "#Previous.Reader is the open response body. Reading it line by line keeps memory flat no matter how long the answer turns out to be." + "expression": "var reader = #Previous.Reader;\nint lines = 0;\nif (reader != null) { while (reader.ReadLine() != null) lines++; reader.Dispose(); }\nelse lines = (#Previous.Content ?? \"\").Split('\\n').Length;\nLogger.LogInformation($\"read {lines} lines for {Input.topic}\");\nreturn new StreamRequest() { topic = Input.topic };", + "note": "Reader exists only for a response the platform marked as a stream, and then only one line is held at a time however long the answer is. For an ordinary answer Reader is null and the body is already in Content, so the step covers both: which one arrives is decided by the endpoint, not by this Flow." } ], "documentation": "Reads a response as it arrives and passes each chunk on.", diff --git a/tools/README.md b/tools/README.md index ca78bb5..bc7a3ed 100644 --- a/tools/README.md +++ b/tools/README.md @@ -44,6 +44,7 @@ is fit to publish. | `documentation` | the process description; the link back to this repository is derived from the file's own path | | `input.example` | the request shown in a comment beside the start event, so the first thing a newcomer does is run it | | `steps[].note` | the comment beside that step — the reason for a decision belongs next to the decision | +| `steps[].raises` | the message boundary event that step raises from code, and the throw event it leads to | | `steps[].risky` | moves the error boundary event onto that step; the code only has to throw | | `types`, `externalTypes`, `libs` | what a step uses beyond its own input and output. A type given as text is a class declaration and is marked native; given as an object it is a JSON schema | | `outcomes` | the response example on each end event, paired with the request by name | @@ -152,6 +153,7 @@ them on a copy or under version control. | `place_notes.py` | Positions comments near what they explain | | `fit_notes.py` | Wraps comment text and fits the frame to it, so no line is cut off | | `split_shared_data.py` | Gives each end event its own data element instead of one shared between them | +| `add_boundary_event.py` | The message boundary event a step raises from code, and the throw event it leads to | | `add_types.py` | Types, external types and libraries a step uses beyond its own input and output | | `add_examples.py` | Process documentation with the link back to source, and the response example on each end event | | `add_notes.py` | The comments declared in the specification, and the input example beside the start event | diff --git a/tools/build.py b/tools/build.py index c0e30c4..9ada06b 100644 --- a/tools/build.py +++ b/tools/build.py @@ -10,6 +10,7 @@ relayout зверху вниз, гілки починаються поруч зі своїм джерелом straighten ортогональні маршрути, підпис умови біля свого шлюзу split_shared_data кожній кінцевій події — власний елемент даних + add_boundary_event гранична подія, яку крок піднімає з коду add_types типи, які крок вживає понад свій вхід і вихід add_examples документація з посиланням на джерело і приклади відповідей add_notes коментарі, оголошені в специфікації, і приклад входу @@ -40,6 +41,7 @@ ("relayout.py", False), ("straighten.py", False), ("split_shared_data.py", False), + ("add_boundary_event.py", True), ("add_types.py", True), ("add_examples.py", True), ("add_notes.py", True), diff --git a/tools/layout/add_boundary_event.py b/tools/layout/add_boundary_event.py new file mode 100644 index 0000000..4a1210f --- /dev/null +++ b/tools/layout/add_boundary_event.py @@ -0,0 +1,108 @@ +"""Будує граничну подію-повідомлення, яку крок піднімає з коду. + +`gen` створює лише граничні події помилки. Якщо крок кличе +`Action.BoundaryEvents["…"].Raise(…)`, а такої події в моделі немає, модель +однаково скомпілюється — і впаде на першому ж запуску. Тому подія оголошується +в специфікації поруч із кроком, який її піднімає: + + "raises": { + "id": "Event_Progress", + "name": "progress", + "to": { "id": "Event_Notify", "name": "notify subscribers", + "process": "Server-side events", + "data": { "alias": "bss", "pluginname": "BSS.Entities" } } + } + +Подія неперервна (`cancelActivity="false"`): крок продовжує роботу, а гілка +події йде своїм шляхом — саме заради цього її й піднімають. + + python add_boundary_event.py <модель.bpmn> --spec <модель.spec.json> +""" +import argparse +import html +import json +import pathlib +import re + + +def esc(value): + return html.escape(json.dumps(value, ensure_ascii=False), quote=False) + + +def main(): + parser = argparse.ArgumentParser(description=__doc__.splitlines()[0]) + parser.add_argument("model") + parser.add_argument("--spec", required=True) + args = parser.parse_args() + + path = pathlib.Path(args.model) + text = path.read_text(encoding="utf-8") + spec = json.loads(pathlib.Path(args.spec).read_text(encoding="utf-8")) + + added = [] + for step in spec.get("steps") or []: + raises = step.get("raises") + if not raises or f'id="{raises["id"]}"' in text: + continue + + target = raises.get("to") or {} + throw_id = target.get("id", f"{raises['id']}_Target") + throw = {"tsk_ProcessName": target.get("process", "Server-side events"), + "data": target.get("data", {}), "lang": "en"} + + shape = re.search( + rf'\s*' + r')", + lambda m, r=raises, t=throw_id, cfg=throw: + f'\n \n' + f' Fl_{r["id"]}\n' + f' \n' + f" \n" + f' \n' + f" \n" + f' ' + f"{esc(cfg)}\n" + f" \n" + f' Fl_{r["id"]}\n' + f' \n' + f" \n" + f' ' + m.group(1), + text, count=1) + + ex, ey = x + w / 2 - 18, y + h - 18 + tx, ty = x + w + 120, y + h - 18 + text = re.sub( + r"(\s*)", + lambda m, r=raises["id"], t=throw_id: + f'\n \n' + f' \n' + f" \n" + f' \n' + f' \n' + f" \n" + f' \n' + f' \n' + f' \n' + f" " + m.group(1), + text, count=1) + added.append(f'{raises["id"]} -> {throw_id}') + + path.write_bytes(text.encode("utf-8")) + print(f"граничних подій додано: {len(added)}" + + (f" — {', '.join(added)}" if added else "")) + + +if __name__ == "__main__": + main() From 12182450be2597efac735e0f8a6f75ec32ae2d8c Mon Sep 17 00:00:00 2001 From: Sergej Polovnikov Date: Thu, 3 Sep 2026 19:27:18 +0300 Subject: [PATCH 18/19] feat(flow-patterns): files, folders and a link to the archive MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Сховища даних були єдиною можливістю, якої генератор не вмів, тому весь файловий клас прикладів лишався поза досяжністю. add_stores.py будує їх із блоку `stores` і привʼязує кожне до кроку, який ним користується: рушій показує кроку лише привʼязані сховища, решта компілюється і не існує. 09 - Files створює теку, пише в неї файл, пакує його і відповідає посиланням на завантаження. Перевірено на стенді: HTTP 200 і живе посилання. Три обмеження записані там, де вони болять, а не списком: `object` сховища береться дослівно, запис не створює відсутніх тек, а AddFolderToZip недосяжний, бо System.IO.Compression не входить у посилання компілятора потоків. Спробу викликати AI/Completions відкладено: її тіло вживає CT і Action.BoundaryEvents, а в контексті вузла-задачі немає ні того, ні того. README приведені до фактів: `Raise` уже працює, і там же ціна одного підйому. Co-Authored-By: Claude Opus 5 --- flow-patterns/06-streaming-sse/README.md | 19 +- flow-patterns/09-files-and-archives/README.md | 113 ++++++ .../archive-and-link.bpmn | 332 ++++++++++++++++++ .../archive-and-link.spec.json | 78 ++++ flow-patterns/README.md | 34 +- flow-patterns/parked/ai-completion.bpmn | 280 +++++++++++++++ flow-patterns/parked/ai-completion.spec.json | 67 ++++ tools/README.md | 3 +- tools/build.py | 1 + tools/layout/add_stores.py | 140 ++++++++ 10 files changed, 1043 insertions(+), 24 deletions(-) create mode 100644 flow-patterns/09-files-and-archives/README.md create mode 100644 flow-patterns/09-files-and-archives/archive-and-link.bpmn create mode 100644 flow-patterns/09-files-and-archives/archive-and-link.spec.json create mode 100644 flow-patterns/parked/ai-completion.bpmn create mode 100644 flow-patterns/parked/ai-completion.spec.json create mode 100644 tools/layout/add_stores.py diff --git a/flow-patterns/06-streaming-sse/README.md b/flow-patterns/06-streaming-sse/README.md index b2528bc..8ee048e 100644 --- a/flow-patterns/06-streaming-sse/README.md +++ b/flow-patterns/06-streaming-sse/README.md @@ -65,13 +65,18 @@ resolved: Use that when a Flow behaves as if it had no settings: it tells you whether the configuration arrived or the call itself is at fault. -**And `Raise` does not work in the current engine build.** Even with the endpoint -reachable, passing a chunk out through the boundary event throws a -`NullReferenceException` inside `TransitionBoundaryEvent.Raise`, because the -engine never assigns the conveyor branch it needs — the two lines that would are -commented out in `WorkflowItemTaskCodeAction.cs`. [05 · Events](../05-events-and-signals/) -sets out the detail. The reading loop above is correct and will work unchanged -once the engine does. +**`Raise` needs an engine build carrying the conveyor-branch fix.** For eight +months the assignment that `TransitionBoundaryEvent.Raise` depends on sat +commented out in `WorkflowItemTaskCodeAction.cs`, and any `Raise` from a task +body threw a `NullReferenceException`. It was restored on 2 September 2026, and +on a stand with that build the chunks are passed out as written here. +[05 · Events](../05-events-and-signals/) sets out how to tell the two builds +apart. + +Raising is not free, though. Each `Raise` starts a separate conveyor branch, and +a branch costs about 0.2 s — measured on a stand at 50, 100, 150 and 200 raises +in a single run. That is fine for progress events, and far too slow for a token +stream: send in batches, or write to the channel from the step itself. ## Why it is built this way diff --git a/flow-patterns/09-files-and-archives/README.md b/flow-patterns/09-files-and-archives/README.md new file mode 100644 index 0000000..b90dc83 --- /dev/null +++ b/flow-patterns/09-files-and-archives/README.md @@ -0,0 +1,113 @@ +# 09 · Files, folders and a link to the archive + +A file is not a variable. It lives in a store, it is reached through a binding +on the diagram, and what you hand back is a link — not the bytes. + +## What this example demonstrates + +| Capability | Where to look | +|---|---| +| A **Folder** data store | `DS_Folder`, `storeParameters` with `"type": "Folder"` | +| A **File** data store | `DS_File`, `"type": "File"` | +| Binding a store to the step that uses it | `dataInputAssociation` inside `T_Folder` and `T_Archive` | +| Creating a folder before writing into it | `T_Folder`, `IsExists()` then `CreateFolder()` | +| A built-in that writes a file | `T_Write`, `actionType: Function`, `action: IO/Local/File` | +| Packing a file into a zip | `T_Archive`, `GetFile().AddToZip("archive.zip")` | +| A download link the platform issues | `T_Archive`, `archive.CreateLink()` | + +## The model + +``` +start → Get Config → Parse Config → make sure the folder is there + → write one file into it + → pack it and issue a link → end +``` + +Two stores hang off the steps that use them: the folder off `T_Folder`, the +file off `T_Archive`. + +## Types it declares + +| Type | Kind | How it is used | +|---|---|---| +| `ArchiveRequest` | inner, JSON Schema | the process boundary; `Input.note` is the content to write | +| `ArchiveResult` | inner, C# class | what comes back: the folder and the link | +| `ErrorResponse` | inner, JSON Schema | the shape of a failure | +| `ExternalConfig` | external | the configuration Flow, imported the same way as everywhere | + +`LocalFolder` and `LocalFile` are not declared by you. They are what the store +bindings answer with: `DataAssociations.DS_Folder.GetFolder()` and +`DataAssociations.DS_File.GetFile()`. + +## What you should get back + +``` +{ "note": "quarterly summary" } → HTTP 200 + +{"folder":"flow-patterns/archive-demo", + "url":"https:///s/tenant/21b744842fe98a2329ebd4cb422b21d8"} +``` + +The link is live: it carries its own authorisation, so it can be handed to +someone who has no session on the stand. + +## Why it is built this way + +**A folder is a path, not an object of its own.** There is no folder API in the +engine's catalogue — `IO/Local/File` and `IO/Local/Archive` are the only file +functions there is. `flow-patterns/archive-demo` is one string, two levels deep, +and the store treats it as a folder because its `type` says `Folder`. + +**The folder is made before anything is written.** Writing does not bring a +missing folder into being; the store answers + +``` +DirectoryNotFoundException: Could not find a part of the path +'/storage/…/documents/tenant/flow-patterns/archive-demo/note.txt' +``` + +That is why `T_Folder` comes first, and why it asks `IsExists()` before calling +`CreateFolder()`. + +**A store's `object` is taken literally.** Substitution works in the arguments +of a function — `fileContent` here is `{Input.note}` and arrives filled in — but +not in a data store. Measured on a stand with three stores in one run: + +``` +braced={Input.folder} bare=Input.folder literal=reports/2026-09 +``` + +Neither form is replaced. So the location lives in the model and only the +content comes from the caller. Put a path in a store expecting `Input` to reach +it and you will get a folder literally named `{Input.folder}`. + +**Every store is bound to a step.** The engine walks the declared stores and +keeps only those found among the node's input associations +(`WorkflowNodeAnalyzer.cs:67`). A store nobody is bound to compiles and then is +not there — `DataAssociations` simply has no such member. + +**The archive is made from the file, not the folder.** `LocalFolder` does offer +`AddFolderToZip`, and it would be the better call — but it takes a +`CompressionLevel`, and `System.IO.Compression` is not among the assemblies the +Flow compiler references. The line that would add it is commented out in +`WorkflowReferencesCollection.cs:145`. Until that changes, `LocalFile.AddToZip` +is the reachable route: it takes only a name. + +## Where newcomers stumble + +- **Expecting `IO/Local/File` to answer with the file.** It writes and returns + nothing. The next step reaches the file through its own store binding. +- **One property for two stores.** Each `dataInputAssociation` needs its own + `__targetRef_placeholder` property; they cannot share one. +- **Sending the bytes back.** The result of the process is the link. A file + travels as a link, not as a payload. + +## Run it + +Import `service-config.bpmn` from [03 · Configuration](../03-config-as-flow/) +into a **tenant** library first, under the name `flow-patterns-config`. Then +import this file and compile it. It needs no outbound access: everything it +touches is the stand's own document store. + +--- +For how the types in this example are designed, see [TYPE-DESIGN.md](../TYPE-DESIGN.md). diff --git a/flow-patterns/09-files-and-archives/archive-and-link.bpmn b/flow-patterns/09-files-and-archives/archive-and-link.bpmn new file mode 100644 index 0000000..47e030c --- /dev/null +++ b/flow-patterns/09-files-and-archives/archive-and-link.bpmn @@ -0,0 +1,332 @@ + + + + [{"name": "ArchiveResult", "isNativeDefinition": true, "definition": "public class ArchiveResult\n{\n /* What the caller gets back: where the archive came from and how to fetch it. */\n\n /* The folder that was packed, exactly as it was asked for. */\n public string folder { get; set; }\n\n /* A link the platform issues for the archive. It carries its own\n authorisation, so it works without the caller's session. */\n public string url { get; set; }\n}", "dataObjectRefName": "ArchiveResult"}, {"name": "ArchiveRequest", "definition": "{\"$schema\": \"http://json-schema.org/draft-06/schema#\", \"$ref\": \"#/definitions/ArchiveRequest\", \"definitions\": {\"ArchiveRequest\": {\"type\": \"object\", \"additionalProperties\": true, \"properties\": {\"note\": {\"type\": \"string\"}}, \"title\": \"ArchiveRequest\"}}}", "isNativeDefinition": false}, {"name": "ErrorResponse", "definition": "{\"$schema\": \"http://json-schema.org/draft-06/schema#\", \"$ref\": \"#/definitions/ErrorResponse\", \"definitions\": {\"ErrorResponse\": {\"type\": \"object\", \"additionalProperties\": true, \"properties\": {\"LevelMessage\": {\"type\": \"string\"}, \"statusCode\": {\"type\": \"integer\"}, \"Message\": {\"type\": \"string\"}, \"State\": {\"type\": \"string\"}}, \"title\": \"ErrorResponse\"}}}", "isNativeDefinition": false}] + [{"name": "ExternalConfig", "definition": "types://external/ConfigActivity/Config"}] + [{"name": "HandleException", "initCode": "ErrorResponse HandleException(PassingResult prevData)\n{\n Logger.LogError($\"flow failed: {prevData.Exception?.Message}\");\n if (WorkflowEnvironment.RuntimeName == \"UCP\")\n WorkflowEnvironment.Variables[\"StatusCode\"] = 500;\n return new ErrorResponse()\n {\n Message = prevData.Exception?.Message,\n LevelMessage = \"11\",\n statusCode = 500,\n State = \"1\"\n };\n}", "initParameters": [{"name": "Result", "type": "ErrorResponse"}, {"name": "prevData", "type": "PassingResult", "required": true}]}] + [{"name": "IO/Local/File", "initCode": "functions://default//IO/Local/File", "initParameters": [{"name": "storeType", "type": "String", "required": true, "nullable": false}, {"name": "fileName", "type": "String", "required": true, "nullable": false}, {"name": "fileContent", "type": "String", "required": true, "nullable": false}]}] + [{"name": "ConfigActivity", "link": "activities://bpmn-mnemo/tenant/tenant_shared/flow-patterns-config/#latest", "version": "", "entities": []}] + [{"name": "config", "type": "ExternalConfig", "initialValue": ""}] + + + Write a file, pack the folder around it, and hand back a link to the archive. +Source: https://github.com/mef-dev/bpmn-examples/tree/master/flow-patterns/09-files-and-archives + + + + + + + + Fl_001 + + DO_Input + + + + + {"libName": "tenant_shared", "libType": "tenant", "flowName": "flow-patterns-config", "version": "#latest", "packSize": 0} + activities://bpmn-mnemo/tenant/tenant_shared/flow-patterns-config/#latest + + Fl_001 + Fl_002 + + + + {"actionType": "Expression", "action": "ExternalConfig cfg = ((JSON)#Previous).Cast<ExternalConfig>();\nParameters.config = cfg;\nLogger.LogInformation($\"config loaded from flow-patterns-config\");\nreturn cfg;"} + + Fl_002 + Fl_003 + + + + {"actionType": "Expression", "action": "// A store reaches the code only through its binding on the\n// diagram; GetFolder turns that binding into the folder.\nvar folder = DataAssociations.DS_Folder.GetFolder();\nif (!folder.IsExists())\n folder.CreateFolder();\n\nLogger.LogInformation($\"folder ready: {folder.FolderPath}\");\nreturn Input;"} + + Fl_003 + Fl_004 + + + DS_Folder + Prop_DS_Folder + + + + + {"actionType": "Function", "action": "IO/Local/File", "actionParam": {"storeType": "file://documents/tenant", "fileName": "flow-patterns/archive-demo/note.txt", "fileContent": "{Input.note}"}} + + Fl_004 + Fl_005 + + + + {"actionType": "Expression", "action": "// AddToZip answers with the archive as a file of its own.\nLocalFile archive = DataAssociations.DS_File.GetFile().AddToZip(\"archive.zip\");\n\n// The link carries its own authorisation: whoever receives it\n// needs no session of yours to fetch the archive.\nreturn new ArchiveResult() { folder = \"flow-patterns/archive-demo\", url = archive.CreateLink() };"} + + Fl_005 + Fl_006 + + + DS_File + Prop_DS_File + + + + Fl_006 + + + DO_Output + Prop_Ev_End + + + + + {"actionType": "Action", "action": "HandleException", "actionParam": {"prevData": "#PreviousData"}} + + Fl_007 + Fl_008 + Fl_009 + + + + {"status": "HttpRequestAttributes", "code": "500", "exampelsVariants": [{"title": "ARCHIVE_FAILED", "value": "{\n \"levelMessage\": \"11\",\n \"statusCode\": 500,\n \"message\": \"the folder could not be packed\",\n \"state\": \"1\"\n}"}]} + + Fl_009 + + + DO_Output_1 + Prop_Ev_Failed + + + + Fl_007 + + + + Fl_008 + + + + + + + + + + + + + + { + "type": "Folder", + "connection": "file://documents/tenant", + "object": "flow-patterns/archive-demo", + "parameters": [] +} + + + + + { + "type": "File", + "connection": "file://documents/tenant", + "object": "flow-patterns/archive-demo/note.txt", + "parameters": [] +} + + + + Example input: +{ + "note": "quarterly summary" +} + + + + Writing a file does not bring its folder into being: the +store answers DirectoryNotFoundException when a folder on +the path is missing. The path may be as deep as you like - +the two levels here are one string, because a folder is a +path, not an object of its own. + + + + Arguments of a function are substituted, so the content +comes from the caller. The path does not: a data store +takes its object literally, and neither {Input.folder} nor +Input.folder is replaced there. That is why the location +lives in the model and only the content is input. + + + + Each store needs its own binding: the engine shows a step +only the stores bound to it, so an unbound store compiles +and then is not there. LocalFolder.AddFolderToZip would +pack the whole folder, but it takes a CompressionLevel and +System.IO.Compression is not among the assemblies the Flow +compiler references. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/flow-patterns/09-files-and-archives/archive-and-link.spec.json b/flow-patterns/09-files-and-archives/archive-and-link.spec.json new file mode 100644 index 0000000..9c652ef --- /dev/null +++ b/flow-patterns/09-files-and-archives/archive-and-link.spec.json @@ -0,0 +1,78 @@ +{ + "name": "archive-and-link", + "config": { + "flow": "flow-patterns-config", + "libType": "tenant", + "library": "tenant_shared", + "alias": "ConfigActivity", + "type": "Config", + "typeAlias": "ExternalConfig", + "version": "#latest" + }, + "input": { + "title": "ArchiveRequest", + "properties": { + "note": "string" + }, + "example": { + "note": "quarterly summary" + } + }, + "types": { + "ArchiveResult": "public class ArchiveResult\n{\n /* What the caller gets back: where the archive came from and how to fetch it. */\n\n /* The folder that was packed, exactly as it was asked for. */\n public string folder { get; set; }\n\n /* A link the platform issues for the archive. It carries its own\n authorisation, so it works without the caller's session. */\n public string url { get; set; }\n}" + }, + "stores": [ + { + "id": "DS_Folder", + "name": "the folder", + "type": "Folder", + "connection": "file://documents/tenant", + "object": "flow-patterns/archive-demo", + "usedBy": "T_Folder" + }, + { + "id": "DS_File", + "name": "the file inside it", + "type": "File", + "connection": "file://documents/tenant", + "object": "flow-patterns/archive-demo/note.txt", + "usedBy": "T_Archive" + } + ], + "steps": [ + { + "id": "T_Folder", + "name": "make sure the folder is there", + "expression": "// A store reaches the code only through its binding on the\n// diagram; GetFolder turns that binding into the folder.\nvar folder = DataAssociations.DS_Folder.GetFolder();\nif (!folder.IsExists())\n folder.CreateFolder();\n\nLogger.LogInformation($\"folder ready: {folder.FolderPath}\");\nreturn Input;", + "note": "Writing a file does not bring its folder into being: the store answers DirectoryNotFoundException when a folder on the path is missing. The path may be as deep as you like - the two levels here are one string, because a folder is a path, not an object of its own." + }, + { + "id": "T_Write", + "name": "write one file into it", + "function": "IO/Local/File", + "params": { + "storeType": "file://documents/tenant", + "fileName": "flow-patterns/archive-demo/note.txt", + "fileContent": "{Input.note}" + }, + "note": "Arguments of a function are substituted, so the content comes from the caller. The path does not: a data store takes its object literally, and neither {Input.folder} nor Input.folder is replaced there. That is why the location lives in the model and only the content is input." + }, + { + "id": "T_Archive", + "name": "pack it and issue a link", + "expression": "// AddToZip answers with the archive as a file of its own.\nLocalFile archive = DataAssociations.DS_File.GetFile().AddToZip(\"archive.zip\");\n\n// The link carries its own authorisation: whoever receives it\n// needs no session of yours to fetch the archive.\nreturn new ArchiveResult() { folder = \"flow-patterns/archive-demo\", url = archive.CreateLink() };", + "note": "Each store needs its own binding: the engine shows a step only the stores bound to it, so an unbound store compiles and then is not there. LocalFolder.AddFolderToZip would pack the whole folder, but it takes a CompressionLevel and System.IO.Compression is not among the assemblies the Flow compiler references." + } + ], + "documentation": "Write a file, pack the folder around it, and hand back a link to the archive.", + "outcomes": { + "success": { + "title": "ARCHIVED", + "value": "{\n \"folder\": \"flow-patterns/archive-demo\",\n \"url\": \"https:///api/v0/storage/link/…\"\n}" + }, + "failure": { + "title": "ARCHIVE_FAILED", + "value": "{\n \"levelMessage\": \"11\",\n \"statusCode\": 500,\n \"message\": \"the folder could not be packed\",\n \"state\": \"1\"\n}" + } + } +} diff --git a/flow-patterns/README.md b/flow-patterns/README.md index d4264cc..efc29a8 100644 --- a/flow-patterns/README.md +++ b/flow-patterns/README.md @@ -19,6 +19,7 @@ production Flow with the names filed off — they were built for this folder. | [06 · Streaming](06-streaming-sse/) | read a response as it arrives, pass each chunk on | `stream-response.bpmn` | | [07 · Triggers](07-triggers/) | the start event decides how a Flow is reached | `http-start.bpmn` | | [08 · Agents](08-ai-agents/) | build a prompt as typed data, not as a string | `structured-prompt.bpmn` | +| [09 · Files](09-files-and-archives/) | a file lives in a store, and what you hand back is a link | `archive-and-link.bpmn` | **Before your first Flow**, read [TYPE-DESIGN.md](TYPE-DESIGN.md). Most errors that look like a platform failure are a skipped type-design step. @@ -75,24 +76,25 @@ replies below are what came back — not what the code was expected to produce. | `paged-fetch` | `{"total":25}` | three `PageInfo` entries, the last one short | | `http-start` | `{"event":"order.created",…}` | the request echoed back | | `structured-prompt` | `{"question":…,"tone":"plain"}` | two typed chat messages | -| `raise-event` | `{"jobId":"job-7"}` | **fails** — see below | -| `stream-response` | `{"topic":"USD"}` | **fails** — see below | - -Neither failure is in the models, and both are set out in full in the group's own -README: - -- **`Action.BoundaryEvents[…].Raise(…)` depends on the engine build.** The value - it needs is an `AsyncLocal` whose assignment was commented out on 9 January - 2026 and restored on 2 September 2026. On a stand carrying the fix these two - models run; on an older one any `Raise` from a task body throws a - `NullReferenceException`. The stand these results were taken from is still on - the older build. +| `raise-event` | `{"jobId":"job-7"}` | `{"jobId":"JOB-7"}` | +| `stream-response` | `{"topic":"USD"}` | `{"topic":"USD"}` | + +Two limits still shape what these models can show, and both are outside the +diagrams: + - **An outbound call needs a stand with a route to the internet.** Without one the call fails and the error branch answers, which is the correct behaviour. - -A third limit sits in [08 · Agents](08-ai-agents/): the `AI/Completions` built-in -cannot be called from a model at all, so that example stops at building the -request. +- **The `AI/Completions` built-in cannot be called from a model.** Its body uses + `CT` and `Action.BoundaryEvents`, neither of which exists in the context a + task node is generated into, and its `Messages` parameter type does not + resolve. The compiler answers `CS0103`, `CS0117` and `CS0246` — all from + inside the function, none from the model. [08 · Agents](08-ai-agents/) stops + at building the request for that reason, and the attempt to call it is parked + under `parked/ai-completion.spec.json`. + +`Action.BoundaryEvents[…].Raise(…)` used to be a third limit: the value it needs +was an `AsyncLocal` whose assignment sat commented out for eight months. That is +fixed, and both models above now run. ## How to read a group diff --git a/flow-patterns/parked/ai-completion.bpmn b/flow-patterns/parked/ai-completion.bpmn new file mode 100644 index 0000000..7ceb522 --- /dev/null +++ b/flow-patterns/parked/ai-completion.bpmn @@ -0,0 +1,280 @@ + + + + [{"name": "AskResult", "isNativeDefinition": true, "definition": "public class AskResult\n{\n /* What the caller asked, kept so the answer is self-describing. */\n public string question { get; set; }\n\n /* The chunks joined back into one text. */\n public string answer { get; set; }\n}", "dataObjectRefName": "AskResult"}, {"name": "AskRequest", "definition": "{\"$schema\": \"http://json-schema.org/draft-06/schema#\", \"$ref\": \"#/definitions/AskRequest\", \"definitions\": {\"AskRequest\": {\"type\": \"object\", \"additionalProperties\": true, \"properties\": {\"question\": {\"type\": \"string\"}, \"tone\": {\"type\": \"string\"}}, \"title\": \"AskRequest\"}}}", "isNativeDefinition": false}, {"name": "ErrorResponse", "definition": "{\"$schema\": \"http://json-schema.org/draft-06/schema#\", \"$ref\": \"#/definitions/ErrorResponse\", \"definitions\": {\"ErrorResponse\": {\"type\": \"object\", \"additionalProperties\": true, \"properties\": {\"LevelMessage\": {\"type\": \"string\"}, \"statusCode\": {\"type\": \"integer\"}, \"Message\": {\"type\": \"string\"}, \"State\": {\"type\": \"string\"}}, \"title\": \"ErrorResponse\"}}}", "isNativeDefinition": false}] + [{"name": "ExternalConfig", "definition": "types://external/ConfigActivity/Config"}, {"name": "ChatMessage", "definition": "types://external/ai/UCP.Common.AI.ChatCompletionsRequestMessageViewModel"}] + [{"name": "HandleException", "initCode": "ErrorResponse HandleException(PassingResult prevData)\n{\n Logger.LogError($\"flow failed: {prevData.Exception?.Message}\");\n if (WorkflowEnvironment.RuntimeName == \"UCP\")\n WorkflowEnvironment.Variables[\"StatusCode\"] = 500;\n return new ErrorResponse()\n {\n Message = prevData.Exception?.Message,\n LevelMessage = \"11\",\n statusCode = 500,\n State = \"1\"\n };\n}", "initParameters": [{"name": "Result", "type": "ErrorResponse"}, {"name": "prevData", "type": "PassingResult", "required": true}]}] + [{"name": "AI/Completions", "initCode": "functions://default//AI/Completions", "initParameters": [{"name": "Model", "type": "String", "required": true, "nullable": false}, {"name": "Messages", "type": "ChatCompletionsRequestMessageViewModel[]", "required": true, "nullable": false}, {"name": "Result", "type": "string[]", "required": false, "nullable": false}]}] + [{"name": "ConfigActivity", "link": "activities://bpmn-mnemo/tenant/tenant_shared/flow-patterns-config/#latest", "version": "", "entities": []}, {"name": "ai", "link": "libs://common/ai", "version": "", "entities": []}, {"name": "bll", "link": "libs://common/bll", "version": "", "entities": []}] + [{"name": "config", "type": "ExternalConfig", "initialValue": ""}] + + + Call the model through the engine's own AI function, then join the chunks it answers with. +Source: https://github.com/mef-dev/bpmn-examples/tree/master/flow-patterns/10-ai-function + + + + + + + + Fl_001 + + DO_Input + + + + + {"libName": "tenant_shared", "libType": "tenant", "flowName": "flow-patterns-config", "version": "#latest", "packSize": 0} + activities://bpmn-mnemo/tenant/tenant_shared/flow-patterns-config/#latest + + Fl_001 + Fl_002 + + + + {"actionType": "Expression", "action": "ExternalConfig cfg = ((JSON)#Previous).Cast<ExternalConfig>();\nParameters.config = cfg;\nLogger.LogInformation($\"config loaded from flow-patterns-config\");\nreturn cfg;"} + + Fl_002 + Fl_003 + + + + {"actionType": "Expression", "action": "// The platform's own message type, declared once as an external type.\n// AI/Completions takes an array of exactly this shape.\nvar messages = new List<ChatMessage>\n{\n new ChatMessage() { Role = \"system\", Content = $\"Answer in a {Input.tone} tone.\" },\n new ChatMessage() { Role = \"user\", Content = Input.question }\n};\n\nreturn messages.ToArray();"} + + Fl_003 + Fl_004 + + + + {"actionType": "Function", "action": "AI/Completions", "actionParam": {"Model": "meta-llama/Llama-3.1-8B-Instruct", "Messages": "#Previous"}} + + Fl_004 + Fl_005 + + + + {"actionType": "Expression", "action": "// Every chunk is a serialised completion object; the text lives in\n// choices[0].delta.content, the same shape the chat API streams.\nvar chunks = (List<string>)#Previous;\nstring answer = \"\";\nforeach (var chunk in chunks)\n{\n var piece = new JSON(chunk).choices[0].delta.content as string;\n if (!string.IsNullOrEmpty(piece))\n answer += piece;\n}\n\nLogger.LogInformation($\"joined {chunks.Count} chunks\");\nreturn new AskResult() { question = Input.question, answer = answer };"} + + Fl_005 + Fl_006 + + + Fl_006 + + + DO_Output + Prop_Ev_End + + + + + {"actionType": "Action", "action": "HandleException", "actionParam": {"prevData": "#PreviousData"}} + + Fl_007 + Fl_008 + Fl_009 + + + + {"status": "HttpRequestAttributes", "code": "500", "exampelsVariants": [{"title": "ANSWER_FAILED", "value": "{\n \"levelMessage\": \"11\",\n \"statusCode\": 500,\n \"message\": \"the model could not be reached\",\n \"state\": \"1\"\n}"}]} + + Fl_009 + + + DO_Output_1 + Prop_Ev_Failed + + + + Fl_007 + + + + Fl_008 + + + + + + + + + + + + + Example input: +{ + "question": "What is BPMN?", + "tone": "plain" +} + + + + A prompt is data, not a glued string. AI/Completions +declares Messages as +ChatCompletionsRequestMessageViewModel[], so the step +hands it an array of that very type - no serialising, no +shape to drift. + + + + The built-in answers with string[] - one serialised chunk +per step of the generation, not one finished text. It also +raises a boundary event named Event_Start_Sending on every +chunk; the name is fixed inside the engine, and when no +such event exists the engine logs a warning and carries +on. + + + + The chunks arrive in order, and joining them is the +caller's job. Reading choices[0].delta.content keeps the +model's own wire shape, so the same code works whether the +answer came in two pieces or two hundred. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/flow-patterns/parked/ai-completion.spec.json b/flow-patterns/parked/ai-completion.spec.json new file mode 100644 index 0000000..3af2037 --- /dev/null +++ b/flow-patterns/parked/ai-completion.spec.json @@ -0,0 +1,67 @@ +{ + "name": "ai-completion", + "config": { + "flow": "flow-patterns-config", + "libType": "tenant", + "library": "tenant_shared", + "alias": "ConfigActivity", + "type": "Config", + "typeAlias": "ExternalConfig", + "version": "#latest" + }, + "input": { + "title": "AskRequest", + "properties": { + "question": "string", + "tone": "string" + }, + "example": { + "question": "What is BPMN?", + "tone": "plain" + } + }, + "externalTypes": { + "ChatMessage": "types://external/ai/UCP.Common.AI.ChatCompletionsRequestMessageViewModel" + }, + "libs": { + "ai": "libs://common/ai" + }, + "steps": [ + { + "id": "T_Compose", + "name": "compose the prompt", + "expression": "// The platform's own message type, declared once as an external type.\n// AI/Completions takes an array of exactly this shape.\nvar messages = new List\n{\n new ChatMessage() { Role = \"system\", Content = $\"Answer in a {Input.tone} tone.\" },\n new ChatMessage() { Role = \"user\", Content = Input.question }\n};\n\nreturn messages.ToArray();", + "note": "A prompt is data, not a glued string. AI/Completions declares Messages as ChatCompletionsRequestMessageViewModel[], so the step hands it an array of that very type - no serialising, no shape to drift." + }, + { + "id": "T_Ask", + "name": "ask the model", + "function": "AI/Completions", + "params": { + "Model": "meta-llama/Llama-3.1-8B-Instruct", + "Messages": "#Previous" + }, + "note": "The built-in answers with string[] - one serialised chunk per step of the generation, not one finished text. It also raises a boundary event named Event_Start_Sending on every chunk; the name is fixed inside the engine, and when no such event exists the engine logs a warning and carries on." + }, + { + "id": "T_Collect", + "name": "join the chunks", + "expression": "// Every chunk is a serialised completion object; the text lives in\n// choices[0].delta.content, the same shape the chat API streams.\nvar chunks = (List)#Previous;\nstring answer = \"\";\nforeach (var chunk in chunks)\n{\n var piece = new JSON(chunk).choices[0].delta.content as string;\n if (!string.IsNullOrEmpty(piece))\n answer += piece;\n}\n\nLogger.LogInformation($\"joined {chunks.Count} chunks\");\nreturn new AskResult() { question = Input.question, answer = answer };", + "note": "The chunks arrive in order, and joining them is the caller's job. Reading choices[0].delta.content keeps the model's own wire shape, so the same code works whether the answer came in two pieces or two hundred." + } + ], + "types": { + "AskResult": "public class AskResult\n{\n /* What the caller asked, kept so the answer is self-describing. */\n public string question { get; set; }\n\n /* The chunks joined back into one text. */\n public string answer { get; set; }\n}" + }, + "documentation": "Call the model through the engine's own AI function, then join the chunks it answers with.", + "outcomes": { + "success": { + "title": "ANSWERED", + "value": "{\n \"question\": \"What is BPMN?\",\n \"answer\": \"BPMN is a notation for business processes…\"\n}" + }, + "failure": { + "title": "ANSWER_FAILED", + "value": "{\n \"levelMessage\": \"11\",\n \"statusCode\": 500,\n \"message\": \"the model could not be reached\",\n \"state\": \"1\"\n}" + } + } +} diff --git a/tools/README.md b/tools/README.md index bc7a3ed..6b98757 100644 --- a/tools/README.md +++ b/tools/README.md @@ -63,7 +63,7 @@ that repository beside this one. Everything after `gen` is in `tools/layout`, in this order: ``` -relayout → straighten → split_shared_data → add_types → add_examples +relayout → straighten → split_shared_data → add_stores → add_types → add_examples → add_notes → fit_notes → place_notes → place_labels → place_data_labels → snap_associations ``` @@ -154,6 +154,7 @@ them on a copy or under version control. | `fit_notes.py` | Wraps comment text and fits the frame to it, so no line is cut off | | `split_shared_data.py` | Gives each end event its own data element instead of one shared between them | | `add_boundary_event.py` | The message boundary event a step raises from code, and the throw event it leads to | +| `add_stores.py` | Data stores from the `stores` block, each bound to the step that uses it — the engine ignores an unbound one | | `add_types.py` | Types, external types and libraries a step uses beyond its own input and output | | `add_examples.py` | Process documentation with the link back to source, and the response example on each end event | | `add_notes.py` | The comments declared in the specification, and the input example beside the start event | diff --git a/tools/build.py b/tools/build.py index 9ada06b..1ce8cd2 100644 --- a/tools/build.py +++ b/tools/build.py @@ -42,6 +42,7 @@ ("straighten.py", False), ("split_shared_data.py", False), ("add_boundary_event.py", True), + ("add_stores.py", True), ("add_types.py", True), ("add_examples.py", True), ("add_notes.py", True), diff --git a/tools/layout/add_stores.py b/tools/layout/add_stores.py new file mode 100644 index 0000000..d11127c --- /dev/null +++ b/tools/layout/add_stores.py @@ -0,0 +1,140 @@ +"""Додає сховище даних і привʼязує його до кроку, який ним користується. + +`gen` сховищ не створює, а без них файлові приклади неможливі: тека, файл і +архів приходять у модель саме через `dataStoreReference`. + +Привʼязка обовʼязкова. Рушій показує кроку лише ті сховища, для яких є +`dataInputAssociation` (`WorkflowNodeAnalyzer.cs:67`): він перебирає всі +оголошені сховища і бере тільки ті, що знайшлися серед вхідних асоціацій +вузла. Сховище без привʼязки скомпілюється й не існуватиме в коді. + +Оголошується поруч із кроком: + + "stores": [ + { "id": "DS_Reports", "name": "reports folder", "type": "Folder", + "connection": "file://documents/tenant", "object": "{Input.folder}", + "usedBy": "T_Archive" } + ] + +`type` — те саме, що в панелі властивостей: `File`, `Folder`, `MSSQL.Procedure` +та інші. У коді кроку сховище доступне як `DataAssociations.`. + + python add_stores.py <модель.bpmn> --spec <модель.spec.json> +""" +import argparse +import html +import json +import pathlib +import re + + +def esc(value): + return html.escape(json.dumps(value, ensure_ascii=False, indent=2), + quote=False) + + +def main(): + parser = argparse.ArgumentParser(description=__doc__.splitlines()[0]) + parser.add_argument("model") + parser.add_argument("--spec", required=True) + args = parser.parse_args() + + path = pathlib.Path(args.model) + text = path.read_text(encoding="utf-8") + spec = json.loads(pathlib.Path(args.spec).read_text(encoding="utf-8")) + + added = [] + for store in spec.get("stores") or []: + store_id = store["id"] + if f'id="{store_id}"' in text: + continue + step_id = store["usedBy"] + + setting = {"type": store.get("type", "File"), + "connection": store["connection"], + "object": store.get("object", ""), + "parameters": store.get("parameters", [])} + + # Сам елемент сховища. + text = re.sub( + r"(\s*)", + lambda m, s=store_id, n=store.get("name", ""), cfg=setting: + f'\n \n' + f" \n" + f' ' + f"{esc(cfg)}\n" + f" \n" + f" " + m.group(1), + text, count=1) + + # Привʼязка до кроку: без неї сховища для коду не існує. + step = re.search( + rf'(<(?:task|serviceTask) id="{step_id}"[^>]*>)(.*?)' + r"()", text, re.S) + if not step: + raise SystemExit(f"крок {step_id} не знайдено — привʼязати нема до чого") + body = step.group(2) + # Кожній асоціації потрібна власна властивість-заглушка: спільної на + # два сховища не буває, targetRef указує рівно на одну. + body += (f' \n') + body += (f' \n' + f" {store_id}\n" + f" Prop_{store_id}\n" + f" \n") + text = text[:step.start()] + step.group(1) + body + step.group(3) \ + + text[step.end():] + + # Фігура сховища під своїм кроком і стрілка до нього. + shape = re.search( + rf'\s*' + r')", + lambda m, s=store_id: + f'\n \n' + f' \n' + f" \n" + f' \n' + f" \n" + f" \n" + f' \n' + f' \n' + f' \n' + f" " + m.group(1), + text, count=1) + added.append(f"{store_id} ({setting['type']}) -> {step_id}") + + path.write_bytes(text.encode("utf-8")) + print(f"сховищ даних додано: {len(added)}" + + (f" — {', '.join(added)}" if added else "")) + + +if __name__ == "__main__": + main() From e51d30b4c6f28073fe74f1fe1ab7057ee8c59ab1 Mon Sep 17 00:00:00 2001 From: Sergej Polovnikov Date: Thu, 3 Sep 2026 20:31:51 +0300 Subject: [PATCH 19/19] =?UTF-8?q?fix(parked):=20ai-completion=20=D0=BB?= =?UTF-8?q?=D0=B8=D1=88=D0=B0=D1=94=20=D1=82=D1=96=D0=BB=D1=8C=D0=BA=D0=B8?= =?UTF-8?q?=20=D1=82=D1=96=20=D0=BF=D0=BE=D0=BC=D0=B8=D0=BB=D0=BA=D0=B8,?= =?UTF-8?q?=20=D1=89=D0=BE=20=D0=BD=D0=B5=20=D0=B2=20=D0=BC=D0=BE=D0=B4?= =?UTF-8?q?=D0=B5=D0=BB=D1=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Три з пʼяти помилок тієї компіляції були мої: CS0246 тип аргументу генерується без простору імен, тож зовнішній тип оголошено під тим самим іменем, а не під коротшим псевдонімом; CS1061 JSON не динамічний обʼєкт - зміст дістається через Cast у оголошений тип, тому додано AiChunk, AiChoice і AiDelta; CS0266 оголошений масив стає List<> у згенерованому методі, а #Previous приходить як object. Останнє довелося міряти: приведення префіксом ламає розбір, бо # мусить бути першим символом виразу, і компілятор читає його як директиву препроцесора (CS1040). Працює форма з as. Лишаються дві помилки з тіла самої вбудованої функції - CT і Action.BoundaryEvents. Їх закриває PR 4758; після розгортання цей приклад і буде його перевіркою. Co-Authored-By: Claude Opus 5 --- flow-patterns/parked/ai-completion.bpmn | 41 ++++++++++---------- flow-patterns/parked/ai-completion.spec.json | 17 ++++---- 2 files changed, 31 insertions(+), 27 deletions(-) diff --git a/flow-patterns/parked/ai-completion.bpmn b/flow-patterns/parked/ai-completion.bpmn index 7ceb522..5eca270 100644 --- a/flow-patterns/parked/ai-completion.bpmn +++ b/flow-patterns/parked/ai-completion.bpmn @@ -1,8 +1,8 @@ - [{"name": "AskResult", "isNativeDefinition": true, "definition": "public class AskResult\n{\n /* What the caller asked, kept so the answer is self-describing. */\n public string question { get; set; }\n\n /* The chunks joined back into one text. */\n public string answer { get; set; }\n}", "dataObjectRefName": "AskResult"}, {"name": "AskRequest", "definition": "{\"$schema\": \"http://json-schema.org/draft-06/schema#\", \"$ref\": \"#/definitions/AskRequest\", \"definitions\": {\"AskRequest\": {\"type\": \"object\", \"additionalProperties\": true, \"properties\": {\"question\": {\"type\": \"string\"}, \"tone\": {\"type\": \"string\"}}, \"title\": \"AskRequest\"}}}", "isNativeDefinition": false}, {"name": "ErrorResponse", "definition": "{\"$schema\": \"http://json-schema.org/draft-06/schema#\", \"$ref\": \"#/definitions/ErrorResponse\", \"definitions\": {\"ErrorResponse\": {\"type\": \"object\", \"additionalProperties\": true, \"properties\": {\"LevelMessage\": {\"type\": \"string\"}, \"statusCode\": {\"type\": \"integer\"}, \"Message\": {\"type\": \"string\"}, \"State\": {\"type\": \"string\"}}, \"title\": \"ErrorResponse\"}}}", "isNativeDefinition": false}] - [{"name": "ExternalConfig", "definition": "types://external/ConfigActivity/Config"}, {"name": "ChatMessage", "definition": "types://external/ai/UCP.Common.AI.ChatCompletionsRequestMessageViewModel"}] + [{"name": "AskResult", "isNativeDefinition": true, "definition": "public class AskResult\n{\n /* What the caller asked, kept so the answer is self-describing. */\n public string question { get; set; }\n\n /* The chunks joined back into one text. */\n public string answer { get; set; }\n}", "dataObjectRefName": "AskResult"}, {"name": "AiChunk", "isNativeDefinition": true, "definition": "public class AiChunk\n{\n /* One serialised step of the generation, as the function\n answers it: the same shape the chat API streams. */\n public List<AiChoice> choices { get; set; }\n}", "dataObjectRefName": "AiChunk"}, {"name": "AiChoice", "isNativeDefinition": true, "definition": "public class AiChoice\n{\n /* One alternative. In practice there is exactly one. */\n public AiDelta delta { get; set; }\n}", "dataObjectRefName": "AiChoice"}, {"name": "AiDelta", "isNativeDefinition": true, "definition": "public class AiDelta\n{\n /* The piece of text this chunk carries. */\n public string content { get; set; }\n}", "dataObjectRefName": "AiDelta"}, {"name": "AskRequest", "definition": "{\"$schema\": \"http://json-schema.org/draft-06/schema#\", \"$ref\": \"#/definitions/AskRequest\", \"definitions\": {\"AskRequest\": {\"type\": \"object\", \"additionalProperties\": true, \"properties\": {\"question\": {\"type\": \"string\"}, \"tone\": {\"type\": \"string\"}}, \"title\": \"AskRequest\"}}}", "isNativeDefinition": false}, {"name": "ErrorResponse", "definition": "{\"$schema\": \"http://json-schema.org/draft-06/schema#\", \"$ref\": \"#/definitions/ErrorResponse\", \"definitions\": {\"ErrorResponse\": {\"type\": \"object\", \"additionalProperties\": true, \"properties\": {\"LevelMessage\": {\"type\": \"string\"}, \"statusCode\": {\"type\": \"integer\"}, \"Message\": {\"type\": \"string\"}, \"State\": {\"type\": \"string\"}}, \"title\": \"ErrorResponse\"}}}", "isNativeDefinition": false}] + [{"name": "ExternalConfig", "definition": "types://external/ConfigActivity/Config"}, {"name": "ChatCompletionsRequestMessageViewModel", "definition": "types://external/ai/UCP.Common.AI.ChatCompletionsRequestMessageViewModel"}] [{"name": "HandleException", "initCode": "ErrorResponse HandleException(PassingResult prevData)\n{\n Logger.LogError($\"flow failed: {prevData.Exception?.Message}\");\n if (WorkflowEnvironment.RuntimeName == \"UCP\")\n WorkflowEnvironment.Variables[\"StatusCode\"] = 500;\n return new ErrorResponse()\n {\n Message = prevData.Exception?.Message,\n LevelMessage = \"11\",\n statusCode = 500,\n State = \"1\"\n };\n}", "initParameters": [{"name": "Result", "type": "ErrorResponse"}, {"name": "prevData", "type": "PassingResult", "required": true}]}] [{"name": "AI/Completions", "initCode": "functions://default//AI/Completions", "initParameters": [{"name": "Model", "type": "String", "required": true, "nullable": false}, {"name": "Messages", "type": "ChatCompletionsRequestMessageViewModel[]", "required": true, "nullable": false}, {"name": "Result", "type": "string[]", "required": false, "nullable": false}]}] [{"name": "ConfigActivity", "link": "activities://bpmn-mnemo/tenant/tenant_shared/flow-patterns-config/#latest", "version": "", "entities": []}, {"name": "ai", "link": "libs://common/ai", "version": "", "entities": []}, {"name": "bll", "link": "libs://common/bll", "version": "", "entities": []}] @@ -10,7 +10,7 @@ Call the model through the engine's own AI function, then join the chunks it answers with. -Source: https://github.com/mef-dev/bpmn-examples/tree/master/flow-patterns/10-ai-function +Source: https://github.com/mef-dev/bpmn-examples/tree/master/flow-patterns/parked @@ -40,21 +40,21 @@ Source: https://github.com/mef-dev/bpmn-examples/tree/master/flow-patterns/10-ai - {"actionType": "Expression", "action": "// The platform's own message type, declared once as an external type.\n// AI/Completions takes an array of exactly this shape.\nvar messages = new List<ChatMessage>\n{\n new ChatMessage() { Role = \"system\", Content = $\"Answer in a {Input.tone} tone.\" },\n new ChatMessage() { Role = \"user\", Content = Input.question }\n};\n\nreturn messages.ToArray();"} + {"actionType": "Expression", "action": "// The platform's own message type, declared under its own name: the\n// argument assignment the engine generates names it exactly so.\nvar messages = new List<ChatCompletionsRequestMessageViewModel>\n{\n new ChatCompletionsRequestMessageViewModel()\n { Role = \"system\", Content = $\"Answer in a {Input.tone} tone.\" },\n new ChatCompletionsRequestMessageViewModel()\n { Role = \"user\", Content = Input.question }\n};\n\nreturn messages.ToArray();"} Fl_003 Fl_004 - {"actionType": "Function", "action": "AI/Completions", "actionParam": {"Model": "meta-llama/Llama-3.1-8B-Instruct", "Messages": "#Previous"}} + {"actionType": "Function", "action": "AI/Completions", "actionParam": {"Model": "meta-llama/Llama-3.1-8B-Instruct", "Messages": "#Previous as List<ChatCompletionsRequestMessageViewModel>"}} Fl_004 Fl_005 - {"actionType": "Expression", "action": "// Every chunk is a serialised completion object; the text lives in\n// choices[0].delta.content, the same shape the chat API streams.\nvar chunks = (List<string>)#Previous;\nstring answer = \"\";\nforeach (var chunk in chunks)\n{\n var piece = new JSON(chunk).choices[0].delta.content as string;\n if (!string.IsNullOrEmpty(piece))\n answer += piece;\n}\n\nLogger.LogInformation($\"joined {chunks.Count} chunks\");\nreturn new AskResult() { question = Input.question, answer = answer };"} + {"actionType": "Expression", "action": "// JSON is not a dynamic object: the way into it is Cast<T> with a\n// declared type. AiChunk is that shape, and nothing more of it.\nvar chunks = (List<string>)#Previous;\nstring answer = \"\";\nforeach (var chunk in chunks)\n{\n var parsed = new JSON(chunk).Cast<AiChunk>();\n var piece = parsed?.choices?[0]?.delta?.content;\n if (!string.IsNullOrEmpty(piece))\n answer += piece;\n}\n\nLogger.LogInformation($\"joined {chunks.Count} chunks\");\nreturn new AskResult() { question = Input.question, answer = answer };"} Fl_005 Fl_006 @@ -114,25 +114,26 @@ Source: https://github.com/mef-dev/bpmn-examples/tree/master/flow-patterns/10-ai A prompt is data, not a glued string. AI/Completions declares Messages as -ChatCompletionsRequestMessageViewModel[], so the step -hands it an array of that very type - no serialising, no -shape to drift. +ChatCompletionsRequestMessageViewModel[], and the +assignment the engine generates uses that name without a +namespace - so the external type is declared under exactly +that name rather than under a shorter alias. - The built-in answers with string[] - one serialised chunk -per step of the generation, not one finished text. It also -raises a boundary event named Event_Start_Sending on every -chunk; the name is fixed inside the engine, and when no -such event exists the engine logs a warning and carries -on. + The declared argument is an array, but the generated +method takes a List, and #Previous arrives as object - so +the assignment needs a cast. It has to be written with as, +not with a prefix cast: # must stay the first character of +the expression, or the compiler reads it as a preprocessor +directive. - The chunks arrive in order, and joining them is the -caller's job. Reading choices[0].delta.content keeps the -model's own wire shape, so the same code works whether the -answer came in two pieces or two hundred. + The function answers string[] - one serialised chunk per +step of the generation, not one finished text. Joining +them is the caller's job, and reading +choices[0].delta.content keeps the model's own wire shape. @@ -239,7 +240,7 @@ answer came in two pieces or two hundred. - + diff --git a/flow-patterns/parked/ai-completion.spec.json b/flow-patterns/parked/ai-completion.spec.json index 3af2037..ae71032 100644 --- a/flow-patterns/parked/ai-completion.spec.json +++ b/flow-patterns/parked/ai-completion.spec.json @@ -21,7 +21,7 @@ } }, "externalTypes": { - "ChatMessage": "types://external/ai/UCP.Common.AI.ChatCompletionsRequestMessageViewModel" + "ChatCompletionsRequestMessageViewModel": "types://external/ai/UCP.Common.AI.ChatCompletionsRequestMessageViewModel" }, "libs": { "ai": "libs://common/ai" @@ -30,8 +30,8 @@ { "id": "T_Compose", "name": "compose the prompt", - "expression": "// The platform's own message type, declared once as an external type.\n// AI/Completions takes an array of exactly this shape.\nvar messages = new List\n{\n new ChatMessage() { Role = \"system\", Content = $\"Answer in a {Input.tone} tone.\" },\n new ChatMessage() { Role = \"user\", Content = Input.question }\n};\n\nreturn messages.ToArray();", - "note": "A prompt is data, not a glued string. AI/Completions declares Messages as ChatCompletionsRequestMessageViewModel[], so the step hands it an array of that very type - no serialising, no shape to drift." + "expression": "// The platform's own message type, declared under its own name: the\n// argument assignment the engine generates names it exactly so.\nvar messages = new List\n{\n new ChatCompletionsRequestMessageViewModel()\n { Role = \"system\", Content = $\"Answer in a {Input.tone} tone.\" },\n new ChatCompletionsRequestMessageViewModel()\n { Role = \"user\", Content = Input.question }\n};\n\nreturn messages.ToArray();", + "note": "A prompt is data, not a glued string. AI/Completions declares Messages as ChatCompletionsRequestMessageViewModel[], and the assignment the engine generates uses that name without a namespace - so the external type is declared under exactly that name rather than under a shorter alias." }, { "id": "T_Ask", @@ -39,18 +39,21 @@ "function": "AI/Completions", "params": { "Model": "meta-llama/Llama-3.1-8B-Instruct", - "Messages": "#Previous" + "Messages": "#Previous as List" }, - "note": "The built-in answers with string[] - one serialised chunk per step of the generation, not one finished text. It also raises a boundary event named Event_Start_Sending on every chunk; the name is fixed inside the engine, and when no such event exists the engine logs a warning and carries on." + "note": "The declared argument is an array, but the generated method takes a List, and #Previous arrives as object - so the assignment needs a cast. It has to be written with as, not with a prefix cast: # must stay the first character of the expression, or the compiler reads it as a preprocessor directive." }, { "id": "T_Collect", "name": "join the chunks", - "expression": "// Every chunk is a serialised completion object; the text lives in\n// choices[0].delta.content, the same shape the chat API streams.\nvar chunks = (List)#Previous;\nstring answer = \"\";\nforeach (var chunk in chunks)\n{\n var piece = new JSON(chunk).choices[0].delta.content as string;\n if (!string.IsNullOrEmpty(piece))\n answer += piece;\n}\n\nLogger.LogInformation($\"joined {chunks.Count} chunks\");\nreturn new AskResult() { question = Input.question, answer = answer };", - "note": "The chunks arrive in order, and joining them is the caller's job. Reading choices[0].delta.content keeps the model's own wire shape, so the same code works whether the answer came in two pieces or two hundred." + "expression": "// JSON is not a dynamic object: the way into it is Cast with a\n// declared type. AiChunk is that shape, and nothing more of it.\nvar chunks = (List)#Previous;\nstring answer = \"\";\nforeach (var chunk in chunks)\n{\n var parsed = new JSON(chunk).Cast();\n var piece = parsed?.choices?[0]?.delta?.content;\n if (!string.IsNullOrEmpty(piece))\n answer += piece;\n}\n\nLogger.LogInformation($\"joined {chunks.Count} chunks\");\nreturn new AskResult() { question = Input.question, answer = answer };", + "note": "The function answers string[] - one serialised chunk per step of the generation, not one finished text. Joining them is the caller's job, and reading choices[0].delta.content keeps the model's own wire shape." } ], "types": { + "AiDelta": "public class AiDelta\n{\n /* The piece of text this chunk carries. */\n public string content { get; set; }\n}", + "AiChoice": "public class AiChoice\n{\n /* One alternative. In practice there is exactly one. */\n public AiDelta delta { get; set; }\n}", + "AiChunk": "public class AiChunk\n{\n /* One serialised step of the generation, as the function\n answers it: the same shape the chat API streams. */\n public List choices { get; set; }\n}", "AskResult": "public class AskResult\n{\n /* What the caller asked, kept so the answer is self-describing. */\n public string question { get; set; }\n\n /* The chunks joined back into one text. */\n public string answer { get; set; }\n}" }, "documentation": "Call the model through the engine's own AI function, then join the chunks it answers with.",