{
    "module": "pipicar",
    "name": "pipicar.brand_models",
    "type": "crud",
    "title": "Модели автомобилей",
    "data": {
        "table": "pipi_brand_models",
        "pk": "id",
        "limit": 25,
        "segment": true,
        "timestamp": false,
        "fields": {
            "id": {
                "type": "pk"
            },
            "name": {
                "type": "string"
            },
            "year": {
                "type": "string"
            },
            "brand_id": {
                "type": "foreign",
                "table": "pipi_auto_brands",
                "foreign": "id",
                "display": [
                    "name"
                ],
                "validation": "required|integer"
            },
            "equipment_id": {
                "type": "foreign",
                "table": "pipi_auto_equipment",
                "foreign": "id",
                "display": [
                    "name"
                ],
                "validation": "nullable|integer"
            },
            "pipi_tariffs": {
                "type": "subcrud",
                "module": "pipicar",
                "data": {
                    "table": "pipi_auto_tariffs",
                    "pk": "id",
                    "limit": 10,
                    "sort_order": "desc",
                    "sort_field": "id",
                    "left": "id",
                    "right": "model_id",
                    "fields": {
                        "id": {
                            "type": "pk"
                        },
                        "name": {
                            "type": "string"
                        },
                        "type": {
                            "type": "string",
                            "default": "dynamic"
                        },
                        "day_range_start": {
                            "type": "int"
                        },
                        "day_range_end": {
                            "type": "int"
                        },
                        "base_rate": {
                            "type": "int"
                        },
                        "deposit": {
                            "type": "int"
                        }
                    }
                },
                "ui": {
                    "grid": {
                        "title": "Тарифы",
                        "cols": [
                            {
                                "name": "id",
                                "caption": "ИД"
                            },
                            {
                                "name": "name",
                                "caption": "Название"
                            },
                            {
                                "name": "base_rate",
                                "caption": "Цена"
                            }
                        ],
                        "action": {
                            "head": [
                                "add"
                            ],
                            "row": [
                                "edit",
                                "delete"
                            ]
                        }
                    },
                    "forms": {
                        "add": {
                            "title": "Добавить тариф",
                            "form": {
                                "rows": [
                                    {
                                        "cols": [
                                            {
                                                "size": 4,
                                                "input": {
                                                    "name": "name",
                                                    "label": "Название тарифа"
                                                }
                                            },
                                            {
                                                "size": 4,
                                                "input": {
                                                    "name": "base_rate",
                                                    "label": "Базовая стоймость"
                                                }
                                            },
                                            {
                                                "size": 4,
                                                "input": {
                                                    "name": "deposit",
                                                    "label": "Депозит"
                                                }
                                            }
                                        ]
                                    },
                                    {
                                        "cols": [
                                            {
                                                "size": 2,
                                                "input": {
                                                    "name": "day_range_start",
                                                    "label": "от скольки дней"
                                                }
                                            },
                                            {
                                                "size": 2,
                                                "input": {
                                                    "name": "day_range_end",
                                                    "label": "до скольки дней"
                                                }
                                            }
                                        ]
                                    }
                                ],
                                "submits": "struct:crud.form.edit.submits"
                            }
                        },
                        "edit": {
                            "title": "Редактировать тариф",
                            "form": {
                                "rows": [
                                    {
                                        "cols": [
                                            {
                                                "size": 4,
                                                "input": {
                                                    "name": "name",
                                                    "label": "Название тарифа"
                                                }
                                            },
                                            {
                                                "size": 4,
                                                "input": {
                                                    "name": "base_rate",
                                                    "label": "Базовая стоймость"
                                                }
                                            },
                                            {
                                                "size": 4,
                                                "input": {
                                                    "name": "deposit",
                                                    "label": "Депозит"
                                                }
                                            }
                                        ]
                                    },
                                    {
                                        "cols": [
                                            {
                                                "size": 2,
                                                "input": {
                                                    "name": "day_range_start",
                                                    "label": "от скольки дней"
                                                }
                                            },
                                            {
                                                "size": 2,
                                                "input": {
                                                    "name": "day_range_end",
                                                    "label": "до скольки дней"
                                                }
                                            }
                                        ]
                                    }
                                ],
                                "submits": "struct:crud.form.edit.submits"
                            }
                        }
                    }
                },
                "actions": "struct:crud.actions"
            }
        }
    },
    "ui": {
        "grid": {
            "title": "Модели автомобилей",
            "template": "app.base.crud.grid",
            "cols": [
                {
                    "name": "brand_id",
                    "caption": "Название марки"
                },
                {
                    "name": "name",
                    "caption": "Название модели"
                },
                {
                    "name": "year",
                    "caption": "Год выпуска"
                }
            ],
            "action": {
                "head": [
                    "add"
                ],
                "row": [
                    "edit",
                    "delete"
                ]
            },
            "filter": {
                "template": "app.base.crud.filter",
                "rows": [
                    {
                        "cols": [
                            {
                                "size": 6,
                                "input": {
                                    "name": "name",
                                    "label": "Название марки"
                                }
                            }
                        ]
                    }
                ]
            }
        },
        "forms": {
            "add": {
                "title": "Добавление модели",
                "template": "app.base.crud.form",
                "form": {
                    "submits": "struct:crud.form.edit.submits",
                    "rows": [
                        {
                            "cols": [
                                {
                                    "size": 5,
                                    "input": {
                                        "name": "name",
                                        "label": "Название"
                                    }
                                },
                                {
                                    "size": 5,
                                    "input": {
                                        "name": "brand_id",
                                        "label": "Марка"
                                    }
                                },
                                {
                                    "size": 2,
                                    "input": {
                                        "name": "year",
                                        "label": "Год"
                                    }
                                },
                                {
                                    "size": 4,
                                    "input": {
                                        "name": "equipment_id",
                                        "label": "Комплектация"
                                    }
                                }
                            ]
                        }
                    ]
                }
            },
            "edit": {
                "title": "Редактирование модель",
                "template": "app.base.crud.form",
                "form": {
                    "rows": [
                        {
                            "cols": [
                                {
                                    "size": 5,
                                    "input": {
                                        "name": "name",
                                        "label": "Название"
                                    }
                                },
                                {
                                    "size": 5,
                                    "input": {
                                        "name": "brand_id",
                                        "label": "Марка"
                                    }
                                },
                                {
                                    "size": 2,
                                    "input": {
                                        "name": "year",
                                        "label": "Год"
                                    }
                                },
                                {
                                    "size": 4,
                                    "input": {
                                        "name": "equipment_id",
                                        "label": "Комплектация"
                                    }
                                }
                            ]
                        },
                        {
                            "cols": [
                                {
                                    "size": 12,
                                    "input": {
                                        "name": "pipi_tariffs",
                                        "label": ""
                                    }
                                }
                            ]
                        }
                    ],
                    "submits": "struct:crud.form.edit.submits"
                }
            }
        }
    },
    "actions": "struct:crud.actions"
}
