module Logistics-manager {

    yang-version 1;

    namespace "yrt.Logistics-manager";

    prefix "root";

    organization "ON-LAB";

    description "This module defines for organisation.";

    revision "2016-05-24" {
        description "Initial revision.";
    }

    leaf Customs-supervisor {
        type string;
        description "name of the customs-supervisor.";
    }

    leaf Merchandiser-supervisor {
        type string;
        description "name of merchandiser-supervisor";
    }

    list Material-supervisor {
        key "name";
        leaf name {
            type string;
            description "name of logistics-supervisor";
        }

        leaf departmentId {
            type string;
            description "name of department";
        }
    }

    container Purchasing-supervisor {
        leaf purchasing-specialist {
            type string;
            description "name of the purchasing-specialist person";
        }

        leaf-list support {
            type string;
            description "name of the support person";
        }
    }

    leaf-list Warehouse-supervisor {
        type string;
        description "name of the warehouse-supervisor's";
    }

    leaf Trading-supervisor {
        type string;
        description "name of the trading-supervisor";
    }

    leaf-list Employee-id {
        type string;
        description "list of the employee id";
    }
}