{
    "ClientFacet": {
        "options": {
            "allowNewClient": true,
            "allowExtraAttendee": true,
            "allowNewAttendee": true,
            "allowEditClient": true,
            "allowEditAttendee": true,
            "allowNote": true,
            "maxNumberOfAttendees": 3,
            "showConsent": true,
            "clientNewCustomForm": [
                {
                    "type": "fieldset",
                    "items": [
                        "first_name",
                        "last_name",
                        {
                            "key": "email",
                            "type": "email",
                            "validationMessage": {
                                "email": "ADMIN_DASHBOARD.BASKET.CLIENT_FACET.INVALID_EMAIL"
                            }
                        },
                        "mobile",
                        "extra_info",
                        "address1",
                        "address2",
                        "address3",
                        "address4",
                        "address5",
                        "postcode",
                        {
                            "key": "consent",
                            "description": "ADMIN_DASHBOARD.BASKET.CLIENT_FACET.CONSENT"
                        }
                    ]
                },
                {
                    "type": "fieldset",
                    "items": [
                        "q"
                    ]
                },
                {
                    "type": "section",
                    "htmlClass": "journey-modal__submit-wrapper",
                    "items": [
                        {
                            "type": "button",
                            "condition": "$root.responsive.below.sm",
                            "onClick": "onCancel()",
                            "style": "journey-modal__cancel-btn btn btn-light btn-block",
                            "title": "Cancel"
                        },
                        {
                            "type": "submit",
                            "style": "journey-modal__save-btn btn btn-primary btn-block",
                            "title": "Save and add"
                        }
                    ]
                }
            ],
            "clientEditCustomForm": [
                {
                    "type": "fieldset",
                    "title": "ADMIN_DASHBOARD.BASKET.CLIENT_FACET.BASIC_INFO",
                    "items": [
                        "first_name",
                        "last_name",
                        "email",
                        "mobile",
                        "extra_info",
                        "address1",
                        "address2",
                        "address3",
                        "address4",
                        "address5",
                        "postcode",
                        {
                            "key": "consent",
                            "description": "ADMIN_DASHBOARD.BASKET.CLIENT_FACET.CONSENT"
                        }
                    ]
                },
                {
                    "type": "fieldset",
                    "title": "ADMIN_DASHBOARD.BASKET.CLIENT_FACET.ADDITIONAL_DETAILS",
                    "items": [
                        "q"
                    ]
                },
                {
                    "type": "section",
                    "htmlClass": "journey-new-client-modal__schema-form-submit-wrapper",
                    "items": [
                        {
                            "type": "submit",
                            "style": "journey-new-client-modal__save-btn btn btn-primary btn-block",
                            "title": "Save"
                        }
                    ]
                }
            ],
            "attendeeCustomForm": [
                {
                    "type": "fieldset",
                    "items": [
                        {
                            "key": "first_name",
                            "type": "string",
                            "required": true
                        },
                        "last_name",
                        {
                            "key": "email",
                            "type": "email",
                            "validationMessage": {
                                "email": "ADMIN_DASHBOARD.BASKET.CLIENT_FACET.INVALID_EMAIL",
                                "duplicateEmail": "ADMIN_DASHBOARD.BASKET.CLIENT_FACET.DUPLICATE_EMAIL"
                            },
                            "ngModelOptions": {
                                "debounce": 500
                            },
                            "$asyncValidators": {
                                "duplicateEmail": "function (modelValue, viewValue) { return new Promise(function (resolve, reject) { if (modelValue) { return company.$get('client_by_email', {email: modelValue}).then(reject, resolve); } else { resolve() } }); }"
                            }
                        },
                        "mobile",
                        "relationship"
                    ]
                }
            ]
        }
    }
}
