Issues (158)

satcfdi/create/pld/avi.py (1 issue)

1
"""avi http://www.uif.shcp.gob.mx/recepcion/avi"""
2
from decimal import Decimal
3
from datetime import datetime, date, time
4
from collections.abc import Sequence
5
from ...cfdi import CFDI
6
from ...xelement import XElement
7
from ...utils import ScalarMap
8
9
10
class CuentaExtranjeraType(ScalarMap):
11
    """
12
    
13
    :param numero_cuenta:
14
    :param nombre_banco:
15
    """
16
    
17
    def __init__(
18
            self,
19
            numero_cuenta: str,
20
            nombre_banco: str,
21
    ): 
22
        super().__init__({
23
            'NumeroCuenta': numero_cuenta,
24
            'NombreBanco': nombre_banco,
25
        })
26
        
27
28
class CuentaNacionalType(ScalarMap):
29
    """
30
    
31
    :param clabe_destino:
32
    :param clave_institucion_financiera:
33
    """
34
    
35
    def __init__(
36
            self,
37
            clabe_destino: str,
38
            clave_institucion_financiera: int,
39
    ): 
40
        super().__init__({
41
            'ClabeDestino': clabe_destino,
42
            'ClaveInstitucionFinanciera': clave_institucion_financiera,
43
        })
44
        
45
46
class PaisCuentaType(ScalarMap):
47
    """
48
    
49
    :param nacional:
50
    :param extranjero:
51
    """
52
    
53
    def __init__(
54
            self,
55
            nacional: CuentaNacionalType | dict = None,
56
            extranjero: CuentaExtranjeraType | dict = None,
57
    ): 
58
        super().__init__({
59
            'Nacional': nacional,
60
            'Extranjero': extranjero,
61
        })
62
        
63
64
class PersonaMoralBasicoType(ScalarMap):
65
    """
66
    
67
    :param denominacion_razon:
68
    """
69
    
70
    def __init__(
71
            self,
72
            denominacion_razon: str,
73
    ): 
74
        super().__init__({
75
            'DenominacionRazon': denominacion_razon,
76
        })
77
        
78
79
class PersonaFisicaBasicoType(ScalarMap):
80
    """
81
    
82
    :param nombre:
83
    :param apellido_paterno:
84
    :param apellido_materno:
85
    """
86
    
87
    def __init__(
88
            self,
89
            nombre: str,
90
            apellido_paterno: str,
91
            apellido_materno: str,
92
    ): 
93
        super().__init__({
94
            'Nombre': nombre,
95
            'ApellidoPaterno': apellido_paterno,
96
            'ApellidoMaterno': apellido_materno,
97
        })
98
        
99
100
class TipoPersonaBasicoType(ScalarMap):
101
    """
102
    
103
    :param persona_fisica:
104
    :param persona_moral:
105
    """
106
    
107
    def __init__(
108
            self,
109
            persona_fisica: PersonaFisicaBasicoType | dict = None,
110
            persona_moral: PersonaMoralBasicoType | dict = None,
111
    ): 
112
        super().__init__({
113
            'PersonaFisica': persona_fisica,
114
            'PersonaMoral': persona_moral,
115
        })
116
        
117
118
class PersonaCuentaType(ScalarMap):
119
    """
120
    
121
    :param tipo_persona:
122
    :param nacionalidad_cuenta:
123
    """
124
    
125
    def __init__(
126
            self,
127
            tipo_persona: TipoPersonaBasicoType | dict,
128
            nacionalidad_cuenta: PaisCuentaType | dict,
129
    ): 
130
        super().__init__({
131
            'TipoPersona': tipo_persona,
132
            'NacionalidadCuenta': nacionalidad_cuenta,
133
        })
134
        
135
136
class ActivoVirtualCompuestoType(ScalarMap):
137
    """
138
    
139
    :param activo_virtual:
140
    :param monto_operacion_mn:
141
    """
142
    
143
    def __init__(
144
            self,
145
            activo_virtual: ActivoVirtualSimpleType | dict,
146
            monto_operacion_mn: str,
147
    ): 
148
        super().__init__({
149
            'ActivoVirtual': activo_virtual,
150
            'MontoOperacionMn': monto_operacion_mn,
151
        })
152
        
153
154
class ActivoVirtualSimpleType(ScalarMap):
155
    """
156
    
157
    :param activo_virtual_operado:
158
    :param tipo_cambio_mn:
159
    :param cantidad_activo_virtual:
160
    :param descripcion_activo_virtual:
161
    """
162
    
163
    def __init__(
164
            self,
165
            activo_virtual_operado: int,
166
            tipo_cambio_mn: str,
167
            cantidad_activo_virtual: str,
168
            descripcion_activo_virtual: str = None,
169
    ): 
170
        super().__init__({
171
            'ActivoVirtualOperado': activo_virtual_operado,
172
            'TipoCambioMn': tipo_cambio_mn,
173
            'CantidadActivoVirtual': cantidad_activo_virtual,
174
            'DescripcionActivoVirtual': descripcion_activo_virtual,
175
        })
176
        
177
178
class DepositoType(ScalarMap):
179
    """
180
    
181
    :param fecha_hora_operacion:
182
    :param instrumento_monetario:
183
    :param moneda_operacion:
184
    :param monto_operacion:
185
    :param datos_ordenante:
186
    """
187
    
188
    def __init__(
189
            self,
190
            fecha_hora_operacion: str,
191
            instrumento_monetario: str,
192
            moneda_operacion: int,
193
            monto_operacion: str,
194
            datos_ordenante: PersonaCuentaType | dict,
195
    ): 
196
        super().__init__({
197
            'FechaHoraOperacion': fecha_hora_operacion,
198
            'InstrumentoMonetario': instrumento_monetario,
199
            'MonedaOperacion': moneda_operacion,
200
            'MontoOperacion': monto_operacion,
201
            'DatosOrdenante': datos_ordenante,
202
        })
203
        
204
205
class RetiroType(ScalarMap):
206
    """
207
    
208
    :param fecha_hora_operacion:
209
    :param instrumento_monetario:
210
    :param moneda_operacion:
211
    :param monto_operacion:
212
    :param datos_beneficiario:
213
    """
214
    
215
    def __init__(
216
            self,
217
            fecha_hora_operacion: str,
218
            instrumento_monetario: str,
219
            moneda_operacion: int,
220
            monto_operacion: str,
221
            datos_beneficiario: PersonaCuentaType | dict,
222
    ): 
223
        super().__init__({
224
            'FechaHoraOperacion': fecha_hora_operacion,
225
            'InstrumentoMonetario': instrumento_monetario,
226
            'MonedaOperacion': moneda_operacion,
227
            'MontoOperacion': monto_operacion,
228
            'DatosBeneficiario': datos_beneficiario,
229
        })
230
        
231
232
class RecepcionType(ScalarMap):
233
    """
234
    
235
    :param fecha_hora_operacion:
236
    :param monto_operacion_mn:
237
    :param activo_virtual:
238
    :param hash_operacion:
239
    """
240
    
241
    def __init__(
242
            self,
243
            fecha_hora_operacion: str,
244
            monto_operacion_mn: str,
245
            activo_virtual: ActivoVirtualSimpleType | dict,
246
            hash_operacion: str,
247
    ): 
248
        super().__init__({
249
            'FechaHoraOperacion': fecha_hora_operacion,
250
            'MontoOperacionMn': monto_operacion_mn,
251
            'ActivoVirtual': activo_virtual,
252
            'HashOperacion': hash_operacion,
253
        })
254
        
255
256
class EnvioType(ScalarMap):
257
    """
258
    
259
    :param fecha_hora_operacion:
260
    :param monto_operacion_mn:
261
    :param activo_virtual:
262
    :param hash_operacion:
263
    """
264
    
265
    def __init__(
266
            self,
267
            fecha_hora_operacion: str,
268
            monto_operacion_mn: str,
269
            activo_virtual: ActivoVirtualSimpleType | dict,
270
            hash_operacion: str,
271
    ): 
272
        super().__init__({
273
            'FechaHoraOperacion': fecha_hora_operacion,
274
            'MontoOperacionMn': monto_operacion_mn,
275
            'ActivoVirtual': activo_virtual,
276
            'HashOperacion': hash_operacion,
277
        })
278
        
279
280
class IntercambioType(ScalarMap):
281
    """
282
    
283
    :param fecha_hora_operacion:
284
    :param activo_virtual_enviado:
285
    :param activo_virtual_recibido:
286
    :param hash_operacion:
287
    """
288
    
289
    def __init__(
290
            self,
291
            fecha_hora_operacion: str,
292
            activo_virtual_enviado: ActivoVirtualCompuestoType | dict,
293
            activo_virtual_recibido: ActivoVirtualCompuestoType | dict,
294
            hash_operacion: str,
295
    ): 
296
        super().__init__({
297
            'FechaHoraOperacion': fecha_hora_operacion,
298
            'ActivoVirtualEnviado': activo_virtual_enviado,
299
            'ActivoVirtualRecibido': activo_virtual_recibido,
300
            'HashOperacion': hash_operacion,
301
        })
302
        
303
304
class VentaType(ScalarMap):
305
    """
306
    
307
    :param fecha_hora_operacion:
308
    :param moneda_operacion:
309
    :param monto_operacion:
310
    :param activo_virtual:
311
    :param hash_operacion:
312
    """
313
    
314
    def __init__(
315
            self,
316
            fecha_hora_operacion: str,
317
            moneda_operacion: int,
318
            monto_operacion: str,
319
            activo_virtual: ActivoVirtualSimpleType | dict,
320
            hash_operacion: str,
321
    ): 
322
        super().__init__({
323
            'FechaHoraOperacion': fecha_hora_operacion,
324
            'MonedaOperacion': moneda_operacion,
325
            'MontoOperacion': monto_operacion,
326
            'ActivoVirtual': activo_virtual,
327
            'HashOperacion': hash_operacion,
328
        })
329
        
330
331
class CompraType(ScalarMap):
332
    """
333
    
334
    :param fecha_hora_operacion:
335
    :param moneda_operacion:
336
    :param monto_operacion:
337
    :param activo_virtual:
338
    :param hash_operacion:
339
    """
340
    
341
    def __init__(
342
            self,
343
            fecha_hora_operacion: str,
344
            moneda_operacion: int,
345
            monto_operacion: str,
346
            activo_virtual: ActivoVirtualSimpleType | dict,
347
            hash_operacion: str,
348
    ): 
349
        super().__init__({
350
            'FechaHoraOperacion': fecha_hora_operacion,
351
            'MonedaOperacion': moneda_operacion,
352
            'MontoOperacion': monto_operacion,
353
            'ActivoVirtual': activo_virtual,
354
            'HashOperacion': hash_operacion,
355
        })
356
        
357
358
class FondosDepositadosType(ScalarMap):
359
    """
360
    
361
    :param deposito:
362
    """
363
    
364
    def __init__(
365
            self,
366
            deposito: DepositoType | dict | Sequence[DepositoType | dict],
367
    ): 
368
        super().__init__({
369
            'Deposito': deposito,
370
        })
371
        
372
373
class FondosRetiradosType(ScalarMap):
374
    """
375
    
376
    :param retiro:
377
    """
378
    
379
    def __init__(
380
            self,
381
            retiro: RetiroType | dict | Sequence[RetiroType | dict],
382
    ): 
383
        super().__init__({
384
            'Retiro': retiro,
385
        })
386
        
387
388
class OperacionesFondosType(ScalarMap):
389
    """
390
    
391
    :param fondos_retirados:
392
    :param fondos_depositados:
393
    """
394
    
395
    def __init__(
396
            self,
397
            fondos_retirados: FondosRetiradosType | dict = None,
398
            fondos_depositados: FondosDepositadosType | dict = None,
399
    ): 
400
        super().__init__({
401
            'FondosRetirados': fondos_retirados,
402
            'FondosDepositados': fondos_depositados,
403
        })
404
        
405
406
class TransferenciasRecibidasType(ScalarMap):
407
    """
408
    
409
    :param recepcion:
410
    """
411
    
412
    def __init__(
413
            self,
414
            recepcion: RecepcionType | dict | Sequence[RecepcionType | dict],
415
    ): 
416
        super().__init__({
417
            'Recepcion': recepcion,
418
        })
419
        
420
421
class TransferenciasEnviadasType(ScalarMap):
422
    """
423
    
424
    :param envio:
425
    """
426
    
427
    def __init__(
428
            self,
429
            envio: EnvioType | dict | Sequence[EnvioType | dict],
430
    ): 
431
        super().__init__({
432
            'Envio': envio,
433
        })
434
        
435
436
class OperacionesTransferenciaType(ScalarMap):
437
    """
438
    
439
    :param transferencias_enviadas:
440
    :param transferencias_recibidas:
441
    """
442
    
443
    def __init__(
444
            self,
445
            transferencias_enviadas: TransferenciasEnviadasType | dict = None,
446
            transferencias_recibidas: TransferenciasRecibidasType | dict = None,
447
    ): 
448
        super().__init__({
449
            'TransferenciasEnviadas': transferencias_enviadas,
450
            'TransferenciasRecibidas': transferencias_recibidas,
451
        })
452
        
453
454
class OperacionesIntercambioType(ScalarMap):
455
    """
456
    
457
    :param intercambio:
458
    """
459
    
460
    def __init__(
461
            self,
462
            intercambio: IntercambioType | dict | Sequence[IntercambioType | dict],
463
    ): 
464
        super().__init__({
465
            'Intercambio': intercambio,
466
        })
467
        
468
469
class OperacionesVentaType(ScalarMap):
470
    """
471
    
472
    :param venta:
473
    """
474
    
475
    def __init__(
476
            self,
477
            venta: VentaType | dict | Sequence[VentaType | dict],
478
    ): 
479
        super().__init__({
480
            'Venta': venta,
481
        })
482
        
483
484
class OperacionesCompraType(ScalarMap):
485
    """
486
    
487
    :param compra:
488
    """
489
    
490
    def __init__(
491
            self,
492
            compra: CompraType | dict | Sequence[CompraType | dict],
493
    ): 
494
        super().__init__({
495
            'Compra': compra,
496
        })
497
        
498
499
class DetalleOperacionesType(ScalarMap):
500
    """
501
    
502
    :param operaciones_compra:
503
    :param operaciones_venta:
504
    :param operaciones_intercambio:
505
    :param operaciones_transferencia:
506
    :param operaciones_fondos:
507
    """
508
    
509
    def __init__(
510
            self,
511
            operaciones_compra: OperacionesCompraType | dict = None,
512
            operaciones_venta: OperacionesVentaType | dict = None,
513
            operaciones_intercambio: OperacionesIntercambioType | dict = None,
514
            operaciones_transferencia: OperacionesTransferenciaType | dict = None,
515
            operaciones_fondos: OperacionesFondosType | dict = None,
516
    ): 
517
        super().__init__({
518
            'OperacionesCompra': operaciones_compra,
519
            'OperacionesVenta': operaciones_venta,
520
            'OperacionesIntercambio': operaciones_intercambio,
521
            'OperacionesTransferencia': operaciones_transferencia,
522
            'OperacionesFondos': operaciones_fondos,
523
        })
524
        
525
526
class FideicomisoSimpleType(ScalarMap):
527
    """
528
    
529
    :param denominacion_razon:
530
    :param rfc:
531
    :param identificador_fideicomiso:
532
    """
533
    
534
    def __init__(
535
            self,
536
            denominacion_razon: str,
537
            rfc: str = None,
538
            identificador_fideicomiso: str = None,
539
    ): 
540
        super().__init__({
541
            'DenominacionRazon': denominacion_razon,
542
            'Rfc': rfc,
543
            'IdentificadorFideicomiso': identificador_fideicomiso,
544
        })
545
        
546
547
class PersonaMoralSimpleType(ScalarMap):
548
    """
549
    
550
    :param denominacion_razon:
551
    :param pais_nacionalidad:
552
    :param fecha_constitucion:
553
    :param rfc:
554
    """
555
    
556
    def __init__(
557
            self,
558
            denominacion_razon: str,
559
            pais_nacionalidad: str,
560
            fecha_constitucion: date = None,
561
            rfc: str = None,
562
    ): 
563
        super().__init__({
564
            'DenominacionRazon': denominacion_razon,
565
            'PaisNacionalidad': pais_nacionalidad,
566
            'FechaConstitucion': fecha_constitucion,
567
            'Rfc': rfc,
568
        })
569
        
570
571
class PersonaFisicaSimpleType(ScalarMap):
572
    """
573
    
574
    :param nombre:
575
    :param apellido_paterno:
576
    :param apellido_materno:
577
    :param pais_nacionalidad:
578
    :param fecha_nacimiento:
579
    :param rfc:
580
    :param curp:
581
    """
582
    
583
    def __init__(
584
            self,
585
            nombre: str,
586
            apellido_paterno: str,
587
            apellido_materno: str,
588
            pais_nacionalidad: str,
589
            fecha_nacimiento: date = None,
590
            rfc: str = None,
591
            curp: str = None,
592
    ): 
593
        super().__init__({
594
            'Nombre': nombre,
595
            'ApellidoPaterno': apellido_paterno,
596
            'ApellidoMaterno': apellido_materno,
597
            'PaisNacionalidad': pais_nacionalidad,
598
            'FechaNacimiento': fecha_nacimiento,
599
            'Rfc': rfc,
600
            'Curp': curp,
601
        })
602
        
603
604
class TipoPersonaSimpleType(ScalarMap):
605
    """
606
    
607
    :param persona_fisica:
608
    :param persona_moral:
609
    :param fideicomiso:
610
    """
611
    
612
    def __init__(
613
            self,
614
            persona_fisica: PersonaFisicaSimpleType | dict = None,
615
            persona_moral: PersonaMoralSimpleType | dict = None,
616
            fideicomiso: FideicomisoSimpleType | dict = None,
617
    ): 
618
        super().__init__({
619
            'PersonaFisica': persona_fisica,
620
            'PersonaMoral': persona_moral,
621
            'Fideicomiso': fideicomiso,
622
        })
623
        
624
625
class DuenoBeneficiarioType(ScalarMap):
626
    """
627
    
628
    :param tipo_persona:
629
    """
630
    
631
    def __init__(
632
            self,
633
            tipo_persona: TipoPersonaSimpleType | dict,
634
    ): 
635
        super().__init__({
636
            'TipoPersona': tipo_persona,
637
        })
638
        
639
640
class TelefonoType(ScalarMap):
641
    """
642
    
643
    :param clave_pais:
644
    :param numero_telefono:
645
    :param correo_electronico:
646
    """
647
    
648
    def __init__(
649
            self,
650
            clave_pais: str,
651
            numero_telefono: str,
652
            correo_electronico: str,
653
    ): 
654
        super().__init__({
655
            'ClavePais': clave_pais,
656
            'NumeroTelefono': numero_telefono,
657
            'CorreoElectronico': correo_electronico,
658
        })
659
        
660
661
class ExtranjeroType(ScalarMap):
662
    """
663
    
664
    :param pais:
665
    :param estado_provincia:
666
    :param ciudad_poblacion:
667
    :param colonia:
668
    :param calle:
669
    :param numero_exterior:
670
    :param codigo_postal:
671
    :param numero_interior:
672
    """
673
    
674
    def __init__(
675
            self,
676
            pais: str,
677
            estado_provincia: str,
678
            ciudad_poblacion: str,
679
            colonia: str,
680
            calle: str,
681
            numero_exterior: str,
682
            codigo_postal: str,
683
            numero_interior: str = None,
684
    ): 
685
        super().__init__({
686
            'Pais': pais,
687
            'EstadoProvincia': estado_provincia,
688
            'CiudadPoblacion': ciudad_poblacion,
689
            'Colonia': colonia,
690
            'Calle': calle,
691
            'NumeroExterior': numero_exterior,
692
            'CodigoPostal': codigo_postal,
693
            'NumeroInterior': numero_interior,
694
        })
695
        
696
697
class NacionalType(ScalarMap):
698
    """
699
    
700
    :param colonia:
701
    :param calle:
702
    :param numero_exterior:
703
    :param codigo_postal:
704
    :param numero_interior:
705
    """
706
    
707
    def __init__(
708
            self,
709
            colonia: str,
710
            calle: str,
711
            numero_exterior: str,
712
            codigo_postal: str,
713
            numero_interior: str = None,
714
    ): 
715
        super().__init__({
716
            'Colonia': colonia,
717
            'Calle': calle,
718
            'NumeroExterior': numero_exterior,
719
            'CodigoPostal': codigo_postal,
720
            'NumeroInterior': numero_interior,
721
        })
722
        
723
724
class TipoDomicilioType(ScalarMap):
725
    """
726
    
727
    :param nacional:
728
    :param extranjero:
729
    """
730
    
731
    def __init__(
732
            self,
733
            nacional: NacionalType | dict = None,
734
            extranjero: ExtranjeroType | dict = None,
735
    ): 
736
        super().__init__({
737
            'Nacional': nacional,
738
            'Extranjero': extranjero,
739
        })
740
        
741
742
class DocumentoIdentificacionType(ScalarMap):
743
    """
744
    
745
    :param tipo_identificacion:
746
    :param numero_identificacion:
747
    """
748
    
749
    def __init__(
750
            self,
751
            tipo_identificacion: int,
752
            numero_identificacion: str,
753
    ): 
754
        super().__init__({
755
            'TipoIdentificacion': tipo_identificacion,
756
            'NumeroIdentificacion': numero_identificacion,
757
        })
758
        
759
760
class RepresentanteApoderadoType(ScalarMap):
761
    """
762
    
763
    :param nombre:
764
    :param apellido_paterno:
765
    :param apellido_materno:
766
    :param documento_identificacion:
767
    :param fecha_nacimiento:
768
    :param rfc:
769
    :param curp:
770
    """
771
    
772
    def __init__(
773
            self,
774
            nombre: str,
775
            apellido_paterno: str,
776
            apellido_materno: str,
777
            documento_identificacion: DocumentoIdentificacionType | dict,
778
            fecha_nacimiento: date = None,
779
            rfc: str = None,
780
            curp: str = None,
781
    ): 
782
        super().__init__({
783
            'Nombre': nombre,
784
            'ApellidoPaterno': apellido_paterno,
785
            'ApellidoMaterno': apellido_materno,
786
            'DocumentoIdentificacion': documento_identificacion,
787
            'FechaNacimiento': fecha_nacimiento,
788
            'Rfc': rfc,
789
            'Curp': curp,
790
        })
791
        
792
793
class FideicomisoType(ScalarMap):
794
    """
795
    
796
    :param denominacion_razon:
797
    :param apoderado_delegado:
798
    :param rfc:
799
    :param identificador_fideicomiso:
800
    """
801
    
802
    def __init__(
803
            self,
804
            denominacion_razon: str,
805
            apoderado_delegado: RepresentanteApoderadoType | dict,
806
            rfc: str = None,
807
            identificador_fideicomiso: str = None,
808
    ): 
809
        super().__init__({
810
            'DenominacionRazon': denominacion_razon,
811
            'ApoderadoDelegado': apoderado_delegado,
812
            'Rfc': rfc,
813
            'IdentificadorFideicomiso': identificador_fideicomiso,
814
        })
815
        
816
817
class PersonaMoralType(ScalarMap):
818
    """
819
    
820
    :param denominacion_razon:
821
    :param pais_nacionalidad:
822
    :param giro_mercantil:
823
    :param representante_apoderado:
824
    :param fecha_constitucion:
825
    :param rfc:
826
    """
827
    
828
    def __init__(
829
            self,
830
            denominacion_razon: str,
831
            pais_nacionalidad: str,
832
            giro_mercantil: str,
833
            representante_apoderado: RepresentanteApoderadoType | dict,
834
            fecha_constitucion: date = None,
835
            rfc: str = None,
836
    ): 
837
        super().__init__({
838
            'DenominacionRazon': denominacion_razon,
839
            'PaisNacionalidad': pais_nacionalidad,
840
            'GiroMercantil': giro_mercantil,
841
            'RepresentanteApoderado': representante_apoderado,
842
            'FechaConstitucion': fecha_constitucion,
843
            'Rfc': rfc,
844
        })
845
        
846
847
class PersonaFisicaType(ScalarMap):
848
    """
849
    
850
    :param nombre:
851
    :param apellido_paterno:
852
    :param apellido_materno:
853
    :param pais_nacionalidad:
854
    :param actividad_economica:
855
    :param documento_identificacion:
856
    :param fecha_nacimiento:
857
    :param rfc:
858
    :param curp:
859
    """
860
    
861
    def __init__(
862
            self,
863
            nombre: str,
864
            apellido_paterno: str,
865
            apellido_materno: str,
866
            pais_nacionalidad: str,
867
            actividad_economica: str,
868
            documento_identificacion: DocumentoIdentificacionType | dict,
869
            fecha_nacimiento: date = None,
870
            rfc: str = None,
871
            curp: str = None,
872
    ): 
873
        super().__init__({
874
            'Nombre': nombre,
875
            'ApellidoPaterno': apellido_paterno,
876
            'ApellidoMaterno': apellido_materno,
877
            'PaisNacionalidad': pais_nacionalidad,
878
            'ActividadEconomica': actividad_economica,
879
            'DocumentoIdentificacion': documento_identificacion,
880
            'FechaNacimiento': fecha_nacimiento,
881
            'Rfc': rfc,
882
            'Curp': curp,
883
        })
884
        
885
886
class TipoPersonaType(ScalarMap):
887
    """
888
    
889
    :param persona_fisica:
890
    :param persona_moral:
891
    :param fideicomiso:
892
    """
893
    
894
    def __init__(
895
            self,
896
            persona_fisica: PersonaFisicaType | dict = None,
897
            persona_moral: PersonaMoralType | dict = None,
898
            fideicomiso: FideicomisoType | dict = None,
899
    ): 
900
        super().__init__({
901
            'PersonaFisica': persona_fisica,
902
            'PersonaMoral': persona_moral,
903
            'Fideicomiso': fideicomiso,
904
        })
905
        
906
907
class DatosCuentaPlataformaType(ScalarMap):
908
    """
909
    
910
    :param id_usuario:
911
    :param cuenta_relacionada:
912
    :param moneda_cuenta:
913
    :param clabe_interbancaria:
914
    """
915
    
916
    def __init__(
917
            self,
918
            id_usuario: str,
919
            cuenta_relacionada: str,
920
            moneda_cuenta: int,
921
            clabe_interbancaria: str = None,
922
    ): 
923
        super().__init__({
924
            'IdUsuario': id_usuario,
925
            'CuentaRelacionada': cuenta_relacionada,
926
            'MonedaCuenta': moneda_cuenta,
927
            'ClabeInterbancaria': clabe_interbancaria,
928
        })
929
        
930
931
class PersonaAvisoType(ScalarMap):
932
    """
933
    
934
    :param datos_cuenta_plataforma:
935
    :param tipo_persona:
936
    :param tipo_domicilio:
937
    :param telefono:
938
    """
939
    
940
    def __init__(
941
            self,
942
            datos_cuenta_plataforma: DatosCuentaPlataformaType | dict,
943
            tipo_persona: TipoPersonaType | dict,
944
            tipo_domicilio: TipoDomicilioType | dict = None,
945
            telefono: TelefonoType | dict = None,
946
    ): 
947
        super().__init__({
948
            'DatosCuentaPlataforma': datos_cuenta_plataforma,
949
            'TipoPersona': tipo_persona,
950
            'TipoDomicilio': tipo_domicilio,
951
            'Telefono': telefono,
952
        })
953
        
954
955
class OperacionesPersonaType(ScalarMap):
956
    """
957
    
958
    :param persona_aviso:
959
    :param detalle_operaciones:
960
    :param dueno_beneficiario:
961
    """
962
    
963
    def __init__(
964
            self,
965
            persona_aviso: PersonaAvisoType | dict,
966
            detalle_operaciones: DetalleOperacionesType | dict,
967
            dueno_beneficiario: DuenoBeneficiarioType | dict | Sequence[DuenoBeneficiarioType | dict] = None,
968
    ): 
969
        super().__init__({
970
            'PersonaAviso': persona_aviso,
971
            'DetalleOperaciones': detalle_operaciones,
972
            'DuenoBeneficiario': dueno_beneficiario,
973
        })
974
        
975
976
class AlertaType(ScalarMap):
977
    """
978
    
979
    :param tipo_alerta:
980
    :param descripcion_alerta:
981
    """
982
    
983
    def __init__(
984
            self,
985
            tipo_alerta: str,
986
            descripcion_alerta: str = None,
987
    ): 
988
        super().__init__({
989
            'TipoAlerta': tipo_alerta,
990
            'DescripcionAlerta': descripcion_alerta,
991
        })
992
        
993
994
class ModificatorioType(ScalarMap):
995
    """
996
    
997
    :param folio_modificacion:
998
    :param descripcion_modificacion:
999
    """
1000
    
1001
    def __init__(
1002
            self,
1003
            folio_modificacion: str,
1004
            descripcion_modificacion: str,
1005
    ): 
1006
        super().__init__({
1007
            'FolioModificacion': folio_modificacion,
1008
            'DescripcionModificacion': descripcion_modificacion,
1009
        })
1010
        
1011
1012
class AvisoType(ScalarMap):
1013
    """
1014
    
1015
    :param referencia_aviso:
1016
    :param prioridad:
1017
    :param alerta:
1018
    :param operaciones_persona:
1019
    :param modificatorio:
1020
    """
1021
    
1022
    def __init__(
1023
            self,
1024
            referencia_aviso: str,
1025
            prioridad: str,
1026
            alerta: AlertaType | dict,
1027
            operaciones_persona: OperacionesPersonaType | dict,
1028
            modificatorio: ModificatorioType | dict = None,
1029
    ): 
1030
        super().__init__({
1031
            'ReferenciaAviso': referencia_aviso,
1032
            'Prioridad': prioridad,
1033
            'Alerta': alerta,
1034
            'OperacionesPersona': operaciones_persona,
1035
            'Modificatorio': modificatorio,
1036
        })
1037
        
1038
1039
class SujetoObligadoType(ScalarMap):
1040
    """
1041
    
1042
    :param clave_sujeto_obligado:
1043
    :param clave_actividad:
1044
    :param dominio_plataforma:
1045
    :param clave_entidad_colegiada:
1046
    :param exento:
1047
    """
1048
    
1049
    def __init__(
1050
            self,
1051
            clave_sujeto_obligado: str,
1052
            clave_actividad: str,
1053
            dominio_plataforma: str,
1054
            clave_entidad_colegiada: str = None,
1055
            exento: str = None,
1056
    ): 
1057
        super().__init__({
1058
            'ClaveSujetoObligado': clave_sujeto_obligado,
1059
            'ClaveActividad': clave_actividad,
1060
            'DominioPlataforma': dominio_plataforma,
1061
            'ClaveEntidadColegiada': clave_entidad_colegiada,
1062
            'Exento': exento,
1063
        })
1064
        
1065
1066 View Code Duplication
class InformeType(ScalarMap):
0 ignored issues
show
This code seems to be duplicated in your project.
Loading history...
1067
    """
1068
    
1069
    :param mes_reportado:
1070
    :param sujeto_obligado:
1071
    :param aviso:
1072
    """
1073
    
1074
    def __init__(
1075
            self,
1076
            mes_reportado: str,
1077
            sujeto_obligado: SujetoObligadoType | dict,
1078
            aviso: AvisoType | dict | Sequence[AvisoType | dict] = None,
1079
    ): 
1080
        super().__init__({
1081
            'MesReportado': mes_reportado,
1082
            'SujetoObligado': sujeto_obligado,
1083
            'Aviso': aviso,
1084
        })
1085
        
1086
1087
class ArchivoType(ScalarMap):
1088
    """
1089
    
1090
    :param informe:
1091
    """
1092
    
1093
    def __init__(
1094
            self,
1095
            informe: InformeType | dict | Sequence[InformeType | dict],
1096
    ): 
1097
        super().__init__({
1098
            'Informe': informe,
1099
        })
1100
        
1101
1102
class Archivo(ArchivoType, XElement):
1103
    tag = '{http://www.uif.shcp.gob.mx/recepcion/avi}archivo'
1104
1105