<?xml version="1.0" encoding="UTF-8"?>
<!--

    Licensed to the Apache Software Foundation (ASF) under one
    or more contributor license agreements.  See the NOTICE file
    distributed with this work for additional information
    regarding copyright ownership.  The ASF licenses this file
    to you under the Apache License, Version 2.0 (the
    "License"); you may not use this file except in compliance
    with the License.  You may obtain a copy of the License at
    
    http://www.apache.org/licenses/LICENSE-2.0
    
    Unless required by applicable law or agreed to in writing,
    software distributed under the License is distributed on an
    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
    KIND, either express or implied.  See the License for the
    specific language governing permissions and limitations
    under the License.
-->
<entity-engine-xml>
    <SecurityGroup description="POS Clerk" groupId="POSCLERK"/>
    <SecurityGroupPermission groupId="POSCLERK" permissionId="ORDERMGR_VIEW"/>
    <SecurityGroupPermission groupId="POSCLERK" permissionId="ORDERMGR_NOTE"/>
    <SecurityGroupPermission groupId="POSCLERK" permissionId="ORDERMGR_UPDATE"/>
    <SecurityGroupPermission groupId="POSCLERK" permissionId="ORDERMGR_CREATE"/>
    <SecurityGroupPermission groupId="POSCLERK" permissionId="PARTYMGR_VIEW"/>
    <SecurityGroupPermission groupId="POSCLERK" permissionId="PARTYMGR_CREATE"/>
    <SecurityGroupPermission groupId="POSCLERK" permissionId="PARTYMGR_UPDATE"/>
    <SecurityGroupPermission groupId="POSCLERK" permissionId="PARTYMGR_NOTE"/>
    <SecurityGroupPermission groupId="POSCLERK" permissionId="PAY_INFO_VIEW"/>
    <SecurityGroupPermission groupId="POSCLERK" permissionId="PAY_INFO_UPDATE"/>
    <SecurityGroupPermission groupId="POSCLERK" permissionId="PAY_INFO_CREATE"/>
    <SecurityGroupPermission groupId="POSCLERK" permissionId="CATALOG_VIEW"/>  
    <SecurityGroupPermission groupId="POSCLERK" permissionId="ACCOUNTING_CREATE"/>
    <SecurityGroupPermission groupId="POSCLERK" permissionId="ACCOUNTING_UPDATE"/>
    <SecurityGroupPermission groupId="POSCLERK" permissionId="ACCOUNTING_COMM_VIEW"/>
</entity-engine-xml>
