{
    "ID": "individual_rate_set_partner",
    "documentType": "INDIVIDUAL_RATE_SET",
    "STATES": [
        {
            "id": "DRAFT",
            "titles": {
                "ALL": {
                    "title": {
                        "ru": "Черновик"
                    },
                    "description": {
                        "ru": "Черновик доступен только партнёру. Для отправки заполните поля, и нажмите “Отправить на проверку исполнителю”."
                    }
                }
            },
            "permissions": [
                {
                    "type": "HAS_ACCESS",
                    "items": [
                        "PARTNER"
                    ]
                },
                {
                    "type": "CAN_EDIT",
                    "items": [
                        "PARTNER"
                    ]
                }
            ]
        },
        {
            "id": "CONTRACTOR_VERIFICATION",
            "titles": {
                "ALL": {
                    "title": {
                        "ru": "Проверка исполнителем"
                    },
                    "description": {
                        "ru": "Исполнитель проверят запрос"
                    }
                }
            },
            "permissions": [
                {
                    "type": "HAS_ACCESS",
                    "items": [
                        "PARTNER",
                        "CONTRACTOR",
                        "SENIOR_CONTRACTOR",
                        "OBSERVER",
                        "COMPLIANCE",
                        "SENIOR_COMPLIANCE"
                    ]
                },
                {
                    "type": "CAN_EDIT",
                    "items": [
                        "CONTRACTOR",
                        "SENIOR_CONTRACTOR"
                    ]
                }
            ]
        },
        {
            "id": "AGENT_APPROVAL",
            "titles": {
                "ALL": {
                    "title": {
                        "ru": "Согласование агентом"
                    },
                    "description": {
                        "ru": "Агент согласовывает запрос"
                    }
                }
            },
            "permissions": [
                {
                    "type": "HAS_ACCESS",
                    "items": [
                        "PARTNER",
                        "CONTRACTOR",
                        "SENIOR_CONTRACTOR",
                        "AGENT",
                        "OBSERVER",
                        "COMPLIANCE",
                        "SENIOR_COMPLIANCE"
                    ]
                },
                {
                    "type": "CAN_EDIT",
                    "items": [
                        "AGENT"
                    ]
                }
            ]
        },
        {
            "id": "APPROVED",
            "titles": {
                "ALL": {
                    "title": {
                        "ru": "Согласован"
                    },
                    "description": {
                        "ru": "Запрос согласован"
                    }
                }
            },
            "permissions": [
                {
                    "type": "HAS_ACCESS",
                    "items": [
                        "PARTNER",
                        "CONTRACTOR",
                        "SENIOR_CONTRACTOR",
                        "AGENT",
                        "OBSERVER",
                        "COMPLIANCE",
                        "SENIOR_COMPLIANCE"
                    ]
                }
            ]
        },
        {
            "id": "REJECTED",
            "titles": {
                "ALL": {
                    "title": {
                        "ru": "Отклонен"
                    },
                    "description": {
                        "ru": "Запрос отклонен"
                    }
                }
            },
            "permissions": [
                {
                    "type": "HAS_ACCESS",
                    "items": [
                        "PARTNER",
                        "CONTRACTOR",
                        "SENIOR_CONTRACTOR",
                        "AGENT",
                        "OBSERVER",
                        "COMPLIANCE",
                        "SENIOR_COMPLIANCE"
                    ]
                }
            ]
        },
        {
            "id": "ACTIVE",
            "titles": {
                "ALL": {
                    "title": {
                        "ru": "Активен"
                    },
                    "description": {
                        "ru": "Действующие ставки"
                    }
                }
            },
            "permissions": [
                {
                    "type": "HAS_ACCESS",
                    "items": [
                        "PARTNER",
                        "CONTRACTOR",
                        "SENIOR_CONTRACTOR",
                        "AGENT",
                        "OBSERVER",
                        "COMPLIANCE",
                        "SENIOR_COMPLIANCE"
                    ]
                }
            ]
        },
        {
            "id": "EXPIRED",
            "titles": {
                "ALL": {
                    "title": {
                        "ru": "Срок действия истёк"
                    },
                    "description": {
                        "ru": "Срок действия запроса истёк"
                    }
                }
            },
            "permissions": [
                {
                    "type": "HAS_ACCESS",
                    "items": [
                        "PARTNER",
                        "CONTRACTOR",
                        "SENIOR_CONTRACTOR",
                        "AGENT",
                        "OBSERVER",
                        "COMPLIANCE",
                        "SENIOR_COMPLIANCE"
                    ]
                }
            ]
        },
        {
            "id": "REDEEMED",
            "titles": {
                "ALL": {
                    "title": {
                        "ru": "Использован в заявке"
                    },
                    "description": {
                        "ru": "Индивидуальная ставка была применена к заявке"
                    }
                }
            },
            "permissions": [
                {
                    "type": "HAS_ACCESS",
                    "items": [
                        "PARTNER",
                        "CONTRACTOR",
                        "SENIOR_CONTRACTOR",
                        "AGENT",
                        "OBSERVER",
                        "COMPLIANCE",
                        "SENIOR_COMPLIANCE"
                    ]
                }
            ]
        },
        {
            "id": "CANCELLED",
            "titles": {
                "ALL": {
                    "title": {
                        "ru": "Аннулирован"
                    },
                    "description": {
                        "ru": "Запрос аннулирован"
                    }
                }
            },
            "permissions": [
                {
                    "type": "HAS_ACCESS",
                    "items": [
                        "PARTNER",
                        "CONTRACTOR",
                        "SENIOR_CONTRACTOR",
                        "AGENT",
                        "OBSERVER",
                        "COMPLIANCE",
                        "SENIOR_COMPLIANCE"
                    ]
                }
            ]
        }
    ],
    "TRANSITIONS": [
        {
            "id": "DRAFT-CONTRACTOR_VERIFICATION",
            "fromState": "DRAFT",
            "toState": "CONTRACTOR_VERIFICATION",
            "caption": {
                "ru": "Отправить на проверку исполнителю"
            },
            "successfulTransitionMessage": {
                "ru": "Запрос индивидуальных ставок отправлен"
            },
            "defaultErrorText": {
                "ru": "Заполните обязательные поля",
                "en": ""
            },
            "buttonType": "primary",
            "order": 0,
            "isConfirmationBackwardTextRequired": false,
            "isConfirmationRequired": false,
            "conditions": [
                {
                    "type": "REQUIRED_ROLES",
                    "items": [
                        "PARTNER"
                    ]
                },
                {
                    "type": "REQUIRED_FIELDS",
                    "items": [
                        "agent",
                        "customer",
                        "monthlyAmount",
                        "monthlyAmountCurrency",
                        "averageMonthlyCountPayment",
                        "countries",
                        "currencies"
                    ],
                    "errorText": {
                        "ru": "Заполните обязательные поля"
                    }
                }
            ],
            "notification": [
                {
                    "recipient": [
                        "CONTRACTOR",
                        "SENIOR_CONTRACTOR"
                    ],
                    "message": "mail_rate_from_partner_to_contractor_verification"
                }
            ]
        },
        {
            "id": "CONTRACTOR_VERIFICATION-AGENT_APPROVAL",
            "fromState": "CONTRACTOR_VERIFICATION",
            "toState": "AGENT_APPROVAL",
            "caption": {
                "ru": "Отправить на согласование агенту"
            },
            "successfulTransitionMessage": {
                "ru": "Запрос индивидуальных ставок отправлен"
            },
            "buttonType": "primary",
            "order": 0,
            "isConfirmationBackwardTextRequired": false,
            "isConfirmationRequired": false,
            "conditions": [
                {
                    "type": "REQUIRED_ROLES",
                    "items": [
                        "CONTRACTOR",
                        "SENIOR_CONTRACTOR"
                    ]
                }
            ],
            "notification": [
                {
                    "recipient": [
                        "AGENT"
                    ],
                    "message": "mail_rate_from_partner_to_agent_approval"
                }
            ]
        },
        {
            "id": "CONTRACTOR_VERIFICATION-REJECTED",
            "fromState": "CONTRACTOR_VERIFICATION",
            "toState": "REJECTED",
            "caption": {
                "ru": "Отклонить"
            },
            "successfulTransitionMessage": {
                "ru": "Запрос индивидуальных ставок отклонён"
            },
            "buttonType": "danger",
            "order": 1,
            "isConfirmationBackwardTextRequired": false,
            "isConfirmationRequired": true,
            "conditions": [
                {
                    "type": "REQUIRED_ROLES",
                    "items": [
                        "CONTRACTOR",
                        "SENIOR_CONTRACTOR"
                    ]
                }
            ],
            "notification": [
                {
                    "recipient": [
                        "PARTNER"
                    ],
                    "message": "mail_rate_from_partner_rejected_by_contractor"
                }
            ]
        },
        {
            "id": "AGENT_APPROVAL-APPROVED",
            "fromState": "AGENT_APPROVAL",
            "toState": "APPROVED",
            "caption": {
                "ru": "Согласовать"
            },
            "successfulTransitionMessage": {
                "ru": "Набор индивидуальных ставок согласован"
            },
            "defaultErrorText": {
                "ru": "Заполните обязательные поля",
                "en": ""
            },
            "buttonType": "primary",
            "order": 0,
            "isConfirmationBackwardTextRequired": false,
            "isConfirmationRequired": false,
            "conditions": [
                {
                    "type": "REQUIRED_ROLES",
                    "items": [
                        "AGENT"
                    ]
                }
            ]
        },
        {
            "id": "AGENT_APPROVAL-REJECTED",
            "fromState": "AGENT_APPROVAL",
            "toState": "REJECTED",
            "caption": {
                "ru": "Отклонить"
            },
            "successfulTransitionMessage": {
                "ru": "Запрос индивидуальных ставок отклонён"
            },
            "buttonType": "danger",
            "order": 1,
            "isConfirmationBackwardTextRequired": true,
            "isConfirmationRequired": false,
            "conditions": [
                {
                    "type": "REQUIRED_ROLES",
                    "items": [
                        "AGENT"
                    ]
                }
            ],
            "notification": [
                {
                    "recipient": [
                        "CONTRACTOR",
                        "SENIOR_CONTRACTOR",
                        "PARTNER"
                    ],
                    "message": "mail_rate_from_partner_rejected_by_agent"
                }
            ]
        }
    ]
}