{
	"title": "JSON schema for SAP.CARD Namespace",
	"description": "Represents general card attributes",
	"type": "object",
	"additionalProperties": false,
	"required": [
		"type"
	],
	"properties": {
		"_version": {
			"description": "Represents SAP.CARD attributes format version. It is managed by namespace owner",
			"type": "string",
			"enum": [
				"1.1.0",
				"1.2.0",
				"1.3.0",
				"1.4.0",
				"1.5.0",
				"1.6.0"
			]
		},
		"configuration": {
			"description": "Represents configuration with parameters, which can be used inside the Card",
			"type": "object",
			"additionalProperties": true
		},
		"type": {
			"description": "Represents the type of the card's content",
			"type": "string",
			"enum": [
				"List",
				"Analytical",
				"Table",
				"Object",
				"Timeline",
				"Component",
				"AnalyticsCloud"
			]
		},
		"data": {
			"$ref": "#/definitions/data"
		},
		"headerPosition": {
			"description": "Represents card header position - under or over the content",
			"type": "string",
			"oneOf": [
				{
					"enum": [
						"Top",
						"Bottom"
					],
					"default": "Top"
				},
				{
					"$ref": "#/definitions/simpleBinding"
				}
			]
		},
		"header": {
			"description": "Represents card header attributes",
			"$ref": "#/definitions/HeaderType"
		},
		"content": {
			"description": "Represents card content attributes. Content type should be the same as card type e.g. if card type List is used the content type should also be List"
		}
	},
	"oneOf": [
		{
			"allOf": [
				{ "properties": { "type": { "enum": [ "List" ] } }},
				{ "properties": { "content": { "$ref": "#/definitions/ContentType.List" }}}
			]
		},
		{
			"allOf": [
				{ "properties": { "type": { "enum": [ "Analytical" ] } }},
				{ "properties": { "content": { "$ref": "#/definitions/ContentType.Analytical" }}}
			]
		},
		{
			"allOf": [
				{ "properties": { "type": { "enum": [ "Timeline" ] } }},
				{ "properties": { "content": { "$ref": "#/definitions/ContentType.Timeline" }}}
			]
		},
		{
			"allOf": [
				{ "properties": { "type": { "enum": [ "Table" ] } }},
				{ "properties": { "content": { "$ref": "#/definitions/ContentType.Table" }}}
			]
		},
		{
			"allOf": [
				{ "properties": { "type": { "enum": [ "Object" ] } }},
				{ "properties": { "content": { "$ref": "#/definitions/ContentType.Object" }}}
			]
		},
		{
			"allOf": [
				{ "properties": { "type": { "enum": [ "Component" ] } }},
				{ "properties": { "content": { "enum": ["null"] } }}
			]
		},
		{
			"allOf": [
				{ "properties": { "type": { "enum": [ "AnalyticsCloud" ] } }},
				{ "properties": { "content": { "$ref": "#/definitions/ContentType.AnalyticsCloud" }}}
			]
		}
	],
	"definitions": {
		"HeaderType": {
			"oneOf": [
				{
					"$ref": "#/definitions/HeaderType.Default"
				},
				{
					"$ref": "#/definitions/HeaderType.Numeric"
				}
			]
		},
		"HeaderType.Default": {
			"additionalProperties": false,
			"description": "Represents default header attributes",
			"type": "object",
			"properties": {
				"type": {
					"description": "Represents the type of the header.",
					"type": "string",
					"enum": [
						"Default"
					]
				},
				"title": {
					"description": "Represents language-dependent title.",
					"type": "string"
				},
				"subTitle": {
					"description": "Represents language-dependent additional information to the title.",
					"type": "string"
				},
				"actions": {
					"description": "Represents description of the actions that can be applied on a part of a card.",
					"type": "array",
					"items": {
						"$ref": "#/definitions/action"
					}
				},
				"data": {
					"$ref": "#/definitions/data"
				},
				"icon": {
					"description": "Represents the icon of the card.",
					"$ref": "#/definitions/icon"
				},
				"status": {
					"description": "Represents the status of the card.",
					"$ref": "#/definitions/status"
				}
			}
		},
		"HeaderType.Numeric": {
			"additionalProperties": false,
			"required" : [
				"type"
			],
			"description": "Represents header with numeric data",
			"type": "object",
			"properties": {
				"type": {
					"description": "Represents the type of the header.",
					"type": "string",
					"enum": [
						"Numeric"
					]
				},
				"title": {
					"description": "Represents language-dependent title.",
					"type": "string"
				},
				"subTitle": {
					"description": "Represents language-dependent additional information to the title.",
					"type": "string"
				},
				"actions": {
					"description": "Represents description of the actions that can be applied on a part of a card.",
					"type": "array",
					"items": {
						"$ref": "#/definitions/action"
					}
				},
				"data": {
					"$ref": "#/definitions/data"
				},
				"unitOfMeasurement": {
					"description": "Represents unit of measurement for the whole numeric header.",
					"type": "string"
				},
				"mainIndicator": {
					"$ref": "#/definitions/HeaderType.Numeric.MainIndicator"
				},
				"details": {
					"description": "Represents additional information about the numeric header.",
					"type": "string"
				},
				"sideIndicators": {
					"description": "Multiple side indicators that relate to the main numeric indicator.",
					"type": "array",
					"maxItems": 2,
					"items": {
						"$ref": "#/definitions/HeaderType.Numeric.SideIndicator"
					}
				},
				"status": {
					"description": "Represents the status of the card.",
					"$ref": "#/definitions/status"
				}
			}
		},
		"HeaderType.Numeric.MainIndicator": {
			"description": "Represents the main numeric indicator of the header",
			"type": "object",
			"additionalProperties": false,
			"properties": {
				"number": {
					"description": "The value of the main indicator",
					"type": "string"
				},
				"unit": {
					"description": "The unit of the main indicator",
					"type": "string"
				},
				"trend": {
					"description": "The trend indicator (direction)",
					"type": "string",
					"oneOf": [
						{
							"enum": [
								"Down",
								"None",
								"Up"
							],
							"default": "None"
						},
						{
							"$ref": "#/definitions/simpleBinding"
						}
					]
				},
				"state": {
					"description": "The state color of the main indicator",
					"type": "string",
					"oneOf": [
						{
							"description": "The state color of the main indicator",
							"type": "string",
							"enum": [
								"Critical",
								"Error",
								"Good",
								"Neutral"
							],
							"default": "Neutral"
						},
						{
							"$ref": "#/definitions/simpleBinding"
						}
					]
				}
			}
		},
		"HeaderType.Numeric.SideIndicator": {
			"description": "Represents side indicator attributes which are used for additional information about the main indicator",
			"type": "object",
			"additionalProperties": false,
			"properties": {
				"title": {
					"description": "Represents language-dependent title of the side indicator",
					"type": "string"
				},
				"number": {
					"description": "Represents value of the side indicator",
					"type": "string"
				},
				"unit": {
					"description": "Represents unit of measurement of the side indicator",
					"type": "string"
				}
			}
		},
		"ContentType.List": {
			"description": "Represents list content attributes",
			"type": "object",
			"oneOf": [
				{
					"additionalProperties": false,
					"properties": {
						"data": {
							"$ref": "#/definitions/data"
						},
						"item": {
							"$ref": "#/definitions/ContentType.List.Item"
						},
						"maxItems": {
							"description": "Represents number of items",
							"oneOf": [
								{ "type": "number" },
								{ "$ref": "#/definitions/simpleBinding" }
							]
						}
					}
				},
				{
					"additionalProperties": false,
					"properties": {
						"items": {
							"type": "array",
							"items": {
								"$ref": "#/definitions/ContentType.List.StaticItem"
							}
						}
					}
				}
			]
		},
		"ContentType.List.Item": {
			"description": "The template for all items",
			"type": "object",
			"additionalProperties": false,
			"properties": {
				"title": {
					"description": "The title of the item.",
					"oneOf": [
						{ "$ref": "#/definitions/field" },
						{ "type": "string" }
					]
				},
				"description": {
					"description": "The description of the item.",
					"oneOf": [
						{ "$ref": "#/definitions/field" },
						{ "type": "string" }
					]
				},
				"info": {
					"type": "object",
					"additionalProperties": false,
					"properties": {
						"value": {
							"type": "string",
							"description": "The value of the field"
						},
						"state": {
							"oneOf": [
								{ "$ref": "#/definitions/state" },
								{ "$ref": "#/definitions/simpleBinding" }
							]
						}
					}
				},
				"highlight": {
					"type": "string",
					"description": "The highlight of the item.",
					"oneOf": [
						{ "$ref": "#/definitions/state" },
						{ "$ref": "#/definitions/simpleBinding" }
					]
				},
				"icon": {
					"$ref": "#/definitions/icon"
				},
				"actions": {
					"description": "Defines actions that can be applied on the item.",
					"type": "array",
					"items": {
						"$ref": "#/definitions/action"
					}
				}
			}
		},
		"ContentType.List.StaticItem": {
			"description": "Represents a single static list item",
			"type": "object",
			"additionalProperties": false,
			"properties": {
				"title": {
					"description": "The title of the list item",
					"type": "string"
				},
				"description": {
					"description": "The description of the list item",
					"type": "string"
				},
				"icon": {
					"description": "The icon of the list item",
					"type": "string"
				},
				"infoState": {
					"description": "The state of the info",
					"type": "string"
				},
				"info": {
					"description": "Represents additional information text",
					"type": "string"
				},
				"highlight": {
					"description": "The highlight of the item",
					"type": "string"
				},
				"action": {
					"description": "Represents actions that can be applied on the item",
					"type": "object",
					"properties": {
						"url": {
							"type": "string"
						}
					}
				}
			}
		},
		"ContentType.Analytical": {
			"description": "Represents analytical content attributes",
			"type": "object",
			"additionalProperties": false,
			"properties": {
				"data": {
					"$ref": "#/definitions/data"
				},
				"chartType": {
					"description": "Describes the type of the chart",
					"type": "string",
					"oneOf": [
						{
							"enum": [
								"Line",
								"StackedColumn",
								"StackedBar",
								"Donut"
							]
						},
						{
							"$ref": "#/definitions/simpleBinding"
						}
					]
				},
				"legend": {
					"$ref": "#/definitions/ContentType.Analytical.Legend"
				},
				"plotArea": {
					"description": "Describes the plotArea properties",
					"type": "object",
					"additionalProperties": false,
					"properties": {
						"dataLabel": {
							"$ref": "#/definitions/ContentType.Analytical.DataLabel"
						},
						"categoryAxisText": {
							"$ref": "#/definitions/ContentType.Analytical.AxisText"
						},
						"valueAxisText": {
							"$ref": "#/definitions/ContentType.Analytical.AxisText"
						}
					}
				},
				"title": {
					"description": "Represents title attributes",
					"type": "object",
					"additionalProperties": false,
					"properties": {
						"visible": {
							"description": "Represents the visibility state of the title",
							"oneOf": [
								{
									"type": "boolean",
									"default": true
								},
								{
									"$ref": "#/definitions/simpleBinding"
								}
							]
						},
						"text": {
							"description": "Represents title text",
							"type": "string"
						},
						"alignment": {
							"description": "Represents the title alignment",
							"oneOf": [
								{
									"enum": [
										"Left",
										"Center",
										"Right"
									],
									"default": "Center"
								},
								{
									"$ref": "#/definitions/simpleBinding"
								}
							]
						}
					}
				},
				"measureAxis": {
					"description": "Represents the value set for measure axis",
					"type": "string"
				},
				"dimensionAxis": {
					"description": "Represents the value set for dimension axis",
					"type": "string"
				},
				"dimensions": {
					"type": "array",
					"items": {
						"$ref": "#/definitions/field"
					}
				},
				"measures": {
					"type": "array",
					"items": {
						"$ref": "#/definitions/field"
					}
				},
				"actions": {
					"description": "Defines actions that can be applied on the content.",
					"type": "array",
					"items": {
						"$ref": "#/definitions/action"
					}
				}
			}
		},
		"ContentType.Analytical.DataLabel": {
			"description": "Represents value attributes in the plot area",
			"type": "object",
			"additionalProperties": false,
			"properties": {
				"visible": {
					"description": "Represents the visibility state of the dataLabel",
					"oneOf": [
						{
							"type": "boolean",
							"default": true
						},
						{
							"$ref": "#/definitions/simpleBinding"
						}
					]
				},
				"showTotal": {
					"description": "Represents the visibility state of 'show total' indicator",
					"oneOf": [
						{
							"type": "boolean",
							"default": true
						},
						{
							"$ref": "#/definitions/simpleBinding"
						}
					]
				}
			}
		},
		"ContentType.Analytical.AxisText": {
			"description": "Represents descriptive text of the axis",
			"type": "object",
			"additionalProperties": false,
			"properties": {
				"visible": {
					"description": "Represents the visibility state of the descriptive axis text",
					"oneOf": [
						{
							"type": "boolean",
							"default": true
						},
						{
							"$ref": "#/definitions/simpleBinding"
						}
					]
				}
			}
		},
		"ContentType.Analytical.Legend": {
			"description": "Represents chart legend attributes",
			"type": "object",
			"additionalProperties": false,
			"properties": {
				"visible": {
					"description": "Represent the visibility state of the legend",
					"oneOf": [
						{
							"type": "boolean",
							"default": true
						},
						{
							"$ref": "#/definitions/simpleBinding"
						}
					]
				},
				"position": {
					"description": "Representation of where the legend will be positioned",
					"type": "string",
					"oneOf": [
						{
							"enum": [
								"Top",
								"Bottom",
								"Left",
								"Right"
							],
							"default": "Right"
						},
						{
							"$ref": "#/definitions/simpleBinding"
						}
					]
				},
				"alignment": {
					"description": "Representation of how the legend will be aligned",
					"type": "string",
					"oneOf": [
						{
							"enum": [
								"TopLeft",
								"Center"
							],
							"default": "TopLeft"
						},
						{
							"$ref": "#/definitions/simpleBinding"
						}
					]
				}
			}
		},
		"ContentType.Timeline": {
			"description": "Represents time related content",
			"type": "object",
			"oneOf": [
				{
					"additionalProperties": false,
					"properties": {
						"data": {
							"$ref": "#/definitions/data"
						},
						"item": {
							"description": "Defines the timeline item",
							"$ref": "#/definitions/ContentType.Timeline.Item"
						},
						"maxItems": {
							"description": "Represents number of items",
							"oneOf": [
								{ "type": "number" },
								{ "$ref": "#/definitions/simpleBinding" }
							]
						}
					}
				},
				{
					"additionalProperties": false,
					"properties": {
						"items": {
							"type": "array",
							"items": {
								"$ref": "#/definitions/ContentType.Timeline.StaticItem"
							}
						}
					}
				}
			]
		},
		"ContentType.Timeline.Item": {
			"description": "Represents a single timeline item",
			"type": "object",
			"additionalProperties": false,
			"properties": {
				"title": {
					"description": "The title of the timeline item.",
					"$ref": "#/definitions/field"
				},
				"description": {
					"description": "The description of the timeline item.",
					"$ref": "#/definitions/field"
				},
				"dateTime": {
					"description": "The dateTime value of the timeline item.",
					"$ref": "#/definitions/field"
				},
				"owner": {
					"description": "The owner of the timeline item.",
					"$ref": "#/definitions/field"
				},
				"ownerImage": {
					"description": "The owner image of the timeline item.",
					"properties": {
						"value": {
							"type": "string"
						}
					}
				},
				"icon": {
					"description": "The icon of the timeline item.",
					"$ref": "#/definitions/icon"
				}
			}
		},
		"ContentType.Timeline.StaticItem": {
			"description": "Represents a single static timeline item",
			"type": "object",
			"additionalProperties": false,
			"properties": {
				"title": {
					"description": "The title of the timeline item",
					"type": "string"
				},
				"description": {
					"description": "The description of the timeline item",
					"type": "string"
				},
				"ownerImage": {
					"description": "The owner image of the timeline item",
					"type": "string"
				},
				"dateTime": {
					"description": "The dateTime value of the timeline item",
					"type": "string"
				},
				"owner": {
					"description": "The owner of the timeline item",
					"type": "string"
				},
				"icon": {
					"description": "The icon of the timeline item",
					"type": "string"
				}
			}
		},
		"ContentType.Object": {
			"description": "Represents object content attributes",
			"type": "object",
			"additionalProperties": false,
			"properties": {
				"data": {
					"$ref": "#/definitions/data"
				},
				"groups": {
					"description": "Represents groups of information for an object",
					"type": "array",
					"items": {
						"$ref": "#/definitions/ContentType.Object.Group"
					}
				},
				"actions": {
					"description": "Defines actions that can be applied on the content.",
					"type": "array",
					"items": {
						"$ref": "#/definitions/action"
					}
				}
			}
		},
		"ContentType.Object.Group": {
			"description": "Represents a group of information for an object",
			"type": "object",
			"additionalProperties": false,
			"properties": {
				"title": {
					"description": "Defines language-dependent title of the object group.",
					"type": "string"
				},
				"items": {
					"description": "Represents items of information.",
					"type": "array",
					"items": {
						"$ref": "#/definitions/ContentType.Object.Item"
					}
				}
			}
		},
		"ContentType.Object.Item": {
			"description": "Represents a single item of information. It can contain label, value and image",
			"type": "object",
			"additionalProperties": false,
			"properties": {
				"icon": {
					"description": "Defines the icon of the item.",
					"$ref": "#/definitions/icon"
				},
				"label": {
					"description": "Defines the label of the item.",
					"type": "string"
				},
				"value": {
					"description": "Represents the text, which is associated with the label.",
					"type": "string"
				},
				"type": {
					"description": "Defines the type of the displayed information.",
					"type": "string",
					"oneOf": [
						{
							"enum": [
								"phone",
								"email",
								"link",
								"text"
							],
							"default": "text"
						},
						{
							"$ref": "#/definitions/simpleBinding"
						}
					]
				},
				"url": {
					"description": "Defines the URL string. Works only with items of type 'link'.",
					"type": "string"
				},
				"target": {
					"description": "Specifies the target of the link - it works like the target property of the HTML 'a' tag. Works only with items of type 'link'.",
					"oneOf": [
						{ "$ref": "#/definitions/target" },
						{ "$ref": "#/definitions/simpleBinding" }
					]
				},
				"emailSubject": {
					"description": "Represents the subject of the email. Works only with item of type 'email'.",
					"type": "string"
				}
			}
		},
		"ContentType.Table": {
			"description": "Represents table content attributes",
			"type": "object",
			"additionalProperties": false,
			"properties": {
				"data": {
					"$ref": "#/definitions/data"
				},
				"row": {
					"description": "The template for all rows",
					"type": "object",
					"additionalProperties": false,
					"properties": {
						"columns": {
							"description": "Defines the columns attributes.",
							"type": "array",
							"items": {
								"$ref": "#/definitions/ContentType.Table.Column"
							}
						},
						"actions": {
							"description": "Defines actions that can be applied on the item.",
							"type": "array",
							"items": {
								"$ref": "#/definitions/action"
							}
						}
					}
				},
				"maxItems": {
					"description": "Represents number of items",
					"oneOf": [
						{ "type": "number" },
						{ "$ref": "#/definitions/simpleBinding" }
					]
				}
			}
		},
		"ContentType.Table.Column": {
			"description": "Represents object item attributes",
			"type": "object",
			"additionalProperties": false,
			"properties": {
				"title": {
					"description": "Defines language-dependent title of the column.",
					"type": "string"
				},
				"width": {
					"description": "Defines the width of the column.",
					"type": "string"
				},
				"value": {
					"description": "Represents the text value of the column.",
					"type": "string"
				},
				"icon": {
					"description": "Represents column with icon.",
					"$ref": "#/definitions/icon"
				},
				"state": {
					"description": "Defines the state of the column.",
					"oneOf": [
						{ "$ref": "#/definitions/state" },
						{ "$ref": "#/definitions/simpleBinding" }
					]
				},
				"url": {
					"description": "Defines the URL string.",
					"type": "string"
				},
				"target": {
					"description": "Specifies where to open the 'url', if it is provided.",
					"type": "string",
					"oneOf": [
						{ "$ref": "#/definitions/target" },
						{ "$ref": "#/definitions/simpleBinding" }
					]
				},
				"identifier": {
					"oneOf": [
						{ "$ref": "#/definitions/identifier" },
						{ "$ref": "#/definitions/simpleBinding" }
					]
				},
				"progressIndicator": {
					"description": "Represents progress indicator attributes",
					"$ref": "#/definitions/progressIndicator"
				}
			}
		},
		"ContentType.Table.StaticColumn": {
			"description": "Represents a single static column",
			"type": "object",
			"properties": {
				"title": {
					"description": "Represents language-dependent title of the column",
					"type": "string"
				},
				"width": {
					"description": "Defines the width of the column",
					"type": "string"
				}
			}
		},
		"ContentType.Table.StaticRow": {
			"description": "Represents a single static row",
			"type": "object",
			"properties": {
				"value": {
					"description": "The text value of the column",
					"type": "string"
				},
				"icon": {
					"description": "Represents column with icon",
					"$ref": "#/definitions/icon"
				},
				"state": {
					"$ref": "#/definitions/state"
				},
				"url": {
					"description": "Represents URL string",
					"type": "string"
				},
				"target": {
					"$ref": "#/definitions/target"
				},
				"identifier": {
					"$ref": "#/definitions/identifier"
				},
				"progressIndicator": {
					"description": "Represents progress indicator attributes",
					"$ref": "#/definitions/progressIndicator"
				}
			}
		},
		"ContentType.AnalyticsCloud": {
			"description": "Represents AnalyticsCloud content attributes",
			"type": "object",
			"additionalProperties": false,
			"properties": {
				"data": {
					"$ref": "#/definitions/data"
				},
				"options": {
					"description": "Chart options. This object will be passed directly to the third party library.",
					"type": "object"
				},
				"actions": {
					"description": "Defines actions that can be applied on the content.",
					"type": "array",
					"items": {
						"$ref": "#/definitions/action"
					}
				}
			}
		},
		"progressIndicator": {
			"description": "Represents progress indicator attributes",
			"type": "object",
			"additionalProperties": false,
			"properties": {
				"state": {
					"description": "Represents state color",
					"oneOf": [
						{ "$ref": "#/definitions/state" },
						{ "$ref": "#/definitions/simpleBinding" }
					]
				},
				"percent": {
					"description": "Represents progress indicator percent value",
					"oneOf": [
						{ "type": "number" },
						{ "$ref": "#/definitions/simpleBinding" }
					]
				},
				"text": {
					"description": "Represents progress indicator text",
					"type": "string"
				}
			}
		},
		"icon": {
			"description": "Represents icon attributes",
			"type": "object",
			"additionalProperties": false,
			"properties": {
				"src": {
					"type": "string",
					"description": "Represents icon name or source URL"
				},
				"alt": {
					"type": "string",
					"description": "Alternative text for the icon"
				},
				"shape": {
					"type": "string",
					"description": "Represents the shape of the icon",
					"oneOf": [
						{
							"enum": [
								"Square",
								"Circle"
							],
							"default": "Square"
						},
						{
							"$ref": "#/definitions/simpleBinding"
						}
					]
				},
				"text": {
					"type": "string",
					"description": "Text inside icon"
				},
				"backgroundColor": {
					"type": "string",
					"description": "Background color of the icon"
				},
				"color": {
					"type": "string",
					"description": "Color of the icon"
				}
			}
		},
		"status": {
			"description": "Represents status attributes.",
			"type": "object",
			"additionalProperties": false,
			"properties": {
				"text": {
					"description": "Represents status text.",
					"oneOf": [
						{ "type": "string" },
						{ "$ref": "#/definitions/statusTextFormatter" }
					]
				}
			}
		},
		"statusTextFormatter": {
			"type": "object",
			"description": "Defines fields for dynamic status formatting.",
			"additionalProperties": false,
			"properties": {
				"format": {
					"description": "Defines binding information.",
					"type": "object",
					"additionalProperties": false,
					"properties": {
						"translationKey": {
							"type": "string"
						},
						"parts": {
							"type": "array"
						}
					}
				}
			}
		},
		"data": {
			"description": "Represents request and response attributes",
			"type": "object",
			"additionalProperties": false,
			"properties": {
				"request": {
					"$ref": "#/definitions/request"
				},
				"path": {
					"description": "The path from the JSON to be used as root",
					"type": "string",
					"default": "/",
					"pattern": "^[a-zA-Z0-9_\\.\\-\/|\\@\\#]*$"
				},
				"json": {
					"description": "The data to be used directly. Without making requests.",
					"type": ["object", "array"],
					"additionalProperties": true
				},
				"service": {
					"$ref": "#/definitions/service"
				},
				"updateInterval": {
					"description": "Represents interval in seconds, after which a new data request will be triggered.",
					"oneOf": [
						{ "type": "number" },
						{ "$ref": "#/definitions/simpleBinding" }
					]
				}
			}
		},
		"request": {
			"description": "Represents request attributes",
			"type": "object",
			"additionalProperties": false,
			"required": [
				"url"
			],
			"properties": {
				"mode": {
					"description": "The mode of the request",
					"type": "string",
					"oneOf": [
						{
							"enum": [
								"no-cors",
								"same-origin",
								"cors"
							],
							"default": "cors"
						},
						{
							"$ref": "#/definitions/simpleBinding"
						}
					]
				},
				"url": {
					"description": "The URL to make the request to",
					"type": "string"
				},
				"method": {
					"description": "The HTTP method",
					"type": "string",
					"oneOf": [
						{
							"enum": [
								"GET",
								"POST"
							],
							"default": "GET"
						},
						{
							"$ref": "#/definitions/simpleBinding"
						}
					]
				},
				"parameters": {
					"description": "Represents the request parameters. If it is a POST request the parameters will be put as key/value pairs into the body of the request",
					"$ref": "#/definitions/parameters"
				},
				"headers": {
					"description": "Represents HTTP headers",
					"type": "object",
					"additionalProperties": true
				},
				"withCredentials": {
					"description": "Indicates whether cross-site requests should be made using credentials.",
					"oneOf": [
						{ "type": "boolean", "default": false },
						{ "$ref": "#/definitions/simpleBinding" }
					]
				}
			}
		},
		"field": {
			"type": "object",
			"additionalProperties": false,
			"properties": {
				"label": {
					"description": "Represents language-dependent label of the field",
					"type": "string"
				},
				"value": {
					"type": "string",
					"description": "The value of the field"
				}
			}
		},
		"i18n_key": {
			"type": "string",
			"pattern": "^\\{\\{[\\w][\\w\\.\\-]*\\}\\}$"
		},
		"simpleBinding": {
			"type": "string",
			"pattern": "\\{.*\\}"
		},
		"action": {
			"description": "Represents actions that can be applied on card elements",
			"type": "object",
			"required": [
				"type"
			],
			"additionalProperties": false,
			"properties": {
				"type": {
					"description": "The type of the action",
					"type": "string",
					"oneOf": [
						{
							"enum": [
								"Navigation"
							]
						},
						{
							"$ref": "#/definitions/simpleBinding"
						}
					]
				},
				"enabled": {
					"description": "Represents the state of the action",
					"oneOf": [
						{ "type": "boolean" },
						{ "$ref": "#/definitions/simpleBinding" }
					]
				},
				"service": {
					"$ref": "#/definitions/service"
				},
				"url": {
					"description": "Represents the URL that will be used as navigation target if no service is provided",
					"type": "string"
				},
				"parameters": {
					"$ref": "#/definitions/parameters"
				},
				"target": {
					"description": "Specifies where to open the 'url', if it is provided.",
					"type": "string",
					"oneOf": [
						{
							"$ref": "#/definitions/target"
						},
						{
							"$ref": "#/definitions/simpleBinding"
						}
					]
				}
			}
		},
		"parameters": {
			"description": "Represents parameters that are passed in the actions",
			"type": "object",
			"additionalProperties": true
		},
		"state": {
			"description": "Represents state of an entity",
			"type": "string",
			"enum": [
				"Error",
				"Success",
				"Warning",
				"None",
				"Information"
			],
			"default": "None"
		},
		"service": {
			"description": "Represents service that will be used for an actions",
			"oneOf": [
				{
					"description": "Represents name of the Service to be used for the action",
					"type": "string"
				},
				{
					"type": "object",
					"additionalProperties": false,
					"properties": {
						"name": {
							"description": "Represents name of the Service to be used for the action",
							"type": "string"
						},
						"parameters": {
							"$ref": "#/definitions/parameters"
						}
					}
				}
			]
		},
		"target": {
			"description": "Specifies where to open an URL",
			"type": "string",
			"enum": [
				"_blank",
				"_self"
			],
			"default": "_blank"
		},
		"identifier": {
			"description": "Represents identifier",
			"oneOf": [
				{
					"type": "boolean",
					"default": false
				},
				{
					"type": "object",
					"additionalProperties": false,
					"properties": {
						"url": {
							"type": "string"
						},
						"target": {
							"$ref": "#/definitions/target"
						}
					}
				}
			]
		}
	}
}