import ns org.osbp.tests.dtos.BaseIDDto
import ns org.osbp.tests.dtos.BaseUUIDDto
import ns org.osbp.tests.dtos.DtoTestParentDto
import ns org.osbp.tests.dtos.DtoTestChildContainmentDto
import ns org.osbp.tests.dtos.DtoTestChildCrossRefDto
import ns org.osbp.tests.dtos.McustomerDto
import ns org.osbp.tests.dtos.CashRegisterDto
import ns org.osbp.tests.dtos.CashSlipDto
import ns org.osbp.tests.dtos.CashPositionDto
import ns org.osbp.tests.dtos.CashPaymentDto
import ns org.osbp.tests.dtos.CashPaymentMethodDto
import ns org.osbp.tests.dtos.CompanyRelationTypeDto
import ns org.osbp.tests.dtos.CompanyGroupDto
import ns org.osbp.tests.dtos.CompanyDto
import ns org.osbp.tests.dtos.AddressDto
import ns org.osbp.tests.dtos.DepartmentDto
package org.osbp.tests.dtos.service {
	dtoservice BaseIDDtoService provides BaseIDDto {
	} dtoservice BaseUUIDDtoService provides BaseUUIDDto {
	} dtoservice DtoTestParentDtoService provides DtoTestParentDto {
	} dtoservice DtoTestChildContainmentDtoService provides DtoTestChildContainmentDto {
	} dtoservice DtoTestChildCrossRefDtoService provides DtoTestChildCrossRefDto {
	} dtoservice McustomerDtoService provides McustomerDto {
	} dtoservice CashRegisterDtoService provides CashRegisterDto {
	} dtoservice CashSlipDtoService provides CashSlipDto {
	} dtoservice CashPositionDtoService provides CashPositionDto {
	} dtoservice CashPaymentDtoService provides CashPaymentDto {
	} dtoservice CashPaymentMethodDtoService provides CashPaymentMethodDto {
	} dtoservice CompanyRelationTypeDtoService provides CompanyRelationTypeDto {
	} dtoservice CompanyGroupDtoService provides CompanyGroupDto {
	} dtoservice CompanyDtoService provides CompanyDto {
	} dtoservice AddressDtoService provides AddressDto {
	} dtoservice DepartmentDtoService provides DepartmentDto {
	} }