# -*- coding: utf-8 -*-
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: opencannabis/accounting/Taxes.proto
"""Generated protocol buffer code."""
from google.protobuf.internal import enum_type_wrapper
from google.protobuf import descriptor as _descriptor
from google.protobuf import message as _message
from google.protobuf import reflection as _reflection
from google.protobuf import symbol_database as _symbol_database
# @@protoc_insertion_point(imports)

_sym_db = _symbol_database.Default()


from opencannabis.geo import Province_pb2 as opencannabis_dot_geo_dot_Province__pb2
from opencannabis.geo import Country_pb2 as opencannabis_dot_geo_dot_Country__pb2


DESCRIPTOR = _descriptor.FileDescriptor(
  name='opencannabis/accounting/Taxes.proto',
  package='opencannabis.taxes',
  syntax='proto3',
  serialized_options=b'\n!io.opencannabis.schema.accountingB\017AccountingTaxesH\001P\000\242\002\003OCS',
  create_key=_descriptor._internal_create_key,
  serialized_pb=b'\n#opencannabis/accounting/Taxes.proto\x12\x12opencannabis.taxes\x1a\x1fopencannabis/geo/Province.proto\x1a\x1eopencannabis/geo/Country.proto\"z\n\x08LocalTax\x12\x14\n\x0cmunicipality\x18\x01 \x01(\t\x12,\n\x08province\x18\x02 \x01(\x0b\x32\x1a.opencannabis.geo.Province\x12*\n\x07\x63ountry\x18\x03 \x01(\x0b\x32\x19.opencannabis.geo.Country\"i\n\rProvincialTax\x12,\n\x08province\x18\x01 \x01(\x0b\x32\x1a.opencannabis.geo.Province\x12*\n\x07\x63ountry\x18\x02 \x01(\x0b\x32\x19.opencannabis.geo.Country\"8\n\nFederalTax\x12*\n\x07\x63ountry\x18\x01 \x01(\x0b\x32\x19.opencannabis.geo.Country\"\xf3\x01\n\x0fTaxJurisdiction\x12\x35\n\x04mode\x18\x01 \x01(\x0e\x32\'.opencannabis.taxes.TaxJurisdictionMode\x12-\n\x05local\x18\x02 \x01(\x0b\x32\x1c.opencannabis.taxes.LocalTaxH\x00\x12\x37\n\nprovincial\x18\x03 \x01(\x0b\x32!.opencannabis.taxes.ProvincialTaxH\x00\x12\x31\n\x07\x66\x65\x64\x65ral\x18\x04 \x01(\x0b\x32\x1e.opencannabis.taxes.FederalTaxH\x00\x42\x0e\n\x0cjurisdiction\"\xc2\x01\n\x07TaxSpec\x12+\n\x05\x62\x61sis\x18\x01 \x01(\x0e\x32\x1c.opencannabis.taxes.TaxBasis\x12\x39\n\x0cjurisdiction\x18\x02 \x01(\x0b\x32#.opencannabis.taxes.TaxJurisdiction\x12\x19\n\x11transaction_label\x18\x03 \x01(\t\x12\x14\n\npercentage\x18\x04 \x01(\x01H\x00\x12\x16\n\x0cstatic_value\x18\x05 \x01(\x01H\x00\x42\x06\n\x04rate\"n\n\x03Tax\x12\n\n\x02id\x18\x01 \x01(\t\x12)\n\x04spec\x18\x02 \x01(\x0b\x32\x1b.opencannabis.taxes.TaxSpec\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\r\n\x05label\x18\x04 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x05 \x01(\t*;\n\x13TaxJurisdictionMode\x12\t\n\x05LOCAL\x10\x00\x12\x0c\n\x08PROVINCE\x10\x01\x12\x0b\n\x07\x46\x45\x44\x45RAL\x10\x02*9\n\x08TaxBasis\x12\x08\n\x04ITEM\x10\x00\x12\x12\n\x0eORDER_SUBTOTAL\x10\x01\x12\x0f\n\x0bORDER_TOTAL\x10\x02\x42>\n!io.opencannabis.schema.accountingB\x0f\x41\x63\x63ountingTaxesH\x01P\x00\xa2\x02\x03OCSb\x06proto3'
  ,
  dependencies=[opencannabis_dot_geo_dot_Province__pb2.DESCRIPTOR,opencannabis_dot_geo_dot_Country__pb2.DESCRIPTOR,])

_TAXJURISDICTIONMODE = _descriptor.EnumDescriptor(
  name='TaxJurisdictionMode',
  full_name='opencannabis.taxes.TaxJurisdictionMode',
  filename=None,
  file=DESCRIPTOR,
  create_key=_descriptor._internal_create_key,
  values=[
    _descriptor.EnumValueDescriptor(
      name='LOCAL', index=0, number=0,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='PROVINCE', index=1, number=1,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='FEDERAL', index=2, number=2,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=968,
  serialized_end=1027,
)
_sym_db.RegisterEnumDescriptor(_TAXJURISDICTIONMODE)

TaxJurisdictionMode = enum_type_wrapper.EnumTypeWrapper(_TAXJURISDICTIONMODE)
_TAXBASIS = _descriptor.EnumDescriptor(
  name='TaxBasis',
  full_name='opencannabis.taxes.TaxBasis',
  filename=None,
  file=DESCRIPTOR,
  create_key=_descriptor._internal_create_key,
  values=[
    _descriptor.EnumValueDescriptor(
      name='ITEM', index=0, number=0,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='ORDER_SUBTOTAL', index=1, number=1,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='ORDER_TOTAL', index=2, number=2,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=1029,
  serialized_end=1086,
)
_sym_db.RegisterEnumDescriptor(_TAXBASIS)

TaxBasis = enum_type_wrapper.EnumTypeWrapper(_TAXBASIS)
LOCAL = 0
PROVINCE = 1
FEDERAL = 2
ITEM = 0
ORDER_SUBTOTAL = 1
ORDER_TOTAL = 2



_LOCALTAX = _descriptor.Descriptor(
  name='LocalTax',
  full_name='opencannabis.taxes.LocalTax',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='municipality', full_name='opencannabis.taxes.LocalTax.municipality', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='province', full_name='opencannabis.taxes.LocalTax.province', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='country', full_name='opencannabis.taxes.LocalTax.country', index=2,
      number=3, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=124,
  serialized_end=246,
)


_PROVINCIALTAX = _descriptor.Descriptor(
  name='ProvincialTax',
  full_name='opencannabis.taxes.ProvincialTax',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='province', full_name='opencannabis.taxes.ProvincialTax.province', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='country', full_name='opencannabis.taxes.ProvincialTax.country', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=248,
  serialized_end=353,
)


_FEDERALTAX = _descriptor.Descriptor(
  name='FederalTax',
  full_name='opencannabis.taxes.FederalTax',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='country', full_name='opencannabis.taxes.FederalTax.country', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=355,
  serialized_end=411,
)


_TAXJURISDICTION = _descriptor.Descriptor(
  name='TaxJurisdiction',
  full_name='opencannabis.taxes.TaxJurisdiction',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='mode', full_name='opencannabis.taxes.TaxJurisdiction.mode', index=0,
      number=1, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='local', full_name='opencannabis.taxes.TaxJurisdiction.local', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='provincial', full_name='opencannabis.taxes.TaxJurisdiction.provincial', index=2,
      number=3, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='federal', full_name='opencannabis.taxes.TaxJurisdiction.federal', index=3,
      number=4, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
    _descriptor.OneofDescriptor(
      name='jurisdiction', full_name='opencannabis.taxes.TaxJurisdiction.jurisdiction',
      index=0, containing_type=None,
      create_key=_descriptor._internal_create_key,
    fields=[]),
  ],
  serialized_start=414,
  serialized_end=657,
)


_TAXSPEC = _descriptor.Descriptor(
  name='TaxSpec',
  full_name='opencannabis.taxes.TaxSpec',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='basis', full_name='opencannabis.taxes.TaxSpec.basis', index=0,
      number=1, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='jurisdiction', full_name='opencannabis.taxes.TaxSpec.jurisdiction', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='transaction_label', full_name='opencannabis.taxes.TaxSpec.transaction_label', index=2,
      number=3, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='percentage', full_name='opencannabis.taxes.TaxSpec.percentage', index=3,
      number=4, type=1, cpp_type=5, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='static_value', full_name='opencannabis.taxes.TaxSpec.static_value', index=4,
      number=5, type=1, cpp_type=5, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
    _descriptor.OneofDescriptor(
      name='rate', full_name='opencannabis.taxes.TaxSpec.rate',
      index=0, containing_type=None,
      create_key=_descriptor._internal_create_key,
    fields=[]),
  ],
  serialized_start=660,
  serialized_end=854,
)


_TAX = _descriptor.Descriptor(
  name='Tax',
  full_name='opencannabis.taxes.Tax',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='id', full_name='opencannabis.taxes.Tax.id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='spec', full_name='opencannabis.taxes.Tax.spec', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='name', full_name='opencannabis.taxes.Tax.name', index=2,
      number=3, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='label', full_name='opencannabis.taxes.Tax.label', index=3,
      number=4, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='description', full_name='opencannabis.taxes.Tax.description', index=4,
      number=5, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=856,
  serialized_end=966,
)

_LOCALTAX.fields_by_name['province'].message_type = opencannabis_dot_geo_dot_Province__pb2._PROVINCE
_LOCALTAX.fields_by_name['country'].message_type = opencannabis_dot_geo_dot_Country__pb2._COUNTRY
_PROVINCIALTAX.fields_by_name['province'].message_type = opencannabis_dot_geo_dot_Province__pb2._PROVINCE
_PROVINCIALTAX.fields_by_name['country'].message_type = opencannabis_dot_geo_dot_Country__pb2._COUNTRY
_FEDERALTAX.fields_by_name['country'].message_type = opencannabis_dot_geo_dot_Country__pb2._COUNTRY
_TAXJURISDICTION.fields_by_name['mode'].enum_type = _TAXJURISDICTIONMODE
_TAXJURISDICTION.fields_by_name['local'].message_type = _LOCALTAX
_TAXJURISDICTION.fields_by_name['provincial'].message_type = _PROVINCIALTAX
_TAXJURISDICTION.fields_by_name['federal'].message_type = _FEDERALTAX
_TAXJURISDICTION.oneofs_by_name['jurisdiction'].fields.append(
  _TAXJURISDICTION.fields_by_name['local'])
_TAXJURISDICTION.fields_by_name['local'].containing_oneof = _TAXJURISDICTION.oneofs_by_name['jurisdiction']
_TAXJURISDICTION.oneofs_by_name['jurisdiction'].fields.append(
  _TAXJURISDICTION.fields_by_name['provincial'])
_TAXJURISDICTION.fields_by_name['provincial'].containing_oneof = _TAXJURISDICTION.oneofs_by_name['jurisdiction']
_TAXJURISDICTION.oneofs_by_name['jurisdiction'].fields.append(
  _TAXJURISDICTION.fields_by_name['federal'])
_TAXJURISDICTION.fields_by_name['federal'].containing_oneof = _TAXJURISDICTION.oneofs_by_name['jurisdiction']
_TAXSPEC.fields_by_name['basis'].enum_type = _TAXBASIS
_TAXSPEC.fields_by_name['jurisdiction'].message_type = _TAXJURISDICTION
_TAXSPEC.oneofs_by_name['rate'].fields.append(
  _TAXSPEC.fields_by_name['percentage'])
_TAXSPEC.fields_by_name['percentage'].containing_oneof = _TAXSPEC.oneofs_by_name['rate']
_TAXSPEC.oneofs_by_name['rate'].fields.append(
  _TAXSPEC.fields_by_name['static_value'])
_TAXSPEC.fields_by_name['static_value'].containing_oneof = _TAXSPEC.oneofs_by_name['rate']
_TAX.fields_by_name['spec'].message_type = _TAXSPEC
DESCRIPTOR.message_types_by_name['LocalTax'] = _LOCALTAX
DESCRIPTOR.message_types_by_name['ProvincialTax'] = _PROVINCIALTAX
DESCRIPTOR.message_types_by_name['FederalTax'] = _FEDERALTAX
DESCRIPTOR.message_types_by_name['TaxJurisdiction'] = _TAXJURISDICTION
DESCRIPTOR.message_types_by_name['TaxSpec'] = _TAXSPEC
DESCRIPTOR.message_types_by_name['Tax'] = _TAX
DESCRIPTOR.enum_types_by_name['TaxJurisdictionMode'] = _TAXJURISDICTIONMODE
DESCRIPTOR.enum_types_by_name['TaxBasis'] = _TAXBASIS
_sym_db.RegisterFileDescriptor(DESCRIPTOR)

LocalTax = _reflection.GeneratedProtocolMessageType('LocalTax', (_message.Message,), {
  'DESCRIPTOR' : _LOCALTAX,
  '__module__' : 'opencannabis.accounting.Taxes_pb2'
  # @@protoc_insertion_point(class_scope:opencannabis.taxes.LocalTax)
  })
_sym_db.RegisterMessage(LocalTax)

ProvincialTax = _reflection.GeneratedProtocolMessageType('ProvincialTax', (_message.Message,), {
  'DESCRIPTOR' : _PROVINCIALTAX,
  '__module__' : 'opencannabis.accounting.Taxes_pb2'
  # @@protoc_insertion_point(class_scope:opencannabis.taxes.ProvincialTax)
  })
_sym_db.RegisterMessage(ProvincialTax)

FederalTax = _reflection.GeneratedProtocolMessageType('FederalTax', (_message.Message,), {
  'DESCRIPTOR' : _FEDERALTAX,
  '__module__' : 'opencannabis.accounting.Taxes_pb2'
  # @@protoc_insertion_point(class_scope:opencannabis.taxes.FederalTax)
  })
_sym_db.RegisterMessage(FederalTax)

TaxJurisdiction = _reflection.GeneratedProtocolMessageType('TaxJurisdiction', (_message.Message,), {
  'DESCRIPTOR' : _TAXJURISDICTION,
  '__module__' : 'opencannabis.accounting.Taxes_pb2'
  # @@protoc_insertion_point(class_scope:opencannabis.taxes.TaxJurisdiction)
  })
_sym_db.RegisterMessage(TaxJurisdiction)

TaxSpec = _reflection.GeneratedProtocolMessageType('TaxSpec', (_message.Message,), {
  'DESCRIPTOR' : _TAXSPEC,
  '__module__' : 'opencannabis.accounting.Taxes_pb2'
  # @@protoc_insertion_point(class_scope:opencannabis.taxes.TaxSpec)
  })
_sym_db.RegisterMessage(TaxSpec)

Tax = _reflection.GeneratedProtocolMessageType('Tax', (_message.Message,), {
  'DESCRIPTOR' : _TAX,
  '__module__' : 'opencannabis.accounting.Taxes_pb2'
  # @@protoc_insertion_point(class_scope:opencannabis.taxes.Tax)
  })
_sym_db.RegisterMessage(Tax)


DESCRIPTOR._options = None
# @@protoc_insertion_point(module_scope)
