Source code for satcfdi.create.pld.veh

from decimal import Decimal
from datetime import datetime, date, time
from collections.abc import Sequence
from ...cfdi import CFDI, XElement


[docs]class DatosLiquidacionType(XElement): def __init__( self, fecha_pago: date, forma_pago: str, moneda: str, monto_operacion: str, instrumento_monetario: str = None, ): """ :param fecha_pago: :param forma_pago: :param moneda: :param monto_operacion: :param instrumento_monetario: """ super().__init__({ 'FechaPago': fecha_pago, 'FormaPago': forma_pago, 'Moneda': moneda, 'MontoOperacion': monto_operacion, 'InstrumentoMonetario': instrumento_monetario, })
[docs]class DatosVehiculoAereoType(XElement): def __init__( self, marca_fabricante: str, modelo: str, anio: str, numero_serie: str, nivel_blindaje: str, bandera: str = None, matricula: str = None, ): """ :param marca_fabricante: :param modelo: :param anio: :param numero_serie: :param nivel_blindaje: :param bandera: :param matricula: """ super().__init__({ 'MarcaFabricante': marca_fabricante, 'Modelo': modelo, 'Anio': anio, 'NumeroSerie': numero_serie, 'NivelBlindaje': nivel_blindaje, 'Bandera': bandera, 'Matricula': matricula, })
[docs]class DatosVehiculoMaritimoType(XElement): def __init__( self, marca_fabricante: str, modelo: str, anio: str, numero_serie: str, nivel_blindaje: str, bandera: str = None, matricula: str = None, ): """ :param marca_fabricante: :param modelo: :param anio: :param numero_serie: :param nivel_blindaje: :param bandera: :param matricula: """ super().__init__({ 'MarcaFabricante': marca_fabricante, 'Modelo': modelo, 'Anio': anio, 'NumeroSerie': numero_serie, 'NivelBlindaje': nivel_blindaje, 'Bandera': bandera, 'Matricula': matricula, })
[docs]class DatosVehiculoTerrestreType(XElement): def __init__( self, marca_fabricante: str, modelo: str, anio: str, nivel_blindaje: str, vin: str = None, repuve: str = None, placas: str = None, ): """ :param marca_fabricante: :param modelo: :param anio: :param nivel_blindaje: :param vin: :param repuve: :param placas: """ super().__init__({ 'MarcaFabricante': marca_fabricante, 'Modelo': modelo, 'Anio': anio, 'NivelBlindaje': nivel_blindaje, 'Vin': vin, 'Repuve': repuve, 'Placas': placas, })
[docs]class TipoVehiculoType(XElement): def __init__( self, datos_vehiculo_terrestre: DatosVehiculoTerrestreType | dict = None, datos_vehiculo_maritimo: DatosVehiculoMaritimoType | dict = None, datos_vehiculo_aereo: DatosVehiculoAereoType | dict = None, ): """ :param datos_vehiculo_terrestre: :param datos_vehiculo_maritimo: :param datos_vehiculo_aereo: """ super().__init__({ 'DatosVehiculoTerrestre': datos_vehiculo_terrestre, 'DatosVehiculoMaritimo': datos_vehiculo_maritimo, 'DatosVehiculoAereo': datos_vehiculo_aereo, })
[docs]class DatosOperacionType(XElement): def __init__( self, fecha_operacion: date, codigo_postal: str, tipo_operacion: str, tipo_vehiculo: TipoVehiculoType | dict | Sequence[TipoVehiculoType | dict], datos_liquidacion: DatosLiquidacionType | dict | Sequence[DatosLiquidacionType | dict] = None, ): """ :param fecha_operacion: :param codigo_postal: :param tipo_operacion: :param tipo_vehiculo: :param datos_liquidacion: """ super().__init__({ 'FechaOperacion': fecha_operacion, 'CodigoPostal': codigo_postal, 'TipoOperacion': tipo_operacion, 'TipoVehiculo': tipo_vehiculo, 'DatosLiquidacion': datos_liquidacion, })
[docs]class DetalleOperacionesType(XElement): def __init__( self, datos_operacion: DatosOperacionType | dict | Sequence[DatosOperacionType | dict], ): """ :param datos_operacion: """ super().__init__({ 'DatosOperacion': datos_operacion, })
[docs]class FideicomisoSimpleType(XElement): def __init__( self, denominacion_razon: str, rfc: str = None, identificador_fideicomiso: str = None, ): """ :param denominacion_razon: :param rfc: :param identificador_fideicomiso: """ super().__init__({ 'DenominacionRazon': denominacion_razon, 'Rfc': rfc, 'IdentificadorFideicomiso': identificador_fideicomiso, })
[docs]class PersonaMoralSimpleType(XElement): def __init__( self, denominacion_razon: str, fecha_constitucion: date = None, rfc: str = None, pais_nacionalidad: str = None, ): """ :param denominacion_razon: :param fecha_constitucion: :param rfc: :param pais_nacionalidad: """ super().__init__({ 'DenominacionRazon': denominacion_razon, 'FechaConstitucion': fecha_constitucion, 'Rfc': rfc, 'PaisNacionalidad': pais_nacionalidad, })
[docs]class PersonaFisicaSimpleType(XElement): def __init__( self, nombre: str, apellido_paterno: str, apellido_materno: str, fecha_nacimiento: date = None, rfc: str = None, curp: str = None, pais_nacionalidad: str = None, ): """ :param nombre: :param apellido_paterno: :param apellido_materno: :param fecha_nacimiento: :param rfc: :param curp: :param pais_nacionalidad: """ super().__init__({ 'Nombre': nombre, 'ApellidoPaterno': apellido_paterno, 'ApellidoMaterno': apellido_materno, 'FechaNacimiento': fecha_nacimiento, 'Rfc': rfc, 'Curp': curp, 'PaisNacionalidad': pais_nacionalidad, })
[docs]class TipoPersonaSimpleType(XElement): def __init__( self, persona_fisica: PersonaFisicaSimpleType | dict = None, persona_moral: PersonaMoralSimpleType | dict = None, fideicomiso: FideicomisoSimpleType | dict = None, ): """ :param persona_fisica: :param persona_moral: :param fideicomiso: """ super().__init__({ 'PersonaFisica': persona_fisica, 'PersonaMoral': persona_moral, 'Fideicomiso': fideicomiso, })
[docs]class DuenoBeneficiarioType(XElement): def __init__( self, tipo_persona: TipoPersonaSimpleType | dict, ): """ :param tipo_persona: """ super().__init__({ 'TipoPersona': tipo_persona, })
[docs]class TelefonoType(XElement): def __init__( self, clave_pais: str = None, numero_telefono: str = None, correo_electronico: str = None, ): """ :param clave_pais: :param numero_telefono: :param correo_electronico: """ super().__init__({ 'ClavePais': clave_pais, 'NumeroTelefono': numero_telefono, 'CorreoElectronico': correo_electronico, })
[docs]class ExtranjeroType(XElement): def __init__( self, pais: str, estado_provincia: str, ciudad_poblacion: str, colonia: str, calle: str, numero_exterior: str, codigo_postal: str, numero_interior: str = None, ): """ :param pais: :param estado_provincia: :param ciudad_poblacion: :param colonia: :param calle: :param numero_exterior: :param codigo_postal: :param numero_interior: """ super().__init__({ 'Pais': pais, 'EstadoProvincia': estado_provincia, 'CiudadPoblacion': ciudad_poblacion, 'Colonia': colonia, 'Calle': calle, 'NumeroExterior': numero_exterior, 'CodigoPostal': codigo_postal, 'NumeroInterior': numero_interior, })
[docs]class NacionalType(XElement): def __init__( self, colonia: str, calle: str, numero_exterior: str, codigo_postal: str, numero_interior: str = None, ): """ :param colonia: :param calle: :param numero_exterior: :param codigo_postal: :param numero_interior: """ super().__init__({ 'Colonia': colonia, 'Calle': calle, 'NumeroExterior': numero_exterior, 'CodigoPostal': codigo_postal, 'NumeroInterior': numero_interior, })
[docs]class TipoDomicilioType(XElement): def __init__( self, nacional: NacionalType | dict = None, extranjero: ExtranjeroType | dict = None, ): """ :param nacional: :param extranjero: """ super().__init__({ 'Nacional': nacional, 'Extranjero': extranjero, })
[docs]class RepresentanteApoderadoType(XElement): def __init__( self, nombre: str, apellido_paterno: str, apellido_materno: str, fecha_nacimiento: date = None, rfc: str = None, curp: str = None, ): """ :param nombre: :param apellido_paterno: :param apellido_materno: :param fecha_nacimiento: :param rfc: :param curp: """ super().__init__({ 'Nombre': nombre, 'ApellidoPaterno': apellido_paterno, 'ApellidoMaterno': apellido_materno, 'FechaNacimiento': fecha_nacimiento, 'Rfc': rfc, 'Curp': curp, })
[docs]class FideicomisoType(XElement): def __init__( self, denominacion_razon: str, apoderado_delegado: RepresentanteApoderadoType | dict, rfc: str = None, identificador_fideicomiso: str = None, ): """ :param denominacion_razon: :param apoderado_delegado: :param rfc: :param identificador_fideicomiso: """ super().__init__({ 'DenominacionRazon': denominacion_razon, 'ApoderadoDelegado': apoderado_delegado, 'Rfc': rfc, 'IdentificadorFideicomiso': identificador_fideicomiso, })
[docs]class PersonaMoralType(XElement): def __init__( self, denominacion_razon: str, pais_nacionalidad: str, giro_mercantil: str, representante_apoderado: RepresentanteApoderadoType | dict, fecha_constitucion: date = None, rfc: str = None, ): """ :param denominacion_razon: :param pais_nacionalidad: :param giro_mercantil: :param representante_apoderado: :param fecha_constitucion: :param rfc: """ super().__init__({ 'DenominacionRazon': denominacion_razon, 'PaisNacionalidad': pais_nacionalidad, 'GiroMercantil': giro_mercantil, 'RepresentanteApoderado': representante_apoderado, 'FechaConstitucion': fecha_constitucion, 'Rfc': rfc, })
[docs]class PersonaFisicaType(XElement): def __init__( self, nombre: str, apellido_paterno: str, apellido_materno: str, pais_nacionalidad: str, actividad_economica: str, fecha_nacimiento: date = None, rfc: str = None, curp: str = None, ): """ :param nombre: :param apellido_paterno: :param apellido_materno: :param pais_nacionalidad: :param actividad_economica: :param fecha_nacimiento: :param rfc: :param curp: """ super().__init__({ 'Nombre': nombre, 'ApellidoPaterno': apellido_paterno, 'ApellidoMaterno': apellido_materno, 'PaisNacionalidad': pais_nacionalidad, 'ActividadEconomica': actividad_economica, 'FechaNacimiento': fecha_nacimiento, 'Rfc': rfc, 'Curp': curp, })
[docs]class TipoPersonaType(XElement): def __init__( self, persona_fisica: PersonaFisicaType | dict = None, persona_moral: PersonaMoralType | dict = None, fideicomiso: FideicomisoType | dict = None, ): """ :param persona_fisica: :param persona_moral: :param fideicomiso: """ super().__init__({ 'PersonaFisica': persona_fisica, 'PersonaMoral': persona_moral, 'Fideicomiso': fideicomiso, })
[docs]class PersonaAvisoType(XElement): def __init__( self, tipo_persona: TipoPersonaType | dict, tipo_domicilio: TipoDomicilioType | dict = None, telefono: TelefonoType | dict = None, ): """ :param tipo_persona: :param tipo_domicilio: :param telefono: """ super().__init__({ 'TipoPersona': tipo_persona, 'TipoDomicilio': tipo_domicilio, 'Telefono': telefono, })
[docs]class AlertaType(XElement): def __init__( self, tipo_alerta: str, descripcion_alerta: str = None, ): """ :param tipo_alerta: :param descripcion_alerta: """ super().__init__({ 'TipoAlerta': tipo_alerta, 'DescripcionAlerta': descripcion_alerta, })
[docs]class ModificatorioType(XElement): def __init__( self, folio_modificacion: str, descripcion_modificacion: str, ): """ :param folio_modificacion: :param descripcion_modificacion: """ super().__init__({ 'FolioModificacion': folio_modificacion, 'DescripcionModificacion': descripcion_modificacion, })
[docs]class AvisoType(XElement): def __init__( self, referencia_aviso: str, prioridad: str, alerta: AlertaType | dict, persona_aviso: PersonaAvisoType | dict | Sequence[PersonaAvisoType | dict], detalle_operaciones: DetalleOperacionesType | dict, modificatorio: ModificatorioType | dict = None, dueno_beneficiario: DuenoBeneficiarioType | dict | Sequence[DuenoBeneficiarioType | dict] = None, ): """ :param referencia_aviso: :param prioridad: :param alerta: :param persona_aviso: :param detalle_operaciones: :param modificatorio: :param dueno_beneficiario: """ super().__init__({ 'ReferenciaAviso': referencia_aviso, 'Prioridad': prioridad, 'Alerta': alerta, 'PersonaAviso': persona_aviso, 'DetalleOperaciones': detalle_operaciones, 'Modificatorio': modificatorio, 'DuenoBeneficiario': dueno_beneficiario, })
[docs]class SujetoObligadoType(XElement): def __init__( self, clave_sujeto_obligado: str, clave_actividad: str, clave_entidad_colegiada: str = None, exento: str = None, ): """ :param clave_sujeto_obligado: :param clave_actividad: :param clave_entidad_colegiada: :param exento: """ super().__init__({ 'ClaveSujetoObligado': clave_sujeto_obligado, 'ClaveActividad': clave_actividad, 'ClaveEntidadColegiada': clave_entidad_colegiada, 'Exento': exento, })
[docs]class InformeType(XElement): def __init__( self, mes_reportado: str, sujeto_obligado: SujetoObligadoType | dict, aviso: AvisoType | dict | Sequence[AvisoType | dict] = None, ): """ :param mes_reportado: :param sujeto_obligado: :param aviso: """ super().__init__({ 'MesReportado': mes_reportado, 'SujetoObligado': sujeto_obligado, 'Aviso': aviso, })
[docs]class ArchivoType(XElement): def __init__( self, informe: InformeType | dict | Sequence[InformeType | dict], ): """ :param informe: """ super().__init__({ 'Informe': informe, })
[docs]class Archivo(ArchivoType): tag = '{http://www.uif.shcp.gob.mx/recepcion/veh}archivo'