// ************************************************************************ //
// The types declared in this file were generated from data read from the
// WSDL File described below:
// WSDL     : http://104.210.149.162/nadro_pruebas/WSCirculodelasalud.asmx?WSDL
//  >Import : http://104.210.149.162/nadro_pruebas/WSCirculodelasalud.asmx?WSDL:0
// Encoding : utf-8
// Version  : 1.0
// (15/11/2018 05:21:25 p. m. - * $Rev: 5154 $)
// ************************************************************************ //

unit WSCirculodelasalud;

interface

uses InvokeRegistry, SOAPHTTPClient, Types, XSBuiltIns;

const
  IS_OPTN = $0001;
  IS_UNBD = $0002;
  IS_NLBL = $0004;
  IS_UNQL = $0008;
  IS_ATTR = $0010;
  IS_TEXT = $0020;

type

  // ************************************************************************ //
  // The following types, referred to in the WSDL document are not being represented
  // in this file. They are either aliases[@] of other types represented or were referred
  // to but never[!] declared in the document. The types from the latter category
  // typically map to predefined/known XML or Borland types; however, they could also 
  // indicate incorrect WSDL documents that failed to declare or import a schema type.
  // ************************************************************************ //
  // !:boolean         - "http://www.w3.org/2001/XMLSchema"
  // !:string          - "http://www.w3.org/2001/XMLSchema"
  // !:long            - "http://www.w3.org/2001/XMLSchema"
  // !:dateTime        - "http://www.w3.org/2001/XMLSchema"
  // !:int             - "http://www.w3.org/2001/XMLSchema"
  // !:double          - "http://www.w3.org/2001/XMLSchema"
  // !:decimal         - "http://www.w3.org/2001/XMLSchema"

  ResponseLogin        = class;                 { "http://tempuri.org/"[GblCplx] }
  ResponseActivateCard = class;                 { "http://tempuri.org/"[GblCplx] }
  ResponseActivateCardWeb = class;              { "http://tempuri.org/"[GblCplx] }
  RequestActivarMedico = class;                 { "http://tempuri.org/"[GblCplx] }
  ResponseActivaMedico = class;                 { "http://tempuri.org/"[GblCplx] }
  ResponseInfoProductCard = class;              { "http://tempuri.org/"[GblCplx] }
  Tarjeta              = class;                 { "http://tempuri.org/"[GblCplx] }
  Cliente              = class;                 { "http://tempuri.org/"[GblCplx] }
  TarjetaVenta         = class;                 { "http://tempuri.org/"[GblCplx] }
  InfoPaciente         = class;                 { "http://tempuri.org/"[GblCplx] }
  RequestUpdatePatient = class;                 { "http://tempuri.org/"[GblCplx] }
  ResponseUpdatePatient = class;                { "http://tempuri.org/"[GblCplx] }
  ResponseStatementPatientProducts = class;     { "http://tempuri.org/"[GblCplx] }
  DetalleCompras       = class;                 { "http://tempuri.org/"[GblCplx] }
  ResponseBonus        = class;                 { "http://tempuri.org/"[GblCplx] }
  BonusProductList     = class;                 { "http://tempuri.org/"[GblCplx] }
  ResponseBonusList    = class;                 { "http://tempuri.org/"[GblCplx] }
  Articulo             = class;                 { "http://tempuri.org/"[GblCplx] }
  OferteoProducto      = class;                 { "http://tempuri.org/"[GblCplx] }
  GetPromocionesRequest = class;                { "http://tempuri.org/"[GblCplx] }
  GetPromocionesResponse0 = class;              { "http://tempuri.org/"[GblCplx] }
  Promocion0           = class;                 { "http://tempuri.org/"[GblCplx] }
  GetPromocionesResponse = class;               { "http://tempuri.org/"[GblCplx] }
  Promocion            = class;                 { "http://tempuri.org/"[GblCplx] }
  ResponseFarmacia     = class;                 { "http://tempuri.org/"[GblCplx] }
  Farmacia             = class;                 { "http://tempuri.org/"[GblCplx] }
  ResponseEstadoCuentaP = class;                { "http://tempuri.org/"[GblCplx] }
  EstadoCuentaP        = class;                 { "http://tempuri.org/"[GblCplx] }
  GetPromocionCurrentResponse = class;          { "http://tempuri.org/"[GblCplx] }
  PromocionActual      = class;                 { "http://tempuri.org/"[GblCplx] }
  Pedido               = class;                 { "http://tempuri.org/"[GblCplx] }
  PedidoArticulos      = class;                 { "http://tempuri.org/"[GblCplx] }
  ResponseSales        = class;                 { "http://tempuri.org/"[GblCplx] }
  ResponseSalesArticulos = class;               { "http://tempuri.org/"[GblCplx] }
  ResponseTarjetaV     = class;                 { "http://tempuri.org/"[GblCplx] }
  ResponseMailMod      = class;                 { "http://tempuri.org/"[GblCplx] }
  ResponseGetInfoDevolucionesProductos = class;   { "http://tempuri.org/"[GblCplx] }
  InfoDevolucionProducto = class;               { "http://tempuri.org/"[GblCplx] }
  ResponseGetInfoMessages = class;              { "http://tempuri.org/"[GblCplx] }
  ResponseReposiciones = class;                 { "http://tempuri.org/"[GblCplx] }
  Reposicion           = class;                 { "http://tempuri.org/"[GblCplx] }
  ResponseCurpList     = class;                 { "http://tempuri.org/"[GblCplx] }
  CedulasMedicos       = class;                 { "http://tempuri.org/"[GblCplx] }
  MedicosCedulas       = class;                 { "http://tempuri.org/"[GblCplx] }
  ResponseColoniasList = class;                 { "http://tempuri.org/"[GblCplx] }
  InfoPacientecp       = class;                 { "http://tempuri.org/"[GblCplx] }
  ResponseEstadosList  = class;                 { "http://tempuri.org/"[GblCplx] }
  ResponsePoints       = class;                 { "http://tempuri.org/"[GblCplx] }
  ResponsePoint        = class;                 { "http://tempuri.org/"[GblCplx] }
  ResponseStatementPoints = class;              { "http://tempuri.org/"[GblCplx] }
  DetallePoint         = class;                 { "http://tempuri.org/"[GblCplx] }
  ResponseProgramasPoint = class;               { "http://tempuri.org/"[GblCplx] }
  ProgramaPoint        = class;                 { "http://tempuri.org/"[GblCplx] }
  ResponseProductosSuman = class;               { "http://tempuri.org/"[GblCplx] }
  Productos_Acumular_Puntos = class;            { "http://tempuri.org/"[GblCplx] }
  ResponseProductosRedimen = class;             { "http://tempuri.org/"[GblCplx] }
  Productos_Redimir_Puntos = class;             { "http://tempuri.org/"[GblCplx] }
  ResponseInfoProductosPrograma = class;        { "http://tempuri.org/"[GblCplx] }
  Puntos               = class;                 { "http://tempuri.org/"[GblCplx] }

  { "http://tempuri.org/"[GblSmpl] }
  eTipoPromocion = (NoAplica, Porcentaje, PrecioFijo, CompraXGratisY, MontoDescuento, CompraAllevaB);

  { "http://tempuri.org/"[GblSmpl] }
  eAfectaSobre = (NoAplica2, PrecioPublico, NotaVenta, MonederoElectronico);



  // ************************************************************************ //
  // XML       : ResponseLogin, global, <complexType>
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  ResponseLogin = class(TRemotable)
  private
    FHuboError: Boolean;
    FMensajeError: WideString;
    FMensajeError_Specified: boolean;
    FSesion: WideString;
    FSesion_Specified: boolean;
    procedure SetMensajeError(Index: Integer; const AWideString: WideString);
    function  MensajeError_Specified(Index: Integer): boolean;
    procedure SetSesion(Index: Integer; const AWideString: WideString);
    function  Sesion_Specified(Index: Integer): boolean;
  published
    property HuboError:    Boolean     read FHuboError write FHuboError;
    property MensajeError: WideString  Index (IS_OPTN) read FMensajeError write SetMensajeError stored MensajeError_Specified;
    property Sesion:       WideString  Index (IS_OPTN) read FSesion write SetSesion stored Sesion_Specified;
  end;



  // ************************************************************************ //
  // XML       : ResponseActivateCard, global, <complexType>
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  ResponseActivateCard = class(TRemotable)
  private
    FHuboError: Boolean;
    FMensajeError: WideString;
    FMensajeError_Specified: boolean;
    FActivada: Boolean;
    procedure SetMensajeError(Index: Integer; const AWideString: WideString);
    function  MensajeError_Specified(Index: Integer): boolean;
  published
    property HuboError:    Boolean     read FHuboError write FHuboError;
    property MensajeError: WideString  Index (IS_OPTN) read FMensajeError write SetMensajeError stored MensajeError_Specified;
    property Activada:     Boolean     read FActivada write FActivada;
  end;



  // ************************************************************************ //
  // XML       : ResponseActivateCardWeb, global, <complexType>
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  ResponseActivateCardWeb = class(TRemotable)
  private
    FHuboError: Boolean;
    FMensajeError: WideString;
    FMensajeError_Specified: boolean;
    Fpass: WideString;
    Fpass_Specified: boolean;
    FActivada: Boolean;
    procedure SetMensajeError(Index: Integer; const AWideString: WideString);
    function  MensajeError_Specified(Index: Integer): boolean;
    procedure Setpass(Index: Integer; const AWideString: WideString);
    function  pass_Specified(Index: Integer): boolean;
  published
    property HuboError:    Boolean     read FHuboError write FHuboError;
    property MensajeError: WideString  Index (IS_OPTN) read FMensajeError write SetMensajeError stored MensajeError_Specified;
    property pass:         WideString  Index (IS_OPTN) read Fpass write Setpass stored pass_Specified;
    property Activada:     Boolean     read FActivada write FActivada;
  end;



  // ************************************************************************ //
  // XML       : RequestActivarMedico, global, <complexType>
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  RequestActivarMedico = class(TRemotable)
  private
    Fcedula: WideString;
    Fcedula_Specified: boolean;
    Fnombre: WideString;
    Fnombre_Specified: boolean;
    Fapellidopaterno: WideString;
    Fapellidopaterno_Specified: boolean;
    Fapellidomaterno: WideString;
    Fapellidomaterno_Specified: boolean;
    Fespecialidad: WideString;
    Fespecialidad_Specified: boolean;
    Fdireccion: WideString;
    Fdireccion_Specified: boolean;
    Fcodigopostal: WideString;
    Fcodigopostal_Specified: boolean;
    Fcolonia: WideString;
    Fcolonia_Specified: boolean;
    Fmunicipio: WideString;
    Fmunicipio_Specified: boolean;
    Fciudad: WideString;
    Fciudad_Specified: boolean;
    Festado: WideString;
    Festado_Specified: boolean;
    Fsexo: WideString;
    Fsexo_Specified: boolean;
    Ftelefono: WideString;
    Ftelefono_Specified: boolean;
    Fcelular: WideString;
    Fcelular_Specified: boolean;
    Fmail: WideString;
    Fmail_Specified: boolean;
    procedure Setcedula(Index: Integer; const AWideString: WideString);
    function  cedula_Specified(Index: Integer): boolean;
    procedure Setnombre(Index: Integer; const AWideString: WideString);
    function  nombre_Specified(Index: Integer): boolean;
    procedure Setapellidopaterno(Index: Integer; const AWideString: WideString);
    function  apellidopaterno_Specified(Index: Integer): boolean;
    procedure Setapellidomaterno(Index: Integer; const AWideString: WideString);
    function  apellidomaterno_Specified(Index: Integer): boolean;
    procedure Setespecialidad(Index: Integer; const AWideString: WideString);
    function  especialidad_Specified(Index: Integer): boolean;
    procedure Setdireccion(Index: Integer; const AWideString: WideString);
    function  direccion_Specified(Index: Integer): boolean;
    procedure Setcodigopostal(Index: Integer; const AWideString: WideString);
    function  codigopostal_Specified(Index: Integer): boolean;
    procedure Setcolonia(Index: Integer; const AWideString: WideString);
    function  colonia_Specified(Index: Integer): boolean;
    procedure Setmunicipio(Index: Integer; const AWideString: WideString);
    function  municipio_Specified(Index: Integer): boolean;
    procedure Setciudad(Index: Integer; const AWideString: WideString);
    function  ciudad_Specified(Index: Integer): boolean;
    procedure Setestado(Index: Integer; const AWideString: WideString);
    function  estado_Specified(Index: Integer): boolean;
    procedure Setsexo(Index: Integer; const AWideString: WideString);
    function  sexo_Specified(Index: Integer): boolean;
    procedure Settelefono(Index: Integer; const AWideString: WideString);
    function  telefono_Specified(Index: Integer): boolean;
    procedure Setcelular(Index: Integer; const AWideString: WideString);
    function  celular_Specified(Index: Integer): boolean;
    procedure Setmail(Index: Integer; const AWideString: WideString);
    function  mail_Specified(Index: Integer): boolean;
  published
    property cedula:          WideString  Index (IS_OPTN) read Fcedula write Setcedula stored cedula_Specified;
    property nombre:          WideString  Index (IS_OPTN) read Fnombre write Setnombre stored nombre_Specified;
    property apellidopaterno: WideString  Index (IS_OPTN) read Fapellidopaterno write Setapellidopaterno stored apellidopaterno_Specified;
    property apellidomaterno: WideString  Index (IS_OPTN) read Fapellidomaterno write Setapellidomaterno stored apellidomaterno_Specified;
    property especialidad:    WideString  Index (IS_OPTN) read Fespecialidad write Setespecialidad stored especialidad_Specified;
    property direccion:       WideString  Index (IS_OPTN) read Fdireccion write Setdireccion stored direccion_Specified;
    property codigopostal:    WideString  Index (IS_OPTN) read Fcodigopostal write Setcodigopostal stored codigopostal_Specified;
    property colonia:         WideString  Index (IS_OPTN) read Fcolonia write Setcolonia stored colonia_Specified;
    property municipio:       WideString  Index (IS_OPTN) read Fmunicipio write Setmunicipio stored municipio_Specified;
    property ciudad:          WideString  Index (IS_OPTN) read Fciudad write Setciudad stored ciudad_Specified;
    property estado:          WideString  Index (IS_OPTN) read Festado write Setestado stored estado_Specified;
    property sexo:            WideString  Index (IS_OPTN) read Fsexo write Setsexo stored sexo_Specified;
    property telefono:        WideString  Index (IS_OPTN) read Ftelefono write Settelefono stored telefono_Specified;
    property celular:         WideString  Index (IS_OPTN) read Fcelular write Setcelular stored celular_Specified;
    property mail:            WideString  Index (IS_OPTN) read Fmail write Setmail stored mail_Specified;
  end;



  // ************************************************************************ //
  // XML       : ResponseActivaMedico, global, <complexType>
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  ResponseActivaMedico = class(TRemotable)
  private
    FIngresado: Boolean;
    FHuboError: Boolean;
    FMensajeError: WideString;
    FMensajeError_Specified: boolean;
    procedure SetMensajeError(Index: Integer; const AWideString: WideString);
    function  MensajeError_Specified(Index: Integer): boolean;
  published
    property Ingresado:    Boolean     read FIngresado write FIngresado;
    property HuboError:    Boolean     read FHuboError write FHuboError;
    property MensajeError: WideString  Index (IS_OPTN) read FMensajeError write SetMensajeError stored MensajeError_Specified;
  end;

  ArrayOfResponseInfoProductCard = array of ResponseInfoProductCard;   { "http://tempuri.org/"[GblCplx] }


  // ************************************************************************ //
  // XML       : ResponseInfoProductCard, global, <complexType>
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  ResponseInfoProductCard = class(TRemotable)
  private
    FSku: WideString;
    FSku_Specified: boolean;
    FSkuGratis: WideString;
    FSkuGratis_Specified: boolean;
    FPiezasFaltantes: Int64;
    FPiezasGratis: Int64;
    FPiezasPendientes: Int64;
    FHuboError: Boolean;
    FMensajeError: WideString;
    FMensajeError_Specified: boolean;
    procedure SetSku(Index: Integer; const AWideString: WideString);
    function  Sku_Specified(Index: Integer): boolean;
    procedure SetSkuGratis(Index: Integer; const AWideString: WideString);
    function  SkuGratis_Specified(Index: Integer): boolean;
    procedure SetMensajeError(Index: Integer; const AWideString: WideString);
    function  MensajeError_Specified(Index: Integer): boolean;
  published
    property Sku:              WideString  Index (IS_OPTN) read FSku write SetSku stored Sku_Specified;
    property SkuGratis:        WideString  Index (IS_OPTN) read FSkuGratis write SetSkuGratis stored SkuGratis_Specified;
    property PiezasFaltantes:  Int64       read FPiezasFaltantes write FPiezasFaltantes;
    property PiezasGratis:     Int64       read FPiezasGratis write FPiezasGratis;
    property PiezasPendientes: Int64       read FPiezasPendientes write FPiezasPendientes;
    property HuboError:        Boolean     read FHuboError write FHuboError;
    property MensajeError:     WideString  Index (IS_OPTN) read FMensajeError write SetMensajeError stored MensajeError_Specified;
  end;



  // ************************************************************************ //
  // XML       : Tarjeta, global, <complexType>
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  Tarjeta = class(TRemotable)
  private
    Fid: Int64;
    Ffolio: WideString;
    Ffolio_Specified: boolean;
    Ffolio_codigo: WideString;
    Ffolio_codigo_Specified: boolean;
    Ffecha_registro: TXSDateTime;
    Ffecha_asignacion: TXSDateTime;
    Ffecha_activacion: TXSDateTime;
    Ffecha_vigencia: TXSDateTime;
    Fid_usuario: WideString;
    Fid_usuario_Specified: boolean;
    Fcliente: Cliente;
    Fcliente_Specified: boolean;
    FHuboError: Boolean;
    FMensajeError: WideString;
    FMensajeError_Specified: boolean;
    procedure Setfolio(Index: Integer; const AWideString: WideString);
    function  folio_Specified(Index: Integer): boolean;
    procedure Setfolio_codigo(Index: Integer; const AWideString: WideString);
    function  folio_codigo_Specified(Index: Integer): boolean;
    procedure Setid_usuario(Index: Integer; const AWideString: WideString);
    function  id_usuario_Specified(Index: Integer): boolean;
    procedure Setcliente(Index: Integer; const ACliente: Cliente);
    function  cliente_Specified(Index: Integer): boolean;
    procedure SetMensajeError(Index: Integer; const AWideString: WideString);
    function  MensajeError_Specified(Index: Integer): boolean;
  public
    destructor Destroy; override;
  published
    property id:               Int64        read Fid write Fid;
    property folio:            WideString   Index (IS_OPTN) read Ffolio write Setfolio stored folio_Specified;
    property folio_codigo:     WideString   Index (IS_OPTN) read Ffolio_codigo write Setfolio_codigo stored folio_codigo_Specified;
    property fecha_registro:   TXSDateTime  Index (IS_NLBL) read Ffecha_registro write Ffecha_registro;
    property fecha_asignacion: TXSDateTime  read Ffecha_asignacion write Ffecha_asignacion;
    property fecha_activacion: TXSDateTime  read Ffecha_activacion write Ffecha_activacion;
    property fecha_vigencia:   TXSDateTime  read Ffecha_vigencia write Ffecha_vigencia;
    property id_usuario:       WideString   Index (IS_OPTN) read Fid_usuario write Setid_usuario stored id_usuario_Specified;
    property cliente:          Cliente      Index (IS_OPTN) read Fcliente write Setcliente stored cliente_Specified;
    property HuboError:        Boolean      read FHuboError write FHuboError;
    property MensajeError:     WideString   Index (IS_OPTN) read FMensajeError write SetMensajeError stored MensajeError_Specified;
  end;



  // ************************************************************************ //
  // XML       : Cliente, global, <complexType>
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  Cliente = class(TRemotable)
  private
    FNombre: WideString;
    FNombre_Specified: boolean;
    FApellidoMaterno: WideString;
    FApellidoMaterno_Specified: boolean;
    FApellidoPaterno: WideString;
    FApellidoPaterno_Specified: boolean;
    procedure SetNombre(Index: Integer; const AWideString: WideString);
    function  Nombre_Specified(Index: Integer): boolean;
    procedure SetApellidoMaterno(Index: Integer; const AWideString: WideString);
    function  ApellidoMaterno_Specified(Index: Integer): boolean;
    procedure SetApellidoPaterno(Index: Integer; const AWideString: WideString);
    function  ApellidoPaterno_Specified(Index: Integer): boolean;
  published
    property Nombre:          WideString  Index (IS_OPTN) read FNombre write SetNombre stored Nombre_Specified;
    property ApellidoMaterno: WideString  Index (IS_OPTN) read FApellidoMaterno write SetApellidoMaterno stored ApellidoMaterno_Specified;
    property ApellidoPaterno: WideString  Index (IS_OPTN) read FApellidoPaterno write SetApellidoPaterno stored ApellidoPaterno_Specified;
  end;



  // ************************************************************************ //
  // XML       : TarjetaVenta, global, <complexType>
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  TarjetaVenta = class(TRemotable)
  private
    FCuantos: Int64;
    FHuboError: Boolean;
    FMensajeError: WideString;
    FMensajeError_Specified: boolean;
    procedure SetMensajeError(Index: Integer; const AWideString: WideString);
    function  MensajeError_Specified(Index: Integer): boolean;
  published
    property Cuantos:      Int64       read FCuantos write FCuantos;
    property HuboError:    Boolean     read FHuboError write FHuboError;
    property MensajeError: WideString  Index (IS_OPTN) read FMensajeError write SetMensajeError stored MensajeError_Specified;
  end;



  // ************************************************************************ //
  // XML       : InfoPaciente, global, <complexType>
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  InfoPaciente = class(TRemotable)
  private
    Fmembresia: WideString;
    Fmembresia_Specified: boolean;
    Fapellidopaterno: WideString;
    Fapellidopaterno_Specified: boolean;
    Fapellidomaterno: WideString;
    Fapellidomaterno_Specified: boolean;
    Fnombre: WideString;
    Fnombre_Specified: boolean;
    Fdireccion: WideString;
    Fdireccion_Specified: boolean;
    Fcolonia: WideString;
    Fcolonia_Specified: boolean;
    Fcodigopostal: WideString;
    Fcodigopostal_Specified: boolean;
    Fciudad: WideString;
    Fciudad_Specified: boolean;
    Festado: WideString;
    Festado_Specified: boolean;
    Fsexo: WideString;
    Fsexo_Specified: boolean;
    Festadocivil: WideString;
    Festadocivil_Specified: boolean;
    Ffechanacimiento: TXSDateTime;
    Ftelefono: WideString;
    Ftelefono_Specified: boolean;
    Fcelular: WideString;
    Fcelular_Specified: boolean;
    Femail: WideString;
    Femail_Specified: boolean;
    Fregcompleto: Integer;
    Fid: WideString;
    Fid_Specified: boolean;
    FHuboError: Boolean;
    FMensajeError: WideString;
    FMensajeError_Specified: boolean;
    procedure Setmembresia(Index: Integer; const AWideString: WideString);
    function  membresia_Specified(Index: Integer): boolean;
    procedure Setapellidopaterno(Index: Integer; const AWideString: WideString);
    function  apellidopaterno_Specified(Index: Integer): boolean;
    procedure Setapellidomaterno(Index: Integer; const AWideString: WideString);
    function  apellidomaterno_Specified(Index: Integer): boolean;
    procedure Setnombre(Index: Integer; const AWideString: WideString);
    function  nombre_Specified(Index: Integer): boolean;
    procedure Setdireccion(Index: Integer; const AWideString: WideString);
    function  direccion_Specified(Index: Integer): boolean;
    procedure Setcolonia(Index: Integer; const AWideString: WideString);
    function  colonia_Specified(Index: Integer): boolean;
    procedure Setcodigopostal(Index: Integer; const AWideString: WideString);
    function  codigopostal_Specified(Index: Integer): boolean;
    procedure Setciudad(Index: Integer; const AWideString: WideString);
    function  ciudad_Specified(Index: Integer): boolean;
    procedure Setestado(Index: Integer; const AWideString: WideString);
    function  estado_Specified(Index: Integer): boolean;
    procedure Setsexo(Index: Integer; const AWideString: WideString);
    function  sexo_Specified(Index: Integer): boolean;
    procedure Setestadocivil(Index: Integer; const AWideString: WideString);
    function  estadocivil_Specified(Index: Integer): boolean;
    procedure Settelefono(Index: Integer; const AWideString: WideString);
    function  telefono_Specified(Index: Integer): boolean;
    procedure Setcelular(Index: Integer; const AWideString: WideString);
    function  celular_Specified(Index: Integer): boolean;
    procedure Setemail(Index: Integer; const AWideString: WideString);
    function  email_Specified(Index: Integer): boolean;
    procedure Setid(Index: Integer; const AWideString: WideString);
    function  id_Specified(Index: Integer): boolean;
    procedure SetMensajeError(Index: Integer; const AWideString: WideString);
    function  MensajeError_Specified(Index: Integer): boolean;
  public
    destructor Destroy; override;
  published
    property membresia:       WideString   Index (IS_OPTN) read Fmembresia write Setmembresia stored membresia_Specified;
    property apellidopaterno: WideString   Index (IS_OPTN) read Fapellidopaterno write Setapellidopaterno stored apellidopaterno_Specified;
    property apellidomaterno: WideString   Index (IS_OPTN) read Fapellidomaterno write Setapellidomaterno stored apellidomaterno_Specified;
    property nombre:          WideString   Index (IS_OPTN) read Fnombre write Setnombre stored nombre_Specified;
    property direccion:       WideString   Index (IS_OPTN) read Fdireccion write Setdireccion stored direccion_Specified;
    property colonia:         WideString   Index (IS_OPTN) read Fcolonia write Setcolonia stored colonia_Specified;
    property codigopostal:    WideString   Index (IS_OPTN) read Fcodigopostal write Setcodigopostal stored codigopostal_Specified;
    property ciudad:          WideString   Index (IS_OPTN) read Fciudad write Setciudad stored ciudad_Specified;
    property estado:          WideString   Index (IS_OPTN) read Festado write Setestado stored estado_Specified;
    property sexo:            WideString   Index (IS_OPTN) read Fsexo write Setsexo stored sexo_Specified;
    property estadocivil:     WideString   Index (IS_OPTN) read Festadocivil write Setestadocivil stored estadocivil_Specified;
    property fechanacimiento: TXSDateTime  read Ffechanacimiento write Ffechanacimiento;
    property telefono:        WideString   Index (IS_OPTN) read Ftelefono write Settelefono stored telefono_Specified;
    property celular:         WideString   Index (IS_OPTN) read Fcelular write Setcelular stored celular_Specified;
    property email:           WideString   Index (IS_OPTN) read Femail write Setemail stored email_Specified;
    property regcompleto:     Integer      read Fregcompleto write Fregcompleto;
    property id:              WideString   Index (IS_OPTN) read Fid write Setid stored id_Specified;
    property HuboError:       Boolean      read FHuboError write FHuboError;
    property MensajeError:    WideString   Index (IS_OPTN) read FMensajeError write SetMensajeError stored MensajeError_Specified;
  end;



  // ************************************************************************ //
  // XML       : RequestUpdatePatient, global, <complexType>
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  RequestUpdatePatient = class(TRemotable)
  private
    FMembresia: WideString;
    FMembresia_Specified: boolean;
    FApellidoPaterno: WideString;
    FApellidoPaterno_Specified: boolean;
    FApellidoMaterno: WideString;
    FApellidoMaterno_Specified: boolean;
    FNombre: WideString;
    FNombre_Specified: boolean;
    FDireccion: WideString;
    FDireccion_Specified: boolean;
    FColonia: WideString;
    FColonia_Specified: boolean;
    FCodigoPostal: WideString;
    FCodigoPostal_Specified: boolean;
    FCiudad: WideString;
    FCiudad_Specified: boolean;
    FEstado: WideString;
    FEstado_Specified: boolean;
    FRfc: WideString;
    FRfc_Specified: boolean;
    FCurp: WideString;
    FCurp_Specified: boolean;
    FSexo: WideString;
    FSexo_Specified: boolean;
    FEstadoCivil: WideString;
    FEstadoCivil_Specified: boolean;
    FFechaNacimiento: WideString;
    FFechaNacimiento_Specified: boolean;
    FTelefono: WideString;
    FTelefono_Specified: boolean;
    FCelular: WideString;
    FCelular_Specified: boolean;
    FEmail: WideString;
    FEmail_Specified: boolean;
    procedure SetMembresia(Index: Integer; const AWideString: WideString);
    function  Membresia_Specified(Index: Integer): boolean;
    procedure SetApellidoPaterno(Index: Integer; const AWideString: WideString);
    function  ApellidoPaterno_Specified(Index: Integer): boolean;
    procedure SetApellidoMaterno(Index: Integer; const AWideString: WideString);
    function  ApellidoMaterno_Specified(Index: Integer): boolean;
    procedure SetNombre(Index: Integer; const AWideString: WideString);
    function  Nombre_Specified(Index: Integer): boolean;
    procedure SetDireccion(Index: Integer; const AWideString: WideString);
    function  Direccion_Specified(Index: Integer): boolean;
    procedure SetColonia(Index: Integer; const AWideString: WideString);
    function  Colonia_Specified(Index: Integer): boolean;
    procedure SetCodigoPostal(Index: Integer; const AWideString: WideString);
    function  CodigoPostal_Specified(Index: Integer): boolean;
    procedure SetCiudad(Index: Integer; const AWideString: WideString);
    function  Ciudad_Specified(Index: Integer): boolean;
    procedure SetEstado(Index: Integer; const AWideString: WideString);
    function  Estado_Specified(Index: Integer): boolean;
    procedure SetRfc(Index: Integer; const AWideString: WideString);
    function  Rfc_Specified(Index: Integer): boolean;
    procedure SetCurp(Index: Integer; const AWideString: WideString);
    function  Curp_Specified(Index: Integer): boolean;
    procedure SetSexo(Index: Integer; const AWideString: WideString);
    function  Sexo_Specified(Index: Integer): boolean;
    procedure SetEstadoCivil(Index: Integer; const AWideString: WideString);
    function  EstadoCivil_Specified(Index: Integer): boolean;
    procedure SetFechaNacimiento(Index: Integer; const AWideString: WideString);
    function  FechaNacimiento_Specified(Index: Integer): boolean;
    procedure SetTelefono(Index: Integer; const AWideString: WideString);
    function  Telefono_Specified(Index: Integer): boolean;
    procedure SetCelular(Index: Integer; const AWideString: WideString);
    function  Celular_Specified(Index: Integer): boolean;
    procedure SetEmail(Index: Integer; const AWideString: WideString);
    function  Email_Specified(Index: Integer): boolean;
  published
    property Membresia:       WideString  Index (IS_OPTN) read FMembresia write SetMembresia stored Membresia_Specified;
    property ApellidoPaterno: WideString  Index (IS_OPTN) read FApellidoPaterno write SetApellidoPaterno stored ApellidoPaterno_Specified;
    property ApellidoMaterno: WideString  Index (IS_OPTN) read FApellidoMaterno write SetApellidoMaterno stored ApellidoMaterno_Specified;
    property Nombre:          WideString  Index (IS_OPTN) read FNombre write SetNombre stored Nombre_Specified;
    property Direccion:       WideString  Index (IS_OPTN) read FDireccion write SetDireccion stored Direccion_Specified;
    property Colonia:         WideString  Index (IS_OPTN) read FColonia write SetColonia stored Colonia_Specified;
    property CodigoPostal:    WideString  Index (IS_OPTN) read FCodigoPostal write SetCodigoPostal stored CodigoPostal_Specified;
    property Ciudad:          WideString  Index (IS_OPTN) read FCiudad write SetCiudad stored Ciudad_Specified;
    property Estado:          WideString  Index (IS_OPTN) read FEstado write SetEstado stored Estado_Specified;
    property Rfc:             WideString  Index (IS_OPTN) read FRfc write SetRfc stored Rfc_Specified;
    property Curp:            WideString  Index (IS_OPTN) read FCurp write SetCurp stored Curp_Specified;
    property Sexo:            WideString  Index (IS_OPTN) read FSexo write SetSexo stored Sexo_Specified;
    property EstadoCivil:     WideString  Index (IS_OPTN) read FEstadoCivil write SetEstadoCivil stored EstadoCivil_Specified;
    property FechaNacimiento: WideString  Index (IS_OPTN) read FFechaNacimiento write SetFechaNacimiento stored FechaNacimiento_Specified;
    property Telefono:        WideString  Index (IS_OPTN) read FTelefono write SetTelefono stored Telefono_Specified;
    property Celular:         WideString  Index (IS_OPTN) read FCelular write SetCelular stored Celular_Specified;
    property Email:           WideString  Index (IS_OPTN) read FEmail write SetEmail stored Email_Specified;
  end;



  // ************************************************************************ //
  // XML       : ResponseUpdatePatient, global, <complexType>
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  ResponseUpdatePatient = class(TRemotable)
  private
    FActualizado: Boolean;
    FHuboError: Boolean;
    FMensajeError: WideString;
    FMensajeError_Specified: boolean;
    procedure SetMensajeError(Index: Integer; const AWideString: WideString);
    function  MensajeError_Specified(Index: Integer): boolean;
  published
    property Actualizado:  Boolean     read FActualizado write FActualizado;
    property HuboError:    Boolean     read FHuboError write FHuboError;
    property MensajeError: WideString  Index (IS_OPTN) read FMensajeError write SetMensajeError stored MensajeError_Specified;
  end;

  ArrayOfDetalleCompras = array of DetalleCompras;   { "http://tempuri.org/"[GblCplx] }


  // ************************************************************************ //
  // XML       : ResponseStatementPatientProducts, global, <complexType>
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  ResponseStatementPatientProducts = class(TRemotable)
  private
    FDetalles: ArrayOfDetalleCompras;
    FDetalles_Specified: boolean;
    FHayDetalles: Boolean;
    FMensaje: WideString;
    FMensaje_Specified: boolean;
    FIsError: Boolean;
    procedure SetDetalles(Index: Integer; const AArrayOfDetalleCompras: ArrayOfDetalleCompras);
    function  Detalles_Specified(Index: Integer): boolean;
    procedure SetMensaje(Index: Integer; const AWideString: WideString);
    function  Mensaje_Specified(Index: Integer): boolean;
  public
    destructor Destroy; override;
  published
    property Detalles:    ArrayOfDetalleCompras  Index (IS_OPTN) read FDetalles write SetDetalles stored Detalles_Specified;
    property HayDetalles: Boolean                read FHayDetalles write FHayDetalles;
    property Mensaje:     WideString             Index (IS_OPTN) read FMensaje write SetMensaje stored Mensaje_Specified;
    property IsError:     Boolean                read FIsError write FIsError;
  end;



  // ************************************************************************ //
  // XML       : DetalleCompras, global, <complexType>
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  DetalleCompras = class(TRemotable)
  private
    FFecha: WideString;
    FFecha_Specified: boolean;
    FFarmacia: WideString;
    FFarmacia_Specified: boolean;
    FCodigo: WideString;
    FCodigo_Specified: boolean;
    FPresentacion: WideString;
    FPresentacion_Specified: boolean;
    FPiezasCompradas: WideString;
    FPiezasCompradas_Specified: boolean;
    FObsequiosEntregados: WideString;
    FObsequiosEntregados_Specified: boolean;
    FObsequiosPendientes: WideString;
    FObsequiosPendientes_Specified: boolean;
    FDescuentosMonto: WideString;
    FDescuentosMonto_Specified: boolean;
    FDescuentosPorcentaje: WideString;
    FDescuentosPorcentaje_Specified: boolean;
    FPrograma: WideString;
    FPrograma_Specified: boolean;
    procedure SetFecha(Index: Integer; const AWideString: WideString);
    function  Fecha_Specified(Index: Integer): boolean;
    procedure SetFarmacia(Index: Integer; const AWideString: WideString);
    function  Farmacia_Specified(Index: Integer): boolean;
    procedure SetCodigo(Index: Integer; const AWideString: WideString);
    function  Codigo_Specified(Index: Integer): boolean;
    procedure SetPresentacion(Index: Integer; const AWideString: WideString);
    function  Presentacion_Specified(Index: Integer): boolean;
    procedure SetPiezasCompradas(Index: Integer; const AWideString: WideString);
    function  PiezasCompradas_Specified(Index: Integer): boolean;
    procedure SetObsequiosEntregados(Index: Integer; const AWideString: WideString);
    function  ObsequiosEntregados_Specified(Index: Integer): boolean;
    procedure SetObsequiosPendientes(Index: Integer; const AWideString: WideString);
    function  ObsequiosPendientes_Specified(Index: Integer): boolean;
    procedure SetDescuentosMonto(Index: Integer; const AWideString: WideString);
    function  DescuentosMonto_Specified(Index: Integer): boolean;
    procedure SetDescuentosPorcentaje(Index: Integer; const AWideString: WideString);
    function  DescuentosPorcentaje_Specified(Index: Integer): boolean;
    procedure SetPrograma(Index: Integer; const AWideString: WideString);
    function  Programa_Specified(Index: Integer): boolean;
  published
    property Fecha:                WideString  Index (IS_OPTN) read FFecha write SetFecha stored Fecha_Specified;
    property Farmacia:             WideString  Index (IS_OPTN) read FFarmacia write SetFarmacia stored Farmacia_Specified;
    property Codigo:               WideString  Index (IS_OPTN) read FCodigo write SetCodigo stored Codigo_Specified;
    property Presentacion:         WideString  Index (IS_OPTN) read FPresentacion write SetPresentacion stored Presentacion_Specified;
    property PiezasCompradas:      WideString  Index (IS_OPTN) read FPiezasCompradas write SetPiezasCompradas stored PiezasCompradas_Specified;
    property ObsequiosEntregados:  WideString  Index (IS_OPTN) read FObsequiosEntregados write SetObsequiosEntregados stored ObsequiosEntregados_Specified;
    property ObsequiosPendientes:  WideString  Index (IS_OPTN) read FObsequiosPendientes write SetObsequiosPendientes stored ObsequiosPendientes_Specified;
    property DescuentosMonto:      WideString  Index (IS_OPTN) read FDescuentosMonto write SetDescuentosMonto stored DescuentosMonto_Specified;
    property DescuentosPorcentaje: WideString  Index (IS_OPTN) read FDescuentosPorcentaje write SetDescuentosPorcentaje stored DescuentosPorcentaje_Specified;
    property Programa:             WideString  Index (IS_OPTN) read FPrograma write SetPrograma stored Programa_Specified;
  end;

  ArrayOfResponseBonus = array of ResponseBonus;   { "http://tempuri.org/"[GblCplx] }


  // ************************************************************************ //
  // XML       : ResponseBonus, global, <complexType>
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  ResponseBonus = class(TRemotable)
  private
    FSku: WideString;
    FSku_Specified: boolean;
    FPiezasPorComprar: Int64;
    FPiezasGratis: Int64;
    FPiezasAcumuladas: Int64;
    FPiezasPendientes: Int64;
    FPorcentajeDescuento: Double;
    FMontoDescuento: TXSDecimal;
    FTipoPrecioDescuento: Int64;
    FPrecioFijo: TXSDecimal;
    FPorcentajePuntos: Double;
    FEfectivoxPunto: TXSDecimal;
    FHuboError: Boolean;
    FMensajeError: WideString;
    FMensajeError_Specified: boolean;
    procedure SetSku(Index: Integer; const AWideString: WideString);
    function  Sku_Specified(Index: Integer): boolean;
    procedure SetMensajeError(Index: Integer; const AWideString: WideString);
    function  MensajeError_Specified(Index: Integer): boolean;
  public
    destructor Destroy; override;
  published
    property Sku:                 WideString  Index (IS_OPTN) read FSku write SetSku stored Sku_Specified;
    property PiezasPorComprar:    Int64       read FPiezasPorComprar write FPiezasPorComprar;
    property PiezasGratis:        Int64       read FPiezasGratis write FPiezasGratis;
    property PiezasAcumuladas:    Int64       read FPiezasAcumuladas write FPiezasAcumuladas;
    property PiezasPendientes:    Int64       read FPiezasPendientes write FPiezasPendientes;
    property PorcentajeDescuento: Double      read FPorcentajeDescuento write FPorcentajeDescuento;
    property MontoDescuento:      TXSDecimal  read FMontoDescuento write FMontoDescuento;
    property TipoPrecioDescuento: Int64       read FTipoPrecioDescuento write FTipoPrecioDescuento;
    property PrecioFijo:          TXSDecimal  read FPrecioFijo write FPrecioFijo;
    property PorcentajePuntos:    Double      read FPorcentajePuntos write FPorcentajePuntos;
    property EfectivoxPunto:      TXSDecimal  read FEfectivoxPunto write FEfectivoxPunto;
    property HuboError:           Boolean     read FHuboError write FHuboError;
    property MensajeError:        WideString  Index (IS_OPTN) read FMensajeError write SetMensajeError stored MensajeError_Specified;
  end;

  ArrayOfBonusProductList = array of BonusProductList;   { "http://tempuri.org/"[GblCplx] }


  // ************************************************************************ //
  // XML       : BonusProductList, global, <complexType>
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  BonusProductList = class(TRemotable)
  private
    FSku: WideString;
    FSku_Specified: boolean;
    FPiezas: Int64;
    procedure SetSku(Index: Integer; const AWideString: WideString);
    function  Sku_Specified(Index: Integer): boolean;
  published
    property Sku:    WideString  Index (IS_OPTN) read FSku write SetSku stored Sku_Specified;
    property Piezas: Int64       read FPiezas write FPiezas;
  end;

  ArrayOfResponseBonusList = array of ResponseBonusList;   { "http://tempuri.org/"[GblCplx] }


  // ************************************************************************ //
  // XML       : ResponseBonusList, global, <complexType>
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  ResponseBonusList = class(ResponseBonus)
  private
  published
  end;



  // ************************************************************************ //
  // XML       : Articulo, global, <complexType>
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  Articulo = class(TRemotable)
  private
    Fid: Int64;
    Fcodigo: WideString;
    Fcodigo_Specified: boolean;
    Fcodigoalterno: WideString;
    Fcodigoalterno_Specified: boolean;
    FcodigoEAN: WideString;
    FcodigoEAN_Specified: boolean;
    Fdescripcioncorto: WideString;
    Fdescripcioncorto_Specified: boolean;
    Fdescripcionlarga: WideString;
    Fdescripcionlarga_Specified: boolean;
    Flaboratorio: WideString;
    Flaboratorio_Specified: boolean;
    Ffechaalta: TXSDateTime;
    Ffechavigencia: TXSDateTime;
    Fmarca: WideString;
    Fmarca_Specified: boolean;
    Fpreciodistribuidor: TXSDecimal;
    Fpreciodesc: TXSDecimal;
    Ffechainiciooferteo: TXSDateTime;
    Ffechafinoferteo: TXSDateTime;
    Fduracion: Int64;
    Frequierereceta: Int64;
    Fstatus: Boolean;
    Fusuario_create: WideString;
    Fusuario_create_Specified: boolean;
    Ffecha_create: TXSDateTime;
    FOferteoProducto: OferteoProducto;
    FOferteoProducto_Specified: boolean;
    FHuboError: Boolean;
    FMensajeError: WideString;
    FMensajeError_Specified: boolean;
    procedure Setcodigo(Index: Integer; const AWideString: WideString);
    function  codigo_Specified(Index: Integer): boolean;
    procedure Setcodigoalterno(Index: Integer; const AWideString: WideString);
    function  codigoalterno_Specified(Index: Integer): boolean;
    procedure SetcodigoEAN(Index: Integer; const AWideString: WideString);
    function  codigoEAN_Specified(Index: Integer): boolean;
    procedure Setdescripcioncorto(Index: Integer; const AWideString: WideString);
    function  descripcioncorto_Specified(Index: Integer): boolean;
    procedure Setdescripcionlarga(Index: Integer; const AWideString: WideString);
    function  descripcionlarga_Specified(Index: Integer): boolean;
    procedure Setlaboratorio(Index: Integer; const AWideString: WideString);
    function  laboratorio_Specified(Index: Integer): boolean;
    procedure Setmarca(Index: Integer; const AWideString: WideString);
    function  marca_Specified(Index: Integer): boolean;
    procedure Setusuario_create(Index: Integer; const AWideString: WideString);
    function  usuario_create_Specified(Index: Integer): boolean;
    procedure SetOferteoProducto(Index: Integer; const AOferteoProducto: OferteoProducto);
    function  OferteoProducto_Specified(Index: Integer): boolean;
    procedure SetMensajeError(Index: Integer; const AWideString: WideString);
    function  MensajeError_Specified(Index: Integer): boolean;
  public
    destructor Destroy; override;
  published
    property id:                 Int64            read Fid write Fid;
    property codigo:             WideString       Index (IS_OPTN) read Fcodigo write Setcodigo stored codigo_Specified;
    property codigoalterno:      WideString       Index (IS_OPTN) read Fcodigoalterno write Setcodigoalterno stored codigoalterno_Specified;
    property codigoEAN:          WideString       Index (IS_OPTN) read FcodigoEAN write SetcodigoEAN stored codigoEAN_Specified;
    property descripcioncorto:   WideString       Index (IS_OPTN) read Fdescripcioncorto write Setdescripcioncorto stored descripcioncorto_Specified;
    property descripcionlarga:   WideString       Index (IS_OPTN) read Fdescripcionlarga write Setdescripcionlarga stored descripcionlarga_Specified;
    property laboratorio:        WideString       Index (IS_OPTN) read Flaboratorio write Setlaboratorio stored laboratorio_Specified;
    property fechaalta:          TXSDateTime      read Ffechaalta write Ffechaalta;
    property fechavigencia:      TXSDateTime      read Ffechavigencia write Ffechavigencia;
    property marca:              WideString       Index (IS_OPTN) read Fmarca write Setmarca stored marca_Specified;
    property preciodistribuidor: TXSDecimal       read Fpreciodistribuidor write Fpreciodistribuidor;
    property preciodesc:         TXSDecimal       read Fpreciodesc write Fpreciodesc;
    property fechainiciooferteo: TXSDateTime      read Ffechainiciooferteo write Ffechainiciooferteo;
    property fechafinoferteo:    TXSDateTime      read Ffechafinoferteo write Ffechafinoferteo;
    property duracion:           Int64            read Fduracion write Fduracion;
    property requierereceta:     Int64            read Frequierereceta write Frequierereceta;
    property status:             Boolean          read Fstatus write Fstatus;
    property usuario_create:     WideString       Index (IS_OPTN) read Fusuario_create write Setusuario_create stored usuario_create_Specified;
    property fecha_create:       TXSDateTime      read Ffecha_create write Ffecha_create;
    property OferteoProducto:    OferteoProducto  Index (IS_OPTN) read FOferteoProducto write SetOferteoProducto stored OferteoProducto_Specified;
    property HuboError:          Boolean          read FHuboError write FHuboError;
    property MensajeError:       WideString       Index (IS_OPTN) read FMensajeError write SetMensajeError stored MensajeError_Specified;
  end;



  // ************************************************************************ //
  // XML       : OferteoProducto, global, <complexType>
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  OferteoProducto = class(TRemotable)
  private
    FID: Int64;
    FCodigo: WideString;
    FCodigo_Specified: boolean;
    FDescripcion: WideString;
    FDescripcion_Specified: boolean;
    FFechaInicio: TXSDateTime;
    FFechaFin: TXSDateTime;
    FPorcentajeDescuento: Double;
    FPrecioFijo: TXSDecimal;
    FCompraX: Int64;
    FLlevaY: Int64;
    FPorcentajePuntos: Double;
    FPrecioPuntos: TXSDecimal;
    FMontoDescuento: TXSDecimal;
    FTipoPrecioDescuento: Int64;
    FTipoPromocion: eTipoPromocion;
    FAfectaSobre: eAfectaSobre;
    FHuboError: Boolean;
    FMensajeError: WideString;
    FMensajeError_Specified: boolean;
    FSkuObsequio: WideString;
    FSkuObsequio_Specified: boolean;
    procedure SetCodigo(Index: Integer; const AWideString: WideString);
    function  Codigo_Specified(Index: Integer): boolean;
    procedure SetDescripcion(Index: Integer; const AWideString: WideString);
    function  Descripcion_Specified(Index: Integer): boolean;
    procedure SetMensajeError(Index: Integer; const AWideString: WideString);
    function  MensajeError_Specified(Index: Integer): boolean;
    procedure SetSkuObsequio(Index: Integer; const AWideString: WideString);
    function  SkuObsequio_Specified(Index: Integer): boolean;
  public
    destructor Destroy; override;
  published
    property ID:                  Int64           read FID write FID;
    property Codigo:              WideString      Index (IS_OPTN) read FCodigo write SetCodigo stored Codigo_Specified;
    property Descripcion:         WideString      Index (IS_OPTN) read FDescripcion write SetDescripcion stored Descripcion_Specified;
    property FechaInicio:         TXSDateTime     read FFechaInicio write FFechaInicio;
    property FechaFin:            TXSDateTime     read FFechaFin write FFechaFin;
    property PorcentajeDescuento: Double          read FPorcentajeDescuento write FPorcentajeDescuento;
    property PrecioFijo:          TXSDecimal      read FPrecioFijo write FPrecioFijo;
    property CompraX:             Int64           read FCompraX write FCompraX;
    property LlevaY:              Int64           read FLlevaY write FLlevaY;
    property PorcentajePuntos:    Double          read FPorcentajePuntos write FPorcentajePuntos;
    property PrecioPuntos:        TXSDecimal      read FPrecioPuntos write FPrecioPuntos;
    property MontoDescuento:      TXSDecimal      read FMontoDescuento write FMontoDescuento;
    property TipoPrecioDescuento: Int64           read FTipoPrecioDescuento write FTipoPrecioDescuento;
    property TipoPromocion:       eTipoPromocion  read FTipoPromocion write FTipoPromocion;
    property AfectaSobre:         eAfectaSobre    read FAfectaSobre write FAfectaSobre;
    property HuboError:           Boolean         read FHuboError write FHuboError;
    property MensajeError:        WideString      Index (IS_OPTN) read FMensajeError write SetMensajeError stored MensajeError_Specified;
    property SkuObsequio:         WideString      Index (IS_OPTN) read FSkuObsequio write SetSkuObsequio stored SkuObsequio_Specified;
  end;



  // ************************************************************************ //
  // XML       : GetPromocionesRequest, global, <complexType>
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  GetPromocionesRequest = class(TRemotable)
  private
    FUsuario: WideString;
    FUsuario_Specified: boolean;
    FPassword: WideString;
    FPassword_Specified: boolean;
    FCodigoCadena: WideString;
    FCodigoCadena_Specified: boolean;
    procedure SetUsuario(Index: Integer; const AWideString: WideString);
    function  Usuario_Specified(Index: Integer): boolean;
    procedure SetPassword(Index: Integer; const AWideString: WideString);
    function  Password_Specified(Index: Integer): boolean;
    procedure SetCodigoCadena(Index: Integer; const AWideString: WideString);
    function  CodigoCadena_Specified(Index: Integer): boolean;
  published
    property Usuario:      WideString  Index (IS_OPTN) read FUsuario write SetUsuario stored Usuario_Specified;
    property Password:     WideString  Index (IS_OPTN) read FPassword write SetPassword stored Password_Specified;
    property CodigoCadena: WideString  Index (IS_OPTN) read FCodigoCadena write SetCodigoCadena stored CodigoCadena_Specified;
  end;

  ArrayOfPromocion0 = array of Promocion0;      { "http://tempuri.org/"[GblCplx] }


  // ************************************************************************ //
  // XML       : GetPromocionesResponse0, global, <complexType>
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  GetPromocionesResponse0 = class(TRemotable)
  private
    FHuboError: Boolean;
    FErrorMessage: WideString;
    FErrorMessage_Specified: boolean;
    FPromociones: ArrayOfPromocion0;
    FPromociones_Specified: boolean;
    procedure SetErrorMessage(Index: Integer; const AWideString: WideString);
    function  ErrorMessage_Specified(Index: Integer): boolean;
    procedure SetPromociones(Index: Integer; const AArrayOfPromocion0: ArrayOfPromocion0);
    function  Promociones_Specified(Index: Integer): boolean;
  public
    destructor Destroy; override;
  published
    property HuboError:    Boolean            read FHuboError write FHuboError;
    property ErrorMessage: WideString         Index (IS_OPTN) read FErrorMessage write SetErrorMessage stored ErrorMessage_Specified;
    property Promociones:  ArrayOfPromocion0  Index (IS_OPTN) read FPromociones write SetPromociones stored Promociones_Specified;
  end;



  // ************************************************************************ //
  // XML       : Promocion0, global, <complexType>
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  Promocion0 = class(TRemotable)
  private
    FSku: WideString;
    FSku_Specified: boolean;
    FPresentacion: WideString;
    FPresentacion_Specified: boolean;
    FIdPromocion: Integer;
    FNombrePromocion: WideString;
    FNombrePromocion_Specified: boolean;
    FFechaInicio: WideString;
    FFechaInicio_Specified: boolean;
    FFechaFin: WideString;
    FFechaFin_Specified: boolean;
    FIdTipoPromocion: Integer;
    FTipoPromocion: WideString;
    FTipoPromocion_Specified: boolean;
    FCompraX: Integer;
    FGratisY: Integer;
    FPorcentajeDescto: TXSDecimal;
    FPrecioFijo: TXSDecimal;
    FMontoDescto: TXSDecimal;
    FPoliticas: WideString;
    FPoliticas_Specified: boolean;
    procedure SetSku(Index: Integer; const AWideString: WideString);
    function  Sku_Specified(Index: Integer): boolean;
    procedure SetPresentacion(Index: Integer; const AWideString: WideString);
    function  Presentacion_Specified(Index: Integer): boolean;
    procedure SetNombrePromocion(Index: Integer; const AWideString: WideString);
    function  NombrePromocion_Specified(Index: Integer): boolean;
    procedure SetFechaInicio(Index: Integer; const AWideString: WideString);
    function  FechaInicio_Specified(Index: Integer): boolean;
    procedure SetFechaFin(Index: Integer; const AWideString: WideString);
    function  FechaFin_Specified(Index: Integer): boolean;
    procedure SetTipoPromocion(Index: Integer; const AWideString: WideString);
    function  TipoPromocion_Specified(Index: Integer): boolean;
    procedure SetPoliticas(Index: Integer; const AWideString: WideString);
    function  Politicas_Specified(Index: Integer): boolean;
  public
    destructor Destroy; override;
  published
    property Sku:              WideString  Index (IS_OPTN) read FSku write SetSku stored Sku_Specified;
    property Presentacion:     WideString  Index (IS_OPTN) read FPresentacion write SetPresentacion stored Presentacion_Specified;
    property IdPromocion:      Integer     read FIdPromocion write FIdPromocion;
    property NombrePromocion:  WideString  Index (IS_OPTN) read FNombrePromocion write SetNombrePromocion stored NombrePromocion_Specified;
    property FechaInicio:      WideString  Index (IS_OPTN) read FFechaInicio write SetFechaInicio stored FechaInicio_Specified;
    property FechaFin:         WideString  Index (IS_OPTN) read FFechaFin write SetFechaFin stored FechaFin_Specified;
    property IdTipoPromocion:  Integer     read FIdTipoPromocion write FIdTipoPromocion;
    property TipoPromocion:    WideString  Index (IS_OPTN) read FTipoPromocion write SetTipoPromocion stored TipoPromocion_Specified;
    property CompraX:          Integer     read FCompraX write FCompraX;
    property GratisY:          Integer     read FGratisY write FGratisY;
    property PorcentajeDescto: TXSDecimal  read FPorcentajeDescto write FPorcentajeDescto;
    property PrecioFijo:       TXSDecimal  read FPrecioFijo write FPrecioFijo;
    property MontoDescto:      TXSDecimal  read FMontoDescto write FMontoDescto;
    property Politicas:        WideString  Index (IS_OPTN) read FPoliticas write SetPoliticas stored Politicas_Specified;
  end;

  ArrayOfPromocion = array of Promocion;        { "http://tempuri.org/"[GblCplx] }


  // ************************************************************************ //
  // XML       : GetPromocionesResponse, global, <complexType>
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  GetPromocionesResponse = class(TRemotable)
  private
    FHuboError: Boolean;
    FErrorMessage: WideString;
    FErrorMessage_Specified: boolean;
    FPromociones: ArrayOfPromocion;
    FPromociones_Specified: boolean;
    procedure SetErrorMessage(Index: Integer; const AWideString: WideString);
    function  ErrorMessage_Specified(Index: Integer): boolean;
    procedure SetPromociones(Index: Integer; const AArrayOfPromocion: ArrayOfPromocion);
    function  Promociones_Specified(Index: Integer): boolean;
  public
    destructor Destroy; override;
  published
    property HuboError:    Boolean           read FHuboError write FHuboError;
    property ErrorMessage: WideString        Index (IS_OPTN) read FErrorMessage write SetErrorMessage stored ErrorMessage_Specified;
    property Promociones:  ArrayOfPromocion  Index (IS_OPTN) read FPromociones write SetPromociones stored Promociones_Specified;
  end;



  // ************************************************************************ //
  // XML       : Promocion, global, <complexType>
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  Promocion = class(TRemotable)
  private
    FSku: WideString;
    FSku_Specified: boolean;
    FPresentacion: WideString;
    FPresentacion_Specified: boolean;
    FNombrePromocion: WideString;
    FNombrePromocion_Specified: boolean;
    FFechaFin: WideString;
    FFechaFin_Specified: boolean;
    FTipoPromocion: WideString;
    FTipoPromocion_Specified: boolean;
    FPoliticas: WideString;
    FPoliticas_Specified: boolean;
    procedure SetSku(Index: Integer; const AWideString: WideString);
    function  Sku_Specified(Index: Integer): boolean;
    procedure SetPresentacion(Index: Integer; const AWideString: WideString);
    function  Presentacion_Specified(Index: Integer): boolean;
    procedure SetNombrePromocion(Index: Integer; const AWideString: WideString);
    function  NombrePromocion_Specified(Index: Integer): boolean;
    procedure SetFechaFin(Index: Integer; const AWideString: WideString);
    function  FechaFin_Specified(Index: Integer): boolean;
    procedure SetTipoPromocion(Index: Integer; const AWideString: WideString);
    function  TipoPromocion_Specified(Index: Integer): boolean;
    procedure SetPoliticas(Index: Integer; const AWideString: WideString);
    function  Politicas_Specified(Index: Integer): boolean;
  published
    property Sku:             WideString  Index (IS_OPTN) read FSku write SetSku stored Sku_Specified;
    property Presentacion:    WideString  Index (IS_OPTN) read FPresentacion write SetPresentacion stored Presentacion_Specified;
    property NombrePromocion: WideString  Index (IS_OPTN) read FNombrePromocion write SetNombrePromocion stored NombrePromocion_Specified;
    property FechaFin:        WideString  Index (IS_OPTN) read FFechaFin write SetFechaFin stored FechaFin_Specified;
    property TipoPromocion:   WideString  Index (IS_OPTN) read FTipoPromocion write SetTipoPromocion stored TipoPromocion_Specified;
    property Politicas:       WideString  Index (IS_OPTN) read FPoliticas write SetPoliticas stored Politicas_Specified;
  end;

  ArrayOfFarmacia = array of Farmacia;          { "http://tempuri.org/"[GblCplx] }


  // ************************************************************************ //
  // XML       : ResponseFarmacia, global, <complexType>
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  ResponseFarmacia = class(TRemotable)
  private
    Fresultado: Integer;
    FMensaje: WideString;
    FMensaje_Specified: boolean;
    FListado: ArrayOfFarmacia;
    FListado_Specified: boolean;
    procedure SetMensaje(Index: Integer; const AWideString: WideString);
    function  Mensaje_Specified(Index: Integer): boolean;
    procedure SetListado(Index: Integer; const AArrayOfFarmacia: ArrayOfFarmacia);
    function  Listado_Specified(Index: Integer): boolean;
  public
    destructor Destroy; override;
  published
    property resultado: Integer          read Fresultado write Fresultado;
    property Mensaje:   WideString       Index (IS_OPTN) read FMensaje write SetMensaje stored Mensaje_Specified;
    property Listado:   ArrayOfFarmacia  Index (IS_OPTN) read FListado write SetListado stored Listado_Specified;
  end;



  // ************************************************************************ //
  // XML       : Farmacia, global, <complexType>
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  Farmacia = class(TRemotable)
  private
    Fnombrecomercial: WideString;
    Fnombrecomercial_Specified: boolean;
    Fnombresucursal: WideString;
    Fnombresucursal_Specified: boolean;
    Fdireccion: WideString;
    Fdireccion_Specified: boolean;
    Fcolonia: WideString;
    Fcolonia_Specified: boolean;
    Fcodigopostal: WideString;
    Fcodigopostal_Specified: boolean;
    Fmunicipio: WideString;
    Fmunicipio_Specified: boolean;
    Fciudad: WideString;
    Fciudad_Specified: boolean;
    Festado: WideString;
    Festado_Specified: boolean;
    Flada: WideString;
    Flada_Specified: boolean;
    Ftelefono: WideString;
    Ftelefono_Specified: boolean;
    Flatitud: WideString;
    Flatitud_Specified: boolean;
    Flongitud: WideString;
    Flongitud_Specified: boolean;
    procedure Setnombrecomercial(Index: Integer; const AWideString: WideString);
    function  nombrecomercial_Specified(Index: Integer): boolean;
    procedure Setnombresucursal(Index: Integer; const AWideString: WideString);
    function  nombresucursal_Specified(Index: Integer): boolean;
    procedure Setdireccion(Index: Integer; const AWideString: WideString);
    function  direccion_Specified(Index: Integer): boolean;
    procedure Setcolonia(Index: Integer; const AWideString: WideString);
    function  colonia_Specified(Index: Integer): boolean;
    procedure Setcodigopostal(Index: Integer; const AWideString: WideString);
    function  codigopostal_Specified(Index: Integer): boolean;
    procedure Setmunicipio(Index: Integer; const AWideString: WideString);
    function  municipio_Specified(Index: Integer): boolean;
    procedure Setciudad(Index: Integer; const AWideString: WideString);
    function  ciudad_Specified(Index: Integer): boolean;
    procedure Setestado(Index: Integer; const AWideString: WideString);
    function  estado_Specified(Index: Integer): boolean;
    procedure Setlada(Index: Integer; const AWideString: WideString);
    function  lada_Specified(Index: Integer): boolean;
    procedure Settelefono(Index: Integer; const AWideString: WideString);
    function  telefono_Specified(Index: Integer): boolean;
    procedure Setlatitud(Index: Integer; const AWideString: WideString);
    function  latitud_Specified(Index: Integer): boolean;
    procedure Setlongitud(Index: Integer; const AWideString: WideString);
    function  longitud_Specified(Index: Integer): boolean;
  published
    property nombrecomercial: WideString  Index (IS_OPTN) read Fnombrecomercial write Setnombrecomercial stored nombrecomercial_Specified;
    property nombresucursal:  WideString  Index (IS_OPTN) read Fnombresucursal write Setnombresucursal stored nombresucursal_Specified;
    property direccion:       WideString  Index (IS_OPTN) read Fdireccion write Setdireccion stored direccion_Specified;
    property colonia:         WideString  Index (IS_OPTN) read Fcolonia write Setcolonia stored colonia_Specified;
    property codigopostal:    WideString  Index (IS_OPTN) read Fcodigopostal write Setcodigopostal stored codigopostal_Specified;
    property municipio:       WideString  Index (IS_OPTN) read Fmunicipio write Setmunicipio stored municipio_Specified;
    property ciudad:          WideString  Index (IS_OPTN) read Fciudad write Setciudad stored ciudad_Specified;
    property estado:          WideString  Index (IS_OPTN) read Festado write Setestado stored estado_Specified;
    property lada:            WideString  Index (IS_OPTN) read Flada write Setlada stored lada_Specified;
    property telefono:        WideString  Index (IS_OPTN) read Ftelefono write Settelefono stored telefono_Specified;
    property latitud:         WideString  Index (IS_OPTN) read Flatitud write Setlatitud stored latitud_Specified;
    property longitud:        WideString  Index (IS_OPTN) read Flongitud write Setlongitud stored longitud_Specified;
  end;

  ArrayOfEstadoCuentaP = array of EstadoCuentaP;   { "http://tempuri.org/"[GblCplx] }


  // ************************************************************************ //
  // XML       : ResponseEstadoCuentaP, global, <complexType>
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  ResponseEstadoCuentaP = class(TRemotable)
  private
    FHuboError: Boolean;
    FMensaje: WideString;
    FMensaje_Specified: boolean;
    FListado: ArrayOfEstadoCuentaP;
    FListado_Specified: boolean;
    procedure SetMensaje(Index: Integer; const AWideString: WideString);
    function  Mensaje_Specified(Index: Integer): boolean;
    procedure SetListado(Index: Integer; const AArrayOfEstadoCuentaP: ArrayOfEstadoCuentaP);
    function  Listado_Specified(Index: Integer): boolean;
  public
    destructor Destroy; override;
  published
    property HuboError: Boolean               read FHuboError write FHuboError;
    property Mensaje:   WideString            Index (IS_OPTN) read FMensaje write SetMensaje stored Mensaje_Specified;
    property Listado:   ArrayOfEstadoCuentaP  Index (IS_OPTN) read FListado write SetListado stored Listado_Specified;
  end;



  // ************************************************************************ //
  // XML       : EstadoCuentaP, global, <complexType>
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  EstadoCuentaP = class(TRemotable)
  private
    Ffecha: WideString;
    Ffecha_Specified: boolean;
    Fnombrefarmacia: WideString;
    Fnombrefarmacia_Specified: boolean;
    Fnoticket: WideString;
    Fnoticket_Specified: boolean;
    Fprecio: Double;
    Fpuntosgenerados: Integer;
    Fpuntosusados: Integer;
    Fprecio_a: Double;
    Fpreciodesc: Double;
    Fanulados: Integer;
    Fproducto: WideString;
    Fproducto_Specified: boolean;
    Fpiezapagadas: Integer;
    Fpiezaobsequio: Integer;
    procedure Setfecha(Index: Integer; const AWideString: WideString);
    function  fecha_Specified(Index: Integer): boolean;
    procedure Setnombrefarmacia(Index: Integer; const AWideString: WideString);
    function  nombrefarmacia_Specified(Index: Integer): boolean;
    procedure Setnoticket(Index: Integer; const AWideString: WideString);
    function  noticket_Specified(Index: Integer): boolean;
    procedure Setproducto(Index: Integer; const AWideString: WideString);
    function  producto_Specified(Index: Integer): boolean;
  published
    property fecha:           WideString  Index (IS_OPTN) read Ffecha write Setfecha stored fecha_Specified;
    property nombrefarmacia:  WideString  Index (IS_OPTN) read Fnombrefarmacia write Setnombrefarmacia stored nombrefarmacia_Specified;
    property noticket:        WideString  Index (IS_OPTN) read Fnoticket write Setnoticket stored noticket_Specified;
    property precio:          Double      read Fprecio write Fprecio;
    property puntosgenerados: Integer     read Fpuntosgenerados write Fpuntosgenerados;
    property puntosusados:    Integer     read Fpuntosusados write Fpuntosusados;
    property precio_a:        Double      read Fprecio_a write Fprecio_a;
    property preciodesc:      Double      read Fpreciodesc write Fpreciodesc;
    property anulados:        Integer     read Fanulados write Fanulados;
    property producto:        WideString  Index (IS_OPTN) read Fproducto write Setproducto stored producto_Specified;
    property piezapagadas:    Integer     read Fpiezapagadas write Fpiezapagadas;
    property piezaobsequio:   Integer     read Fpiezaobsequio write Fpiezaobsequio;
  end;



  // ************************************************************************ //
  // XML       : GetPromocionCurrentResponse, global, <complexType>
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  GetPromocionCurrentResponse = class(TRemotable)
  private
    FHuboError: Boolean;
    FErrorMessage: WideString;
    FErrorMessage_Specified: boolean;
    FPromocion: PromocionActual;
    FPromocion_Specified: boolean;
    procedure SetErrorMessage(Index: Integer; const AWideString: WideString);
    function  ErrorMessage_Specified(Index: Integer): boolean;
    procedure SetPromocion(Index: Integer; const APromocionActual: PromocionActual);
    function  Promocion_Specified(Index: Integer): boolean;
  public
    destructor Destroy; override;
  published
    property HuboError:    Boolean          read FHuboError write FHuboError;
    property ErrorMessage: WideString       Index (IS_OPTN) read FErrorMessage write SetErrorMessage stored ErrorMessage_Specified;
    property Promocion:    PromocionActual  Index (IS_OPTN) read FPromocion write SetPromocion stored Promocion_Specified;
  end;



  // ************************************************************************ //
  // XML       : PromocionActual, global, <complexType>
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  PromocionActual = class(TRemotable)
  private
    FSku: WideString;
    FSku_Specified: boolean;
    FPresentacion: WideString;
    FPresentacion_Specified: boolean;
    FNombrePromocion: WideString;
    FNombrePromocion_Specified: boolean;
    FTipo_promocion: WideString;
    FTipo_promocion_Specified: boolean;
    FVigencia: WideString;
    FVigencia_Specified: boolean;
    FLaboratorio: WideString;
    FLaboratorio_Specified: boolean;
    procedure SetSku(Index: Integer; const AWideString: WideString);
    function  Sku_Specified(Index: Integer): boolean;
    procedure SetPresentacion(Index: Integer; const AWideString: WideString);
    function  Presentacion_Specified(Index: Integer): boolean;
    procedure SetNombrePromocion(Index: Integer; const AWideString: WideString);
    function  NombrePromocion_Specified(Index: Integer): boolean;
    procedure SetTipo_promocion(Index: Integer; const AWideString: WideString);
    function  Tipo_promocion_Specified(Index: Integer): boolean;
    procedure SetVigencia(Index: Integer; const AWideString: WideString);
    function  Vigencia_Specified(Index: Integer): boolean;
    procedure SetLaboratorio(Index: Integer; const AWideString: WideString);
    function  Laboratorio_Specified(Index: Integer): boolean;
  published
    property Sku:             WideString  Index (IS_OPTN) read FSku write SetSku stored Sku_Specified;
    property Presentacion:    WideString  Index (IS_OPTN) read FPresentacion write SetPresentacion stored Presentacion_Specified;
    property NombrePromocion: WideString  Index (IS_OPTN) read FNombrePromocion write SetNombrePromocion stored NombrePromocion_Specified;
    property Tipo_promocion:  WideString  Index (IS_OPTN) read FTipo_promocion write SetTipo_promocion stored Tipo_promocion_Specified;
    property Vigencia:        WideString  Index (IS_OPTN) read FVigencia write SetVigencia stored Vigencia_Specified;
    property Laboratorio:     WideString  Index (IS_OPTN) read FLaboratorio write SetLaboratorio stored Laboratorio_Specified;
  end;



  // ************************************************************************ //
  // XML       : Pedido, global, <complexType>
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  Pedido = class(TRemotable)
  private
    FNoTarjeta: WideString;
    FNoTarjeta_Specified: boolean;
    FCedulaProfesionalMedico: WideString;
    FCedulaProfesionalMedico_Specified: boolean;
    FUsuario: WideString;
    FUsuario_Specified: boolean;
    FTotal: TXSDecimal;
    FNoTicket: WideString;
    FNoTicket_Specified: boolean;
    procedure SetNoTarjeta(Index: Integer; const AWideString: WideString);
    function  NoTarjeta_Specified(Index: Integer): boolean;
    procedure SetCedulaProfesionalMedico(Index: Integer; const AWideString: WideString);
    function  CedulaProfesionalMedico_Specified(Index: Integer): boolean;
    procedure SetUsuario(Index: Integer; const AWideString: WideString);
    function  Usuario_Specified(Index: Integer): boolean;
    procedure SetNoTicket(Index: Integer; const AWideString: WideString);
    function  NoTicket_Specified(Index: Integer): boolean;
  public
    destructor Destroy; override;
  published
    property NoTarjeta:               WideString  Index (IS_OPTN) read FNoTarjeta write SetNoTarjeta stored NoTarjeta_Specified;
    property CedulaProfesionalMedico: WideString  Index (IS_OPTN) read FCedulaProfesionalMedico write SetCedulaProfesionalMedico stored CedulaProfesionalMedico_Specified;
    property Usuario:                 WideString  Index (IS_OPTN) read FUsuario write SetUsuario stored Usuario_Specified;
    property Total:                   TXSDecimal  read FTotal write FTotal;
    property NoTicket:                WideString  Index (IS_OPTN) read FNoTicket write SetNoTicket stored NoTicket_Specified;
  end;

  ArrayOfPedidoArticulos = array of PedidoArticulos;   { "http://tempuri.org/"[GblCplx] }


  // ************************************************************************ //
  // XML       : PedidoArticulos, global, <complexType>
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  PedidoArticulos = class(TRemotable)
  private
    FSku: WideString;
    FSku_Specified: boolean;
    FPrecio: TXSDecimal;
    FPrecioPOS: TXSDecimal;
    FPrecioFijo: TXSDecimal;
    FPorcentajeDescuento: TXSDecimal;
    FMontoDescuento: TXSDecimal;
    FPiezasPagadas: Int64;
    FPiezasGratis: Int64;
    FIVA: TXSDecimal;
    FPorcentajeIVA: Double;
    procedure SetSku(Index: Integer; const AWideString: WideString);
    function  Sku_Specified(Index: Integer): boolean;
  public
    destructor Destroy; override;
  published
    property Sku:                 WideString  Index (IS_OPTN) read FSku write SetSku stored Sku_Specified;
    property Precio:              TXSDecimal  read FPrecio write FPrecio;
    property PrecioPOS:           TXSDecimal  read FPrecioPOS write FPrecioPOS;
    property PrecioFijo:          TXSDecimal  read FPrecioFijo write FPrecioFijo;
    property PorcentajeDescuento: TXSDecimal  read FPorcentajeDescuento write FPorcentajeDescuento;
    property MontoDescuento:      TXSDecimal  read FMontoDescuento write FMontoDescuento;
    property PiezasPagadas:       Int64       read FPiezasPagadas write FPiezasPagadas;
    property PiezasGratis:        Int64       read FPiezasGratis write FPiezasGratis;
    property IVA:                 TXSDecimal  read FIVA write FIVA;
    property PorcentajeIVA:       Double      read FPorcentajeIVA write FPorcentajeIVA;
  end;

  ArrayOfResponseSalesArticulos = array of ResponseSalesArticulos;   { "http://tempuri.org/"[GblCplx] }


  // ************************************************************************ //
  // XML       : ResponseSales, global, <complexType>
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  ResponseSales = class(TRemotable)
  private
    FPedido: WideString;
    FPedido_Specified: boolean;
    FPuntosGenerados: Int64;
    FHuboError: Boolean;
    FMensajeError: WideString;
    FMensajeError_Specified: boolean;
    FArticulosPendientes: ArrayOfResponseSalesArticulos;
    FArticulosPendientes_Specified: boolean;
    procedure SetPedido(Index: Integer; const AWideString: WideString);
    function  Pedido_Specified(Index: Integer): boolean;
    procedure SetMensajeError(Index: Integer; const AWideString: WideString);
    function  MensajeError_Specified(Index: Integer): boolean;
    procedure SetArticulosPendientes(Index: Integer; const AArrayOfResponseSalesArticulos: ArrayOfResponseSalesArticulos);
    function  ArticulosPendientes_Specified(Index: Integer): boolean;
  public
    destructor Destroy; override;
  published
    property Pedido:              WideString                     Index (IS_OPTN) read FPedido write SetPedido stored Pedido_Specified;
    property PuntosGenerados:     Int64                          read FPuntosGenerados write FPuntosGenerados;
    property HuboError:           Boolean                        read FHuboError write FHuboError;
    property MensajeError:        WideString                     Index (IS_OPTN) read FMensajeError write SetMensajeError stored MensajeError_Specified;
    property ArticulosPendientes: ArrayOfResponseSalesArticulos  Index (IS_OPTN) read FArticulosPendientes write SetArticulosPendientes stored ArticulosPendientes_Specified;
  end;



  // ************************************************************************ //
  // XML       : ResponseSalesArticulos, global, <complexType>
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  ResponseSalesArticulos = class(TRemotable)
  private
    FSku: WideString;
    FSku_Specified: boolean;
    FPiezasPendientes: Int64;
    procedure SetSku(Index: Integer; const AWideString: WideString);
    function  Sku_Specified(Index: Integer): boolean;
  published
    property Sku:              WideString  Index (IS_OPTN) read FSku write SetSku stored Sku_Specified;
    property PiezasPendientes: Int64       read FPiezasPendientes write FPiezasPendientes;
  end;



  // ************************************************************************ //
  // XML       : ResponseTarjetaV, global, <complexType>
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  ResponseTarjetaV = class(TRemotable)
  private
    FHuboError: Boolean;
    FMensajeError: WideString;
    FMensajeError_Specified: boolean;
    FMembresia: WideString;
    FMembresia_Specified: boolean;
    procedure SetMensajeError(Index: Integer; const AWideString: WideString);
    function  MensajeError_Specified(Index: Integer): boolean;
    procedure SetMembresia(Index: Integer; const AWideString: WideString);
    function  Membresia_Specified(Index: Integer): boolean;
  published
    property HuboError:    Boolean     read FHuboError write FHuboError;
    property MensajeError: WideString  Index (IS_OPTN) read FMensajeError write SetMensajeError stored MensajeError_Specified;
    property Membresia:    WideString  Index (IS_OPTN) read FMembresia write SetMembresia stored Membresia_Specified;
  end;



  // ************************************************************************ //
  // XML       : ResponseMailMod, global, <complexType>
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  ResponseMailMod = class(TRemotable)
  private
    FHuboError: Boolean;
    FMensaje: WideString;
    FMensaje_Specified: boolean;
    Fmails: WideString;
    Fmails_Specified: boolean;
    procedure SetMensaje(Index: Integer; const AWideString: WideString);
    function  Mensaje_Specified(Index: Integer): boolean;
    procedure Setmails(Index: Integer; const AWideString: WideString);
    function  mails_Specified(Index: Integer): boolean;
  published
    property HuboError: Boolean     read FHuboError write FHuboError;
    property Mensaje:   WideString  Index (IS_OPTN) read FMensaje write SetMensaje stored Mensaje_Specified;
    property mails:     WideString  Index (IS_OPTN) read Fmails write Setmails stored mails_Specified;
  end;

  ArrayOfString = array of WideString;          { "http://tempuri.org/"[GblCplx] }
  ArrayOfInfoDevolucionProducto = array of InfoDevolucionProducto;   { "http://tempuri.org/"[GblCplx] }


  // ************************************************************************ //
  // XML       : ResponseGetInfoDevolucionesProductos, global, <complexType>
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  ResponseGetInfoDevolucionesProductos = class(TRemotable)
  private
    FProductos: ArrayOfInfoDevolucionProducto;
    FProductos_Specified: boolean;
    FHuboError: Boolean;
    FMensaje: WideString;
    FMensaje_Specified: boolean;
    procedure SetProductos(Index: Integer; const AArrayOfInfoDevolucionProducto: ArrayOfInfoDevolucionProducto);
    function  Productos_Specified(Index: Integer): boolean;
    procedure SetMensaje(Index: Integer; const AWideString: WideString);
    function  Mensaje_Specified(Index: Integer): boolean;
  public
    destructor Destroy; override;
  published
    property Productos: ArrayOfInfoDevolucionProducto  Index (IS_OPTN) read FProductos write SetProductos stored Productos_Specified;
    property HuboError: Boolean                        read FHuboError write FHuboError;
    property Mensaje:   WideString                     Index (IS_OPTN) read FMensaje write SetMensaje stored Mensaje_Specified;
  end;



  // ************************************************************************ //
  // XML       : InfoDevolucionProducto, global, <complexType>
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  InfoDevolucionProducto = class(TRemotable)
  private
    FSku: WideString;
    FSku_Specified: boolean;
    FAceptaDevolucion: Boolean;
    procedure SetSku(Index: Integer; const AWideString: WideString);
    function  Sku_Specified(Index: Integer): boolean;
  published
    property Sku:              WideString  Index (IS_OPTN) read FSku write SetSku stored Sku_Specified;
    property AceptaDevolucion: Boolean     read FAceptaDevolucion write FAceptaDevolucion;
  end;



  // ************************************************************************ //
  // XML       : ResponseGetInfoMessages, global, <complexType>
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  ResponseGetInfoMessages = class(TRemotable)
  private
    FInformacion: ArrayOfString;
    FInformacion_Specified: boolean;
    FHuboError: Boolean;
    FMensajeError: WideString;
    FMensajeError_Specified: boolean;
    procedure SetInformacion(Index: Integer; const AArrayOfString: ArrayOfString);
    function  Informacion_Specified(Index: Integer): boolean;
    procedure SetMensajeError(Index: Integer; const AWideString: WideString);
    function  MensajeError_Specified(Index: Integer): boolean;
  published
    property Informacion:  ArrayOfString  Index (IS_OPTN) read FInformacion write SetInformacion stored Informacion_Specified;
    property HuboError:    Boolean        read FHuboError write FHuboError;
    property MensajeError: WideString     Index (IS_OPTN) read FMensajeError write SetMensajeError stored MensajeError_Specified;
  end;

  ArrayOfReposicion = array of Reposicion;      { "http://tempuri.org/"[GblCplx] }


  // ************************************************************************ //
  // XML       : ResponseReposiciones, global, <complexType>
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  ResponseReposiciones = class(TRemotable)
  private
    FHuboError: Boolean;
    FMensajeError: WideString;
    FMensajeError_Specified: boolean;
    FReposiciones: ArrayOfReposicion;
    FReposiciones_Specified: boolean;
    procedure SetMensajeError(Index: Integer; const AWideString: WideString);
    function  MensajeError_Specified(Index: Integer): boolean;
    procedure SetReposiciones(Index: Integer; const AArrayOfReposicion: ArrayOfReposicion);
    function  Reposiciones_Specified(Index: Integer): boolean;
  public
    destructor Destroy; override;
  published
    property HuboError:    Boolean            read FHuboError write FHuboError;
    property MensajeError: WideString         Index (IS_OPTN) read FMensajeError write SetMensajeError stored MensajeError_Specified;
    property Reposiciones: ArrayOfReposicion  Index (IS_OPTN) read FReposiciones write SetReposiciones stored Reposiciones_Specified;
  end;



  // ************************************************************************ //
  // XML       : Reposicion, global, <complexType>
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  Reposicion = class(TRemotable)
  private
    Fid: WideString;
    Fid_Specified: boolean;
    Fidarticulo: WideString;
    Fidarticulo_Specified: boolean;
    Fcodigo: WideString;
    Fcodigo_Specified: boolean;
    Fdescripcioncorto: WideString;
    Fdescripcioncorto_Specified: boolean;
    Fcant: Int64;
    Ftotdesc: TXSDecimal;
    Fstatus: Integer;
    procedure Setid(Index: Integer; const AWideString: WideString);
    function  id_Specified(Index: Integer): boolean;
    procedure Setidarticulo(Index: Integer; const AWideString: WideString);
    function  idarticulo_Specified(Index: Integer): boolean;
    procedure Setcodigo(Index: Integer; const AWideString: WideString);
    function  codigo_Specified(Index: Integer): boolean;
    procedure Setdescripcioncorto(Index: Integer; const AWideString: WideString);
    function  descripcioncorto_Specified(Index: Integer): boolean;
  public
    destructor Destroy; override;
  published
    property id:               WideString  Index (IS_OPTN) read Fid write Setid stored id_Specified;
    property idarticulo:       WideString  Index (IS_OPTN) read Fidarticulo write Setidarticulo stored idarticulo_Specified;
    property codigo:           WideString  Index (IS_OPTN) read Fcodigo write Setcodigo stored codigo_Specified;
    property descripcioncorto: WideString  Index (IS_OPTN) read Fdescripcioncorto write Setdescripcioncorto stored descripcioncorto_Specified;
    property cant:             Int64       read Fcant write Fcant;
    property totdesc:          TXSDecimal  read Ftotdesc write Ftotdesc;
    property status:           Integer     read Fstatus write Fstatus;
  end;



  // ************************************************************************ //
  // XML       : ResponseCurpList, global, <complexType>
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  ResponseCurpList = class(TRemotable)
  private
    FCURPs: ArrayOfString;
    FCURPs_Specified: boolean;
    FHuboError: Boolean;
    FMensajeError: WideString;
    FMensajeError_Specified: boolean;
    procedure SetCURPs(Index: Integer; const AArrayOfString: ArrayOfString);
    function  CURPs_Specified(Index: Integer): boolean;
    procedure SetMensajeError(Index: Integer; const AWideString: WideString);
    function  MensajeError_Specified(Index: Integer): boolean;
  published
    property CURPs:        ArrayOfString  Index (IS_OPTN) read FCURPs write SetCURPs stored CURPs_Specified;
    property HuboError:    Boolean        read FHuboError write FHuboError;
    property MensajeError: WideString     Index (IS_OPTN) read FMensajeError write SetMensajeError stored MensajeError_Specified;
  end;



  // ************************************************************************ //
  // XML       : CedulasMedicos, global, <complexType>
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  CedulasMedicos = class(TRemotable)
  private
    Fcedula: WideString;
    Fcedula_Specified: boolean;
    Fnombre: WideString;
    Fnombre_Specified: boolean;
    Fapellidopaterno: WideString;
    Fapellidopaterno_Specified: boolean;
    Fapellidomaterno: WideString;
    Fapellidomaterno_Specified: boolean;
    Fespecialidad: WideString;
    Fespecialidad_Specified: boolean;
    Fdireccion: WideString;
    Fdireccion_Specified: boolean;
    Fcodigopostal: WideString;
    Fcodigopostal_Specified: boolean;
    Fcolonia: WideString;
    Fcolonia_Specified: boolean;
    Fmunicipio: WideString;
    Fmunicipio_Specified: boolean;
    Fciudad: WideString;
    Fciudad_Specified: boolean;
    Festado: WideString;
    Festado_Specified: boolean;
    Fsexo: WideString;
    Fsexo_Specified: boolean;
    Ftelefono: WideString;
    Ftelefono_Specified: boolean;
    Fcelular: WideString;
    Fcelular_Specified: boolean;
    Fmail: WideString;
    Fmail_Specified: boolean;
    FHuboError: Boolean;
    FMensajeError: WideString;
    FMensajeError_Specified: boolean;
    procedure Setcedula(Index: Integer; const AWideString: WideString);
    function  cedula_Specified(Index: Integer): boolean;
    procedure Setnombre(Index: Integer; const AWideString: WideString);
    function  nombre_Specified(Index: Integer): boolean;
    procedure Setapellidopaterno(Index: Integer; const AWideString: WideString);
    function  apellidopaterno_Specified(Index: Integer): boolean;
    procedure Setapellidomaterno(Index: Integer; const AWideString: WideString);
    function  apellidomaterno_Specified(Index: Integer): boolean;
    procedure Setespecialidad(Index: Integer; const AWideString: WideString);
    function  especialidad_Specified(Index: Integer): boolean;
    procedure Setdireccion(Index: Integer; const AWideString: WideString);
    function  direccion_Specified(Index: Integer): boolean;
    procedure Setcodigopostal(Index: Integer; const AWideString: WideString);
    function  codigopostal_Specified(Index: Integer): boolean;
    procedure Setcolonia(Index: Integer; const AWideString: WideString);
    function  colonia_Specified(Index: Integer): boolean;
    procedure Setmunicipio(Index: Integer; const AWideString: WideString);
    function  municipio_Specified(Index: Integer): boolean;
    procedure Setciudad(Index: Integer; const AWideString: WideString);
    function  ciudad_Specified(Index: Integer): boolean;
    procedure Setestado(Index: Integer; const AWideString: WideString);
    function  estado_Specified(Index: Integer): boolean;
    procedure Setsexo(Index: Integer; const AWideString: WideString);
    function  sexo_Specified(Index: Integer): boolean;
    procedure Settelefono(Index: Integer; const AWideString: WideString);
    function  telefono_Specified(Index: Integer): boolean;
    procedure Setcelular(Index: Integer; const AWideString: WideString);
    function  celular_Specified(Index: Integer): boolean;
    procedure Setmail(Index: Integer; const AWideString: WideString);
    function  mail_Specified(Index: Integer): boolean;
    procedure SetMensajeError(Index: Integer; const AWideString: WideString);
    function  MensajeError_Specified(Index: Integer): boolean;
  published
    property cedula:          WideString  Index (IS_OPTN) read Fcedula write Setcedula stored cedula_Specified;
    property nombre:          WideString  Index (IS_OPTN) read Fnombre write Setnombre stored nombre_Specified;
    property apellidopaterno: WideString  Index (IS_OPTN) read Fapellidopaterno write Setapellidopaterno stored apellidopaterno_Specified;
    property apellidomaterno: WideString  Index (IS_OPTN) read Fapellidomaterno write Setapellidomaterno stored apellidomaterno_Specified;
    property especialidad:    WideString  Index (IS_OPTN) read Fespecialidad write Setespecialidad stored especialidad_Specified;
    property direccion:       WideString  Index (IS_OPTN) read Fdireccion write Setdireccion stored direccion_Specified;
    property codigopostal:    WideString  Index (IS_OPTN) read Fcodigopostal write Setcodigopostal stored codigopostal_Specified;
    property colonia:         WideString  Index (IS_OPTN) read Fcolonia write Setcolonia stored colonia_Specified;
    property municipio:       WideString  Index (IS_OPTN) read Fmunicipio write Setmunicipio stored municipio_Specified;
    property ciudad:          WideString  Index (IS_OPTN) read Fciudad write Setciudad stored ciudad_Specified;
    property estado:          WideString  Index (IS_OPTN) read Festado write Setestado stored estado_Specified;
    property sexo:            WideString  Index (IS_OPTN) read Fsexo write Setsexo stored sexo_Specified;
    property telefono:        WideString  Index (IS_OPTN) read Ftelefono write Settelefono stored telefono_Specified;
    property celular:         WideString  Index (IS_OPTN) read Fcelular write Setcelular stored celular_Specified;
    property mail:            WideString  Index (IS_OPTN) read Fmail write Setmail stored mail_Specified;
    property HuboError:       Boolean     read FHuboError write FHuboError;
    property MensajeError:    WideString  Index (IS_OPTN) read FMensajeError write SetMensajeError stored MensajeError_Specified;
  end;



  // ************************************************************************ //
  // XML       : MedicosCedulas, global, <complexType>
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  MedicosCedulas = class(TRemotable)
  private
    Fcedula: WideString;
    Fcedula_Specified: boolean;
    Fnombre: WideString;
    Fnombre_Specified: boolean;
    Fapellidopaterno: WideString;
    Fapellidopaterno_Specified: boolean;
    Fapellidomaterno: WideString;
    Fapellidomaterno_Specified: boolean;
    Fespecialidad: WideString;
    Fespecialidad_Specified: boolean;
    FHuboError: Boolean;
    FMensajeError: WideString;
    FMensajeError_Specified: boolean;
    procedure Setcedula(Index: Integer; const AWideString: WideString);
    function  cedula_Specified(Index: Integer): boolean;
    procedure Setnombre(Index: Integer; const AWideString: WideString);
    function  nombre_Specified(Index: Integer): boolean;
    procedure Setapellidopaterno(Index: Integer; const AWideString: WideString);
    function  apellidopaterno_Specified(Index: Integer): boolean;
    procedure Setapellidomaterno(Index: Integer; const AWideString: WideString);
    function  apellidomaterno_Specified(Index: Integer): boolean;
    procedure Setespecialidad(Index: Integer; const AWideString: WideString);
    function  especialidad_Specified(Index: Integer): boolean;
    procedure SetMensajeError(Index: Integer; const AWideString: WideString);
    function  MensajeError_Specified(Index: Integer): boolean;
  published
    property cedula:          WideString  Index (IS_OPTN) read Fcedula write Setcedula stored cedula_Specified;
    property nombre:          WideString  Index (IS_OPTN) read Fnombre write Setnombre stored nombre_Specified;
    property apellidopaterno: WideString  Index (IS_OPTN) read Fapellidopaterno write Setapellidopaterno stored apellidopaterno_Specified;
    property apellidomaterno: WideString  Index (IS_OPTN) read Fapellidomaterno write Setapellidomaterno stored apellidomaterno_Specified;
    property especialidad:    WideString  Index (IS_OPTN) read Fespecialidad write Setespecialidad stored especialidad_Specified;
    property HuboError:       Boolean     read FHuboError write FHuboError;
    property MensajeError:    WideString  Index (IS_OPTN) read FMensajeError write SetMensajeError stored MensajeError_Specified;
  end;



  // ************************************************************************ //
  // XML       : ResponseColoniasList, global, <complexType>
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  ResponseColoniasList = class(TRemotable)
  private
    FColonia: ArrayOfString;
    FColonia_Specified: boolean;
    FHuboError: Boolean;
    FMensajeError: WideString;
    FMensajeError_Specified: boolean;
    procedure SetColonia(Index: Integer; const AArrayOfString: ArrayOfString);
    function  Colonia_Specified(Index: Integer): boolean;
    procedure SetMensajeError(Index: Integer; const AWideString: WideString);
    function  MensajeError_Specified(Index: Integer): boolean;
  published
    property Colonia:      ArrayOfString  Index (IS_OPTN) read FColonia write SetColonia stored Colonia_Specified;
    property HuboError:    Boolean        read FHuboError write FHuboError;
    property MensajeError: WideString     Index (IS_OPTN) read FMensajeError write SetMensajeError stored MensajeError_Specified;
  end;



  // ************************************************************************ //
  // XML       : InfoPacientecp, global, <complexType>
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  InfoPacientecp = class(TRemotable)
  private
    Fciudad: WideString;
    Fciudad_Specified: boolean;
    Festado: WideString;
    Festado_Specified: boolean;
    Fmunicipio: WideString;
    Fmunicipio_Specified: boolean;
    FHuboError: Boolean;
    FMensajeError: WideString;
    FMensajeError_Specified: boolean;
    procedure Setciudad(Index: Integer; const AWideString: WideString);
    function  ciudad_Specified(Index: Integer): boolean;
    procedure Setestado(Index: Integer; const AWideString: WideString);
    function  estado_Specified(Index: Integer): boolean;
    procedure Setmunicipio(Index: Integer; const AWideString: WideString);
    function  municipio_Specified(Index: Integer): boolean;
    procedure SetMensajeError(Index: Integer; const AWideString: WideString);
    function  MensajeError_Specified(Index: Integer): boolean;
  published
    property ciudad:       WideString  Index (IS_OPTN) read Fciudad write Setciudad stored ciudad_Specified;
    property estado:       WideString  Index (IS_OPTN) read Festado write Setestado stored estado_Specified;
    property municipio:    WideString  Index (IS_OPTN) read Fmunicipio write Setmunicipio stored municipio_Specified;
    property HuboError:    Boolean     read FHuboError write FHuboError;
    property MensajeError: WideString  Index (IS_OPTN) read FMensajeError write SetMensajeError stored MensajeError_Specified;
  end;



  // ************************************************************************ //
  // XML       : ResponseEstadosList, global, <complexType>
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  ResponseEstadosList = class(TRemotable)
  private
    FEstados: ArrayOfString;
    FEstados_Specified: boolean;
    FHuboError: Boolean;
    FMensajeError: WideString;
    FMensajeError_Specified: boolean;
    procedure SetEstados(Index: Integer; const AArrayOfString: ArrayOfString);
    function  Estados_Specified(Index: Integer): boolean;
    procedure SetMensajeError(Index: Integer; const AWideString: WideString);
    function  MensajeError_Specified(Index: Integer): boolean;
  published
    property Estados:      ArrayOfString  Index (IS_OPTN) read FEstados write SetEstados stored Estados_Specified;
    property HuboError:    Boolean        read FHuboError write FHuboError;
    property MensajeError: WideString     Index (IS_OPTN) read FMensajeError write SetMensajeError stored MensajeError_Specified;
  end;

  ArrayOfResponsePoint = array of ResponsePoint;   { "http://tempuri.org/"[GblCplx] }


  // ************************************************************************ //
  // XML       : ResponsePoints, global, <complexType>
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  ResponsePoints = class(TRemotable)
  private
    FPuntos: ArrayOfResponsePoint;
    FPuntos_Specified: boolean;
    FMensajeError: WideString;
    FMensajeError_Specified: boolean;
    FHuboError: Boolean;
    procedure SetPuntos(Index: Integer; const AArrayOfResponsePoint: ArrayOfResponsePoint);
    function  Puntos_Specified(Index: Integer): boolean;
    procedure SetMensajeError(Index: Integer; const AWideString: WideString);
    function  MensajeError_Specified(Index: Integer): boolean;
  public
    destructor Destroy; override;
  published
    property Puntos:       ArrayOfResponsePoint  Index (IS_OPTN) read FPuntos write SetPuntos stored Puntos_Specified;
    property MensajeError: WideString            Index (IS_OPTN) read FMensajeError write SetMensajeError stored MensajeError_Specified;
    property HuboError:    Boolean               read FHuboError write FHuboError;
  end;



  // ************************************************************************ //
  // XML       : ResponsePoint, global, <complexType>
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  ResponsePoint = class(TRemotable)
  private
    FPrograma: WideString;
    FPrograma_Specified: boolean;
    FSaldo: TXSDecimal;
    procedure SetPrograma(Index: Integer; const AWideString: WideString);
    function  Programa_Specified(Index: Integer): boolean;
  public
    destructor Destroy; override;
  published
    property Programa: WideString  Index (IS_OPTN) read FPrograma write SetPrograma stored Programa_Specified;
    property Saldo:    TXSDecimal  read FSaldo write FSaldo;
  end;

  ArrayOfDetallePoint = array of DetallePoint;   { "http://tempuri.org/"[GblCplx] }


  // ************************************************************************ //
  // XML       : ResponseStatementPoints, global, <complexType>
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  ResponseStatementPoints = class(TRemotable)
  private
    FDetalles: ArrayOfDetallePoint;
    FDetalles_Specified: boolean;
    FMensajeError: WideString;
    FMensajeError_Specified: boolean;
    FHuboError: Boolean;
    procedure SetDetalles(Index: Integer; const AArrayOfDetallePoint: ArrayOfDetallePoint);
    function  Detalles_Specified(Index: Integer): boolean;
    procedure SetMensajeError(Index: Integer; const AWideString: WideString);
    function  MensajeError_Specified(Index: Integer): boolean;
  public
    destructor Destroy; override;
  published
    property Detalles:     ArrayOfDetallePoint  Index (IS_OPTN) read FDetalles write SetDetalles stored Detalles_Specified;
    property MensajeError: WideString           Index (IS_OPTN) read FMensajeError write SetMensajeError stored MensajeError_Specified;
    property HuboError:    Boolean              read FHuboError write FHuboError;
  end;



  // ************************************************************************ //
  // XML       : DetallePoint, global, <complexType>
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  DetallePoint = class(TRemotable)
  private
    FFecha: WideString;
    FFecha_Specified: boolean;
    FCodigo: WideString;
    FCodigo_Specified: boolean;
    FPresentacion: WideString;
    FPresentacion_Specified: boolean;
    FPuntos: TXSDecimal;
    FPrograma: WideString;
    FPrograma_Specified: boolean;
    FTipo: WideString;
    FTipo_Specified: boolean;
    procedure SetFecha(Index: Integer; const AWideString: WideString);
    function  Fecha_Specified(Index: Integer): boolean;
    procedure SetCodigo(Index: Integer; const AWideString: WideString);
    function  Codigo_Specified(Index: Integer): boolean;
    procedure SetPresentacion(Index: Integer; const AWideString: WideString);
    function  Presentacion_Specified(Index: Integer): boolean;
    procedure SetPrograma(Index: Integer; const AWideString: WideString);
    function  Programa_Specified(Index: Integer): boolean;
    procedure SetTipo(Index: Integer; const AWideString: WideString);
    function  Tipo_Specified(Index: Integer): boolean;
  public
    destructor Destroy; override;
  published
    property Fecha:        WideString  Index (IS_OPTN) read FFecha write SetFecha stored Fecha_Specified;
    property Codigo:       WideString  Index (IS_OPTN) read FCodigo write SetCodigo stored Codigo_Specified;
    property Presentacion: WideString  Index (IS_OPTN) read FPresentacion write SetPresentacion stored Presentacion_Specified;
    property Puntos:       TXSDecimal  read FPuntos write FPuntos;
    property Programa:     WideString  Index (IS_OPTN) read FPrograma write SetPrograma stored Programa_Specified;
    property Tipo:         WideString  Index (IS_OPTN) read FTipo write SetTipo stored Tipo_Specified;
  end;

  ArrayOfProgramaPoint = array of ProgramaPoint;   { "http://tempuri.org/"[GblCplx] }


  // ************************************************************************ //
  // XML       : ResponseProgramasPoint, global, <complexType>
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  ResponseProgramasPoint = class(TRemotable)
  private
    FProgramas: ArrayOfProgramaPoint;
    FProgramas_Specified: boolean;
    FMensajeError: WideString;
    FMensajeError_Specified: boolean;
    FHuboError: Boolean;
    procedure SetProgramas(Index: Integer; const AArrayOfProgramaPoint: ArrayOfProgramaPoint);
    function  Programas_Specified(Index: Integer): boolean;
    procedure SetMensajeError(Index: Integer; const AWideString: WideString);
    function  MensajeError_Specified(Index: Integer): boolean;
  public
    destructor Destroy; override;
  published
    property Programas:    ArrayOfProgramaPoint  Index (IS_OPTN) read FProgramas write SetProgramas stored Programas_Specified;
    property MensajeError: WideString            Index (IS_OPTN) read FMensajeError write SetMensajeError stored MensajeError_Specified;
    property HuboError:    Boolean               read FHuboError write FHuboError;
  end;



  // ************************************************************************ //
  // XML       : ProgramaPoint, global, <complexType>
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  ProgramaPoint = class(TRemotable)
  private
    FLaboratorio: WideString;
    FLaboratorio_Specified: boolean;
    FPrograma: WideString;
    FPrograma_Specified: boolean;
    FVigencia: TXSDateTime;
    procedure SetLaboratorio(Index: Integer; const AWideString: WideString);
    function  Laboratorio_Specified(Index: Integer): boolean;
    procedure SetPrograma(Index: Integer; const AWideString: WideString);
    function  Programa_Specified(Index: Integer): boolean;
  public
    destructor Destroy; override;
  published
    property Laboratorio: WideString   Index (IS_OPTN) read FLaboratorio write SetLaboratorio stored Laboratorio_Specified;
    property Programa:    WideString   Index (IS_OPTN) read FPrograma write SetPrograma stored Programa_Specified;
    property Vigencia:    TXSDateTime  read FVigencia write FVigencia;
  end;

  ArrayOfProductos_Acumular_Puntos = array of Productos_Acumular_Puntos;   { "http://tempuri.org/"[GblCplx] }


  // ************************************************************************ //
  // XML       : ResponseProductosSuman, global, <complexType>
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  ResponseProductosSuman = class(TRemotable)
  private
    FProductos: ArrayOfProductos_Acumular_Puntos;
    FProductos_Specified: boolean;
    FMensajeError: WideString;
    FMensajeError_Specified: boolean;
    FHuboError: Boolean;
    procedure SetProductos(Index: Integer; const AArrayOfProductos_Acumular_Puntos: ArrayOfProductos_Acumular_Puntos);
    function  Productos_Specified(Index: Integer): boolean;
    procedure SetMensajeError(Index: Integer; const AWideString: WideString);
    function  MensajeError_Specified(Index: Integer): boolean;
  public
    destructor Destroy; override;
  published
    property Productos:    ArrayOfProductos_Acumular_Puntos  Index (IS_OPTN) read FProductos write SetProductos stored Productos_Specified;
    property MensajeError: WideString                        Index (IS_OPTN) read FMensajeError write SetMensajeError stored MensajeError_Specified;
    property HuboError:    Boolean                           read FHuboError write FHuboError;
  end;



  // ************************************************************************ //
  // XML       : Productos_Acumular_Puntos, global, <complexType>
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  Productos_Acumular_Puntos = class(TRemotable)
  private
    FLaboratorio: WideString;
    FLaboratorio_Specified: boolean;
    FCodigo: WideString;
    FCodigo_Specified: boolean;
    FDescripcion: WideString;
    FDescripcion_Specified: boolean;
    FValor_puntos: Integer;
    FPorcent_puntos: TXSDecimal;
    FVigencia: TXSDateTime;
    procedure SetLaboratorio(Index: Integer; const AWideString: WideString);
    function  Laboratorio_Specified(Index: Integer): boolean;
    procedure SetCodigo(Index: Integer; const AWideString: WideString);
    function  Codigo_Specified(Index: Integer): boolean;
    procedure SetDescripcion(Index: Integer; const AWideString: WideString);
    function  Descripcion_Specified(Index: Integer): boolean;
  public
    destructor Destroy; override;
  published
    property Laboratorio:    WideString   Index (IS_OPTN) read FLaboratorio write SetLaboratorio stored Laboratorio_Specified;
    property Codigo:         WideString   Index (IS_OPTN) read FCodigo write SetCodigo stored Codigo_Specified;
    property Descripcion:    WideString   Index (IS_OPTN) read FDescripcion write SetDescripcion stored Descripcion_Specified;
    property Valor_puntos:   Integer      read FValor_puntos write FValor_puntos;
    property Porcent_puntos: TXSDecimal   read FPorcent_puntos write FPorcent_puntos;
    property Vigencia:       TXSDateTime  read FVigencia write FVigencia;
  end;

  ArrayOfProductos_Redimir_Puntos = array of Productos_Redimir_Puntos;   { "http://tempuri.org/"[GblCplx] }


  // ************************************************************************ //
  // XML       : ResponseProductosRedimen, global, <complexType>
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  ResponseProductosRedimen = class(TRemotable)
  private
    FProductos: ArrayOfProductos_Redimir_Puntos;
    FProductos_Specified: boolean;
    FMensajeError: WideString;
    FMensajeError_Specified: boolean;
    FHuboError: Boolean;
    procedure SetProductos(Index: Integer; const AArrayOfProductos_Redimir_Puntos: ArrayOfProductos_Redimir_Puntos);
    function  Productos_Specified(Index: Integer): boolean;
    procedure SetMensajeError(Index: Integer; const AWideString: WideString);
    function  MensajeError_Specified(Index: Integer): boolean;
  public
    destructor Destroy; override;
  published
    property Productos:    ArrayOfProductos_Redimir_Puntos  Index (IS_OPTN) read FProductos write SetProductos stored Productos_Specified;
    property MensajeError: WideString                       Index (IS_OPTN) read FMensajeError write SetMensajeError stored MensajeError_Specified;
    property HuboError:    Boolean                          read FHuboError write FHuboError;
  end;



  // ************************************************************************ //
  // XML       : Productos_Redimir_Puntos, global, <complexType>
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  Productos_Redimir_Puntos = class(TRemotable)
  private
    FLaboratorio: WideString;
    FLaboratorio_Specified: boolean;
    FCodigo: WideString;
    FCodigo_Specified: boolean;
    FValor_puntos: Integer;
    FDescripcion: WideString;
    FDescripcion_Specified: boolean;
    FPorcent_puntos: TXSDecimal;
    FNivel_Redencion: Integer;
    FVigencia: TXSDateTime;
    procedure SetLaboratorio(Index: Integer; const AWideString: WideString);
    function  Laboratorio_Specified(Index: Integer): boolean;
    procedure SetCodigo(Index: Integer; const AWideString: WideString);
    function  Codigo_Specified(Index: Integer): boolean;
    procedure SetDescripcion(Index: Integer; const AWideString: WideString);
    function  Descripcion_Specified(Index: Integer): boolean;
  public
    destructor Destroy; override;
  published
    property Laboratorio:     WideString   Index (IS_OPTN) read FLaboratorio write SetLaboratorio stored Laboratorio_Specified;
    property Codigo:          WideString   Index (IS_OPTN) read FCodigo write SetCodigo stored Codigo_Specified;
    property Valor_puntos:    Integer      read FValor_puntos write FValor_puntos;
    property Descripcion:     WideString   Index (IS_OPTN) read FDescripcion write SetDescripcion stored Descripcion_Specified;
    property Porcent_puntos:  TXSDecimal   read FPorcent_puntos write FPorcent_puntos;
    property Nivel_Redencion: Integer      read FNivel_Redencion write FNivel_Redencion;
    property Vigencia:        TXSDateTime  read FVigencia write FVigencia;
  end;

  ArrayOfPuntos = array of Puntos;              { "http://tempuri.org/"[GblCplx] }


  // ************************************************************************ //
  // XML       : ResponseInfoProductosPrograma, global, <complexType>
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  ResponseInfoProductosPrograma = class(TRemotable)
  private
    FRecompensa: ArrayOfPuntos;
    FRecompensa_Specified: boolean;
    FMensajeError: WideString;
    FMensajeError_Specified: boolean;
    FHuboError: Boolean;
    procedure SetRecompensa(Index: Integer; const AArrayOfPuntos: ArrayOfPuntos);
    function  Recompensa_Specified(Index: Integer): boolean;
    procedure SetMensajeError(Index: Integer; const AWideString: WideString);
    function  MensajeError_Specified(Index: Integer): boolean;
  public
    destructor Destroy; override;
  published
    property Recompensa:   ArrayOfPuntos  Index (IS_OPTN) read FRecompensa write SetRecompensa stored Recompensa_Specified;
    property MensajeError: WideString     Index (IS_OPTN) read FMensajeError write SetMensajeError stored MensajeError_Specified;
    property HuboError:    Boolean        read FHuboError write FHuboError;
  end;



  // ************************************************************************ //
  // XML       : Puntos, global, <complexType>
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  Puntos = class(TRemotable)
  private
    Ftipo: WideString;
    Ftipo_Specified: boolean;
    Fpuntos: Integer;
    Fporcpuntos: TXSDecimal;
    Fvigencia: TXSDateTime;
    procedure Settipo(Index: Integer; const AWideString: WideString);
    function  tipo_Specified(Index: Integer): boolean;
  public
    destructor Destroy; override;
  published
    property tipo:       WideString   Index (IS_OPTN) read Ftipo write Settipo stored tipo_Specified;
    property puntos:     Integer      read Fpuntos write Fpuntos;
    property porcpuntos: TXSDecimal   read Fporcpuntos write Fporcpuntos;
    property vigencia:   TXSDateTime  read Fvigencia write Fvigencia;
  end;


  // ************************************************************************ //
  // Namespace : http://tempuri.org/
  // soapAction: http://tempuri.org/%operationName%
  // transport : http://schemas.xmlsoap.org/soap/http
  // style     : document
  // binding   : WSCirculodelaSaludSoap
  // service   : WSCirculodelaSalud
  // port      : WSCirculodelaSaludSoap
  // URL       : http://104.210.149.162/nadro_pruebas/WSCirculodelasalud.asmx
  // ************************************************************************ //
  WSCirculodelaSaludSoap = interface(IInvokable)
  ['{6F8A696B-9CC3-1920-1620-F787A965350B}']
    function  Login(const Usuario: WideString; const Password: WideString; const CodigoCadena: WideString; const CodigoSucursal: WideString): ResponseLogin; stdcall;
    function  Logout(const Sesion: WideString): Boolean; stdcall;
    function  ActivateCardUser(const Sesion: WideString; const Usuario: WideString; const NoTarjeta: WideString; const Nombre: WideString; const ApellidoPaterno: WideString; const ApellidoMaterno: WideString; 
                               const Telefono: WideString; const Email: WideString; const Sexo: WideString; const FechaNacimiento: TXSDateTime; const CP: WideString
                               ): ResponseActivateCard; stdcall;
    function  ActivateCardUserWeb(const Sesion: WideString; const Usuario: WideString; const NoTarjeta: WideString; const Nombre: WideString; const ApellidoPaterno: WideString; const ApellidoMaterno: WideString; 
                                  const Telefono: WideString; const Email: WideString; const Sexo: WideString; const FechaNacimiento: TXSDateTime; const CP: WideString; 
                                  const Password: WideString): ResponseActivateCardWeb; stdcall;
    function  ActivateMedico(const sesion: WideString; const medico: RequestActivarMedico): ResponseActivaMedico; stdcall;
    function  ActivateCardUserPremium(const Sesion: WideString; const Usuario: WideString; const NoTarjeta: WideString; const Nombre: WideString): ResponseActivateCard; stdcall;
    function  GetInfoProductCard(const Sesion: WideString; const NoTarjeta: WideString): ArrayOfResponseInfoProductCard; stdcall;
    function  GetInfoCard(const Sesion: WideString; const NoTarjeta: WideString): Tarjeta; stdcall;
    function  GetInfoCardCountVenta(const Sesion: WideString; const NoTarjeta: WideString): TarjetaVenta; stdcall;
    function  GetInfoCardPremium(const Sesion: WideString; const NoTarjeta: WideString): Tarjeta; stdcall;
    function  GetInfoPatient(const Sesion: WideString; const NoTarjeta: WideString): InfoPaciente; stdcall;
    function  UpdatePatient(const sesion: WideString; const paciente: RequestUpdatePatient): ResponseUpdatePatient; stdcall;
    function  UpdatePatientPremium(const sesion: WideString; const paciente: RequestUpdatePatient): ResponseUpdatePatient; stdcall;
    function  UpdatePatientWeb(const sesion: WideString; const paciente: RequestUpdatePatient): ResponseUpdatePatient; stdcall;
    function  GetStatementPatientProducts(const Sesion: WideString; const NoTarjeta: WideString): ResponseStatementPatientProducts; stdcall;
    function  GetBonusProduct(const Sesion: WideString; const NoTarjeta: WideString; const Sku: WideString; const Piezas: Int64): ArrayOfResponseBonus; stdcall;
    function  GetBonusProductList(const Sesion: WideString; const NoTarjeta: WideString; const Productos: ArrayOfBonusProductList): ArrayOfResponseBonusList; stdcall;
    function  GetInfoProduct(const Sesion: WideString; const Sku: WideString; const PiezasCompradas: Int64): Articulo; stdcall;
    function  getVersion: WideString; stdcall;
    function  GetPromocionesEspecialesVigentes(const request: GetPromocionesRequest): GetPromocionesResponse0; stdcall;
    function  GetPromocionesEspeciales(const request: GetPromocionesRequest): GetPromocionesResponse; stdcall;
    function  GetInfoFarmacia(const Sesion: WideString; const longitud: WideString; const latitud: WideString; const radio: WideString): ResponseFarmacia; stdcall;
    function  GetInfoEstadoCta(const Sesion: WideString; const membresia: WideString): ResponseEstadoCuentaP; stdcall;
    function  GetInfoPromocionProduct(const Sesion: WideString; const Sku: WideString): GetPromocionCurrentResponse; stdcall;
    function  Create_Sales_Folio_Receta(const Sesion: WideString; const Pedido: Pedido; const Articulos: ArrayOfPedidoArticulos; const FolioReceta: WideString): ResponseSales; stdcall;
    function  UpdateMedicoCompleto(const sesion: WideString; const medico: RequestActivarMedico): ResponseActivaMedico; stdcall;
    function  DesactiveCard(const sesion: WideString; const tarjetapremium: WideString; const idpacpremium: WideString; const tarjetaoro: WideString; const idpacoro: WideString): ResponseUpdatePatient; stdcall;
    function  GetTarjetaVirtual(const Sesion: WideString): ResponseTarjetaV; stdcall;
    function  GetNotificacionMail(const Sesion: WideString; const Modulo: WideString): ResponseMailMod; stdcall;
    function  GetInfoDevolucionProductos(const sesion: WideString; const skuProductos: ArrayOfString): ResponseGetInfoDevolucionesProductos; stdcall;
    function  GetInfoMessages(const sesion: WideString): ResponseGetInfoMessages; stdcall;
    function  GetReposicionesCadena(const Sesion: WideString): ResponseReposiciones; stdcall;
    function  GetReposicionesSucursal(const Sesion: WideString): ResponseReposiciones; stdcall;
    function  TestConnect: Boolean; stdcall;
    function  GetCurpList(const Sesion: WideString; const Nombres: WideString; const ApellidoPaterno: WideString; const ApellidoMaterno: WideString; const Genero: WideString; const Fecha_Nacimiento: TXSDateTime; 
                          const Estado: WideString): ResponseCurpList; stdcall;
    function  Get_MedicoCedula(const Sesion: WideString; const Cedula: WideString): CedulasMedicos; stdcall;
    function  IngresarMedico(const sesion: WideString; const medico: RequestActivarMedico): ResponseActivaMedico; stdcall;
    function  TransferBenef(const sesion: WideString; const tarjetapremium: WideString; const idpacpremium: WideString; const tarjetaoro: WideString; const idpacoro: WideString): ResponseUpdatePatient; stdcall;
    function  TransferVentas(const sesion: WideString; const tarjetapremium: WideString; const idpacpremium: WideString; const tarjetaoro: WideString; const idpacoro: WideString): ResponseUpdatePatient; stdcall;
    function  Get_CATMEDICOS(const Sesion: WideString; const Cedula: WideString): CedulasMedicos; stdcall;
    function  Get_CedulasMedico(const Sesion: WideString; const Cedula: WideString): MedicosCedulas; stdcall;
    function  GetColoniasList(const Sesion: WideString; const cp: WideString): ResponseColoniasList; stdcall;
    function  GetDireccionList(const Sesion: WideString; const cp: WideString): InfoPacientecp; stdcall;
    function  GetEstadosList(const Sesion: WideString): ResponseEstadosList; stdcall;
    function  GetPatientPoints(const Sesion: WideString; const NoTarjeta: WideString): ResponsePoints; stdcall;
    function  GetStatementPatientPoints(const Sesion: WideString; const NoTarjeta: WideString): ResponseStatementPoints; stdcall;
    function  GetProgramaPoints(const Sesion: WideString): ResponseProgramasPoint; stdcall;
    function  GetProductoAcumulan(const Sesion: WideString): ResponseProductosSuman; stdcall;
    function  GetProductoRedimen(const Sesion: WideString): ResponseProductosRedimen; stdcall;
    function  GetInfoProductoPrograma(const Sesion: WideString; const Sku: WideString): ResponseInfoProductosPrograma; stdcall;
  end;

function GetWSCirculodelaSaludSoap(UseWSDL: Boolean=System.False; Addr: string=''; HTTPRIO: THTTPRIO = nil): WSCirculodelaSaludSoap;


implementation
  uses SysUtils;

function GetWSCirculodelaSaludSoap(UseWSDL: Boolean; Addr: string; HTTPRIO: THTTPRIO): WSCirculodelaSaludSoap;
const
  defWSDL = 'http://104.210.149.162/nadro_pruebas/WSCirculodelasalud.asmx?WSDL';
  defURL  = 'http://104.210.149.162/nadro_pruebas/WSCirculodelasalud.asmx';
  defSvc  = 'WSCirculodelaSalud';
  defPrt  = 'WSCirculodelaSaludSoap';
var
  RIO: THTTPRIO;
begin
  Result := nil;
  if (Addr = '') then
  begin
    if UseWSDL then
      Addr := defWSDL
    else
      Addr := defURL;
  end;
  if HTTPRIO = nil then
    RIO := THTTPRIO.Create(nil)
  else
    RIO := HTTPRIO;
  try
    Result := (RIO as WSCirculodelaSaludSoap);
    if UseWSDL then
    begin
      RIO.WSDLLocation := Addr;
      RIO.Service := defSvc;
      RIO.Port := defPrt;
    end else
      RIO.URL := Addr;
  finally
    if (Result = nil) and (HTTPRIO = nil) then
      RIO.Free;
  end;
end;


procedure ResponseLogin.SetMensajeError(Index: Integer; const AWideString: WideString);
begin
  FMensajeError := AWideString;
  FMensajeError_Specified := True;
end;

function ResponseLogin.MensajeError_Specified(Index: Integer): boolean;
begin
  Result := FMensajeError_Specified;
end;

procedure ResponseLogin.SetSesion(Index: Integer; const AWideString: WideString);
begin
  FSesion := AWideString;
  FSesion_Specified := True;
end;

function ResponseLogin.Sesion_Specified(Index: Integer): boolean;
begin
  Result := FSesion_Specified;
end;

procedure ResponseActivateCard.SetMensajeError(Index: Integer; const AWideString: WideString);
begin
  FMensajeError := AWideString;
  FMensajeError_Specified := True;
end;

function ResponseActivateCard.MensajeError_Specified(Index: Integer): boolean;
begin
  Result := FMensajeError_Specified;
end;

procedure ResponseActivateCardWeb.SetMensajeError(Index: Integer; const AWideString: WideString);
begin
  FMensajeError := AWideString;
  FMensajeError_Specified := True;
end;

function ResponseActivateCardWeb.MensajeError_Specified(Index: Integer): boolean;
begin
  Result := FMensajeError_Specified;
end;

procedure ResponseActivateCardWeb.Setpass(Index: Integer; const AWideString: WideString);
begin
  Fpass := AWideString;
  Fpass_Specified := True;
end;

function ResponseActivateCardWeb.pass_Specified(Index: Integer): boolean;
begin
  Result := Fpass_Specified;
end;

procedure RequestActivarMedico.Setcedula(Index: Integer; const AWideString: WideString);
begin
  Fcedula := AWideString;
  Fcedula_Specified := True;
end;

function RequestActivarMedico.cedula_Specified(Index: Integer): boolean;
begin
  Result := Fcedula_Specified;
end;

procedure RequestActivarMedico.Setnombre(Index: Integer; const AWideString: WideString);
begin
  Fnombre := AWideString;
  Fnombre_Specified := True;
end;

function RequestActivarMedico.nombre_Specified(Index: Integer): boolean;
begin
  Result := Fnombre_Specified;
end;

procedure RequestActivarMedico.Setapellidopaterno(Index: Integer; const AWideString: WideString);
begin
  Fapellidopaterno := AWideString;
  Fapellidopaterno_Specified := True;
end;

function RequestActivarMedico.apellidopaterno_Specified(Index: Integer): boolean;
begin
  Result := Fapellidopaterno_Specified;
end;

procedure RequestActivarMedico.Setapellidomaterno(Index: Integer; const AWideString: WideString);
begin
  Fapellidomaterno := AWideString;
  Fapellidomaterno_Specified := True;
end;

function RequestActivarMedico.apellidomaterno_Specified(Index: Integer): boolean;
begin
  Result := Fapellidomaterno_Specified;
end;

procedure RequestActivarMedico.Setespecialidad(Index: Integer; const AWideString: WideString);
begin
  Fespecialidad := AWideString;
  Fespecialidad_Specified := True;
end;

function RequestActivarMedico.especialidad_Specified(Index: Integer): boolean;
begin
  Result := Fespecialidad_Specified;
end;

procedure RequestActivarMedico.Setdireccion(Index: Integer; const AWideString: WideString);
begin
  Fdireccion := AWideString;
  Fdireccion_Specified := True;
end;

function RequestActivarMedico.direccion_Specified(Index: Integer): boolean;
begin
  Result := Fdireccion_Specified;
end;

procedure RequestActivarMedico.Setcodigopostal(Index: Integer; const AWideString: WideString);
begin
  Fcodigopostal := AWideString;
  Fcodigopostal_Specified := True;
end;

function RequestActivarMedico.codigopostal_Specified(Index: Integer): boolean;
begin
  Result := Fcodigopostal_Specified;
end;

procedure RequestActivarMedico.Setcolonia(Index: Integer; const AWideString: WideString);
begin
  Fcolonia := AWideString;
  Fcolonia_Specified := True;
end;

function RequestActivarMedico.colonia_Specified(Index: Integer): boolean;
begin
  Result := Fcolonia_Specified;
end;

procedure RequestActivarMedico.Setmunicipio(Index: Integer; const AWideString: WideString);
begin
  Fmunicipio := AWideString;
  Fmunicipio_Specified := True;
end;

function RequestActivarMedico.municipio_Specified(Index: Integer): boolean;
begin
  Result := Fmunicipio_Specified;
end;

procedure RequestActivarMedico.Setciudad(Index: Integer; const AWideString: WideString);
begin
  Fciudad := AWideString;
  Fciudad_Specified := True;
end;

function RequestActivarMedico.ciudad_Specified(Index: Integer): boolean;
begin
  Result := Fciudad_Specified;
end;

procedure RequestActivarMedico.Setestado(Index: Integer; const AWideString: WideString);
begin
  Festado := AWideString;
  Festado_Specified := True;
end;

function RequestActivarMedico.estado_Specified(Index: Integer): boolean;
begin
  Result := Festado_Specified;
end;

procedure RequestActivarMedico.Setsexo(Index: Integer; const AWideString: WideString);
begin
  Fsexo := AWideString;
  Fsexo_Specified := True;
end;

function RequestActivarMedico.sexo_Specified(Index: Integer): boolean;
begin
  Result := Fsexo_Specified;
end;

procedure RequestActivarMedico.Settelefono(Index: Integer; const AWideString: WideString);
begin
  Ftelefono := AWideString;
  Ftelefono_Specified := True;
end;

function RequestActivarMedico.telefono_Specified(Index: Integer): boolean;
begin
  Result := Ftelefono_Specified;
end;

procedure RequestActivarMedico.Setcelular(Index: Integer; const AWideString: WideString);
begin
  Fcelular := AWideString;
  Fcelular_Specified := True;
end;

function RequestActivarMedico.celular_Specified(Index: Integer): boolean;
begin
  Result := Fcelular_Specified;
end;

procedure RequestActivarMedico.Setmail(Index: Integer; const AWideString: WideString);
begin
  Fmail := AWideString;
  Fmail_Specified := True;
end;

function RequestActivarMedico.mail_Specified(Index: Integer): boolean;
begin
  Result := Fmail_Specified;
end;

procedure ResponseActivaMedico.SetMensajeError(Index: Integer; const AWideString: WideString);
begin
  FMensajeError := AWideString;
  FMensajeError_Specified := True;
end;

function ResponseActivaMedico.MensajeError_Specified(Index: Integer): boolean;
begin
  Result := FMensajeError_Specified;
end;

procedure ResponseInfoProductCard.SetSku(Index: Integer; const AWideString: WideString);
begin
  FSku := AWideString;
  FSku_Specified := True;
end;

function ResponseInfoProductCard.Sku_Specified(Index: Integer): boolean;
begin
  Result := FSku_Specified;
end;

procedure ResponseInfoProductCard.SetSkuGratis(Index: Integer; const AWideString: WideString);
begin
  FSkuGratis := AWideString;
  FSkuGratis_Specified := True;
end;

function ResponseInfoProductCard.SkuGratis_Specified(Index: Integer): boolean;
begin
  Result := FSkuGratis_Specified;
end;

procedure ResponseInfoProductCard.SetMensajeError(Index: Integer; const AWideString: WideString);
begin
  FMensajeError := AWideString;
  FMensajeError_Specified := True;
end;

function ResponseInfoProductCard.MensajeError_Specified(Index: Integer): boolean;
begin
  Result := FMensajeError_Specified;
end;

destructor Tarjeta.Destroy;
begin
  FreeAndNil(Ffecha_registro);
  FreeAndNil(Ffecha_asignacion);
  FreeAndNil(Ffecha_activacion);
  FreeAndNil(Ffecha_vigencia);
  FreeAndNil(Fcliente);
  inherited Destroy;
end;

procedure Tarjeta.Setfolio(Index: Integer; const AWideString: WideString);
begin
  Ffolio := AWideString;
  Ffolio_Specified := True;
end;

function Tarjeta.folio_Specified(Index: Integer): boolean;
begin
  Result := Ffolio_Specified;
end;

procedure Tarjeta.Setfolio_codigo(Index: Integer; const AWideString: WideString);
begin
  Ffolio_codigo := AWideString;
  Ffolio_codigo_Specified := True;
end;

function Tarjeta.folio_codigo_Specified(Index: Integer): boolean;
begin
  Result := Ffolio_codigo_Specified;
end;

procedure Tarjeta.Setid_usuario(Index: Integer; const AWideString: WideString);
begin
  Fid_usuario := AWideString;
  Fid_usuario_Specified := True;
end;

function Tarjeta.id_usuario_Specified(Index: Integer): boolean;
begin
  Result := Fid_usuario_Specified;
end;

procedure Tarjeta.Setcliente(Index: Integer; const ACliente: Cliente);
begin
  Fcliente := ACliente;
  Fcliente_Specified := True;
end;

function Tarjeta.cliente_Specified(Index: Integer): boolean;
begin
  Result := Fcliente_Specified;
end;

procedure Tarjeta.SetMensajeError(Index: Integer; const AWideString: WideString);
begin
  FMensajeError := AWideString;
  FMensajeError_Specified := True;
end;

function Tarjeta.MensajeError_Specified(Index: Integer): boolean;
begin
  Result := FMensajeError_Specified;
end;

procedure Cliente.SetNombre(Index: Integer; const AWideString: WideString);
begin
  FNombre := AWideString;
  FNombre_Specified := True;
end;

function Cliente.Nombre_Specified(Index: Integer): boolean;
begin
  Result := FNombre_Specified;
end;

procedure Cliente.SetApellidoMaterno(Index: Integer; const AWideString: WideString);
begin
  FApellidoMaterno := AWideString;
  FApellidoMaterno_Specified := True;
end;

function Cliente.ApellidoMaterno_Specified(Index: Integer): boolean;
begin
  Result := FApellidoMaterno_Specified;
end;

procedure Cliente.SetApellidoPaterno(Index: Integer; const AWideString: WideString);
begin
  FApellidoPaterno := AWideString;
  FApellidoPaterno_Specified := True;
end;

function Cliente.ApellidoPaterno_Specified(Index: Integer): boolean;
begin
  Result := FApellidoPaterno_Specified;
end;

procedure TarjetaVenta.SetMensajeError(Index: Integer; const AWideString: WideString);
begin
  FMensajeError := AWideString;
  FMensajeError_Specified := True;
end;

function TarjetaVenta.MensajeError_Specified(Index: Integer): boolean;
begin
  Result := FMensajeError_Specified;
end;

destructor InfoPaciente.Destroy;
begin
  FreeAndNil(Ffechanacimiento);
  inherited Destroy;
end;

procedure InfoPaciente.Setmembresia(Index: Integer; const AWideString: WideString);
begin
  Fmembresia := AWideString;
  Fmembresia_Specified := True;
end;

function InfoPaciente.membresia_Specified(Index: Integer): boolean;
begin
  Result := Fmembresia_Specified;
end;

procedure InfoPaciente.Setapellidopaterno(Index: Integer; const AWideString: WideString);
begin
  Fapellidopaterno := AWideString;
  Fapellidopaterno_Specified := True;
end;

function InfoPaciente.apellidopaterno_Specified(Index: Integer): boolean;
begin
  Result := Fapellidopaterno_Specified;
end;

procedure InfoPaciente.Setapellidomaterno(Index: Integer; const AWideString: WideString);
begin
  Fapellidomaterno := AWideString;
  Fapellidomaterno_Specified := True;
end;

function InfoPaciente.apellidomaterno_Specified(Index: Integer): boolean;
begin
  Result := Fapellidomaterno_Specified;
end;

procedure InfoPaciente.Setnombre(Index: Integer; const AWideString: WideString);
begin
  Fnombre := AWideString;
  Fnombre_Specified := True;
end;

function InfoPaciente.nombre_Specified(Index: Integer): boolean;
begin
  Result := Fnombre_Specified;
end;

procedure InfoPaciente.Setdireccion(Index: Integer; const AWideString: WideString);
begin
  Fdireccion := AWideString;
  Fdireccion_Specified := True;
end;

function InfoPaciente.direccion_Specified(Index: Integer): boolean;
begin
  Result := Fdireccion_Specified;
end;

procedure InfoPaciente.Setcolonia(Index: Integer; const AWideString: WideString);
begin
  Fcolonia := AWideString;
  Fcolonia_Specified := True;
end;

function InfoPaciente.colonia_Specified(Index: Integer): boolean;
begin
  Result := Fcolonia_Specified;
end;

procedure InfoPaciente.Setcodigopostal(Index: Integer; const AWideString: WideString);
begin
  Fcodigopostal := AWideString;
  Fcodigopostal_Specified := True;
end;

function InfoPaciente.codigopostal_Specified(Index: Integer): boolean;
begin
  Result := Fcodigopostal_Specified;
end;

procedure InfoPaciente.Setciudad(Index: Integer; const AWideString: WideString);
begin
  Fciudad := AWideString;
  Fciudad_Specified := True;
end;

function InfoPaciente.ciudad_Specified(Index: Integer): boolean;
begin
  Result := Fciudad_Specified;
end;

procedure InfoPaciente.Setestado(Index: Integer; const AWideString: WideString);
begin
  Festado := AWideString;
  Festado_Specified := True;
end;

function InfoPaciente.estado_Specified(Index: Integer): boolean;
begin
  Result := Festado_Specified;
end;

procedure InfoPaciente.Setsexo(Index: Integer; const AWideString: WideString);
begin
  Fsexo := AWideString;
  Fsexo_Specified := True;
end;

function InfoPaciente.sexo_Specified(Index: Integer): boolean;
begin
  Result := Fsexo_Specified;
end;

procedure InfoPaciente.Setestadocivil(Index: Integer; const AWideString: WideString);
begin
  Festadocivil := AWideString;
  Festadocivil_Specified := True;
end;

function InfoPaciente.estadocivil_Specified(Index: Integer): boolean;
begin
  Result := Festadocivil_Specified;
end;

procedure InfoPaciente.Settelefono(Index: Integer; const AWideString: WideString);
begin
  Ftelefono := AWideString;
  Ftelefono_Specified := True;
end;

function InfoPaciente.telefono_Specified(Index: Integer): boolean;
begin
  Result := Ftelefono_Specified;
end;

procedure InfoPaciente.Setcelular(Index: Integer; const AWideString: WideString);
begin
  Fcelular := AWideString;
  Fcelular_Specified := True;
end;

function InfoPaciente.celular_Specified(Index: Integer): boolean;
begin
  Result := Fcelular_Specified;
end;

procedure InfoPaciente.Setemail(Index: Integer; const AWideString: WideString);
begin
  Femail := AWideString;
  Femail_Specified := True;
end;

function InfoPaciente.email_Specified(Index: Integer): boolean;
begin
  Result := Femail_Specified;
end;

procedure InfoPaciente.Setid(Index: Integer; const AWideString: WideString);
begin
  Fid := AWideString;
  Fid_Specified := True;
end;

function InfoPaciente.id_Specified(Index: Integer): boolean;
begin
  Result := Fid_Specified;
end;

procedure InfoPaciente.SetMensajeError(Index: Integer; const AWideString: WideString);
begin
  FMensajeError := AWideString;
  FMensajeError_Specified := True;
end;

function InfoPaciente.MensajeError_Specified(Index: Integer): boolean;
begin
  Result := FMensajeError_Specified;
end;

procedure RequestUpdatePatient.SetMembresia(Index: Integer; const AWideString: WideString);
begin
  FMembresia := AWideString;
  FMembresia_Specified := True;
end;

function RequestUpdatePatient.Membresia_Specified(Index: Integer): boolean;
begin
  Result := FMembresia_Specified;
end;

procedure RequestUpdatePatient.SetApellidoPaterno(Index: Integer; const AWideString: WideString);
begin
  FApellidoPaterno := AWideString;
  FApellidoPaterno_Specified := True;
end;

function RequestUpdatePatient.ApellidoPaterno_Specified(Index: Integer): boolean;
begin
  Result := FApellidoPaterno_Specified;
end;

procedure RequestUpdatePatient.SetApellidoMaterno(Index: Integer; const AWideString: WideString);
begin
  FApellidoMaterno := AWideString;
  FApellidoMaterno_Specified := True;
end;

function RequestUpdatePatient.ApellidoMaterno_Specified(Index: Integer): boolean;
begin
  Result := FApellidoMaterno_Specified;
end;

procedure RequestUpdatePatient.SetNombre(Index: Integer; const AWideString: WideString);
begin
  FNombre := AWideString;
  FNombre_Specified := True;
end;

function RequestUpdatePatient.Nombre_Specified(Index: Integer): boolean;
begin
  Result := FNombre_Specified;
end;

procedure RequestUpdatePatient.SetDireccion(Index: Integer; const AWideString: WideString);
begin
  FDireccion := AWideString;
  FDireccion_Specified := True;
end;

function RequestUpdatePatient.Direccion_Specified(Index: Integer): boolean;
begin
  Result := FDireccion_Specified;
end;

procedure RequestUpdatePatient.SetColonia(Index: Integer; const AWideString: WideString);
begin
  FColonia := AWideString;
  FColonia_Specified := True;
end;

function RequestUpdatePatient.Colonia_Specified(Index: Integer): boolean;
begin
  Result := FColonia_Specified;
end;

procedure RequestUpdatePatient.SetCodigoPostal(Index: Integer; const AWideString: WideString);
begin
  FCodigoPostal := AWideString;
  FCodigoPostal_Specified := True;
end;

function RequestUpdatePatient.CodigoPostal_Specified(Index: Integer): boolean;
begin
  Result := FCodigoPostal_Specified;
end;

procedure RequestUpdatePatient.SetCiudad(Index: Integer; const AWideString: WideString);
begin
  FCiudad := AWideString;
  FCiudad_Specified := True;
end;

function RequestUpdatePatient.Ciudad_Specified(Index: Integer): boolean;
begin
  Result := FCiudad_Specified;
end;

procedure RequestUpdatePatient.SetEstado(Index: Integer; const AWideString: WideString);
begin
  FEstado := AWideString;
  FEstado_Specified := True;
end;

function RequestUpdatePatient.Estado_Specified(Index: Integer): boolean;
begin
  Result := FEstado_Specified;
end;

procedure RequestUpdatePatient.SetRfc(Index: Integer; const AWideString: WideString);
begin
  FRfc := AWideString;
  FRfc_Specified := True;
end;

function RequestUpdatePatient.Rfc_Specified(Index: Integer): boolean;
begin
  Result := FRfc_Specified;
end;

procedure RequestUpdatePatient.SetCurp(Index: Integer; const AWideString: WideString);
begin
  FCurp := AWideString;
  FCurp_Specified := True;
end;

function RequestUpdatePatient.Curp_Specified(Index: Integer): boolean;
begin
  Result := FCurp_Specified;
end;

procedure RequestUpdatePatient.SetSexo(Index: Integer; const AWideString: WideString);
begin
  FSexo := AWideString;
  FSexo_Specified := True;
end;

function RequestUpdatePatient.Sexo_Specified(Index: Integer): boolean;
begin
  Result := FSexo_Specified;
end;

procedure RequestUpdatePatient.SetEstadoCivil(Index: Integer; const AWideString: WideString);
begin
  FEstadoCivil := AWideString;
  FEstadoCivil_Specified := True;
end;

function RequestUpdatePatient.EstadoCivil_Specified(Index: Integer): boolean;
begin
  Result := FEstadoCivil_Specified;
end;

procedure RequestUpdatePatient.SetFechaNacimiento(Index: Integer; const AWideString: WideString);
begin
  FFechaNacimiento := AWideString;
  FFechaNacimiento_Specified := True;
end;

function RequestUpdatePatient.FechaNacimiento_Specified(Index: Integer): boolean;
begin
  Result := FFechaNacimiento_Specified;
end;

procedure RequestUpdatePatient.SetTelefono(Index: Integer; const AWideString: WideString);
begin
  FTelefono := AWideString;
  FTelefono_Specified := True;
end;

function RequestUpdatePatient.Telefono_Specified(Index: Integer): boolean;
begin
  Result := FTelefono_Specified;
end;

procedure RequestUpdatePatient.SetCelular(Index: Integer; const AWideString: WideString);
begin
  FCelular := AWideString;
  FCelular_Specified := True;
end;

function RequestUpdatePatient.Celular_Specified(Index: Integer): boolean;
begin
  Result := FCelular_Specified;
end;

procedure RequestUpdatePatient.SetEmail(Index: Integer; const AWideString: WideString);
begin
  FEmail := AWideString;
  FEmail_Specified := True;
end;

function RequestUpdatePatient.Email_Specified(Index: Integer): boolean;
begin
  Result := FEmail_Specified;
end;

procedure ResponseUpdatePatient.SetMensajeError(Index: Integer; const AWideString: WideString);
begin
  FMensajeError := AWideString;
  FMensajeError_Specified := True;
end;

function ResponseUpdatePatient.MensajeError_Specified(Index: Integer): boolean;
begin
  Result := FMensajeError_Specified;
end;

destructor ResponseStatementPatientProducts.Destroy;
var
  I: Integer;
begin
  for I := 0 to Length(FDetalles)-1 do
    FreeAndNil(FDetalles[I]);
  SetLength(FDetalles, 0);
  inherited Destroy;
end;

procedure ResponseStatementPatientProducts.SetDetalles(Index: Integer; const AArrayOfDetalleCompras: ArrayOfDetalleCompras);
begin
  FDetalles := AArrayOfDetalleCompras;
  FDetalles_Specified := True;
end;

function ResponseStatementPatientProducts.Detalles_Specified(Index: Integer): boolean;
begin
  Result := FDetalles_Specified;
end;

procedure ResponseStatementPatientProducts.SetMensaje(Index: Integer; const AWideString: WideString);
begin
  FMensaje := AWideString;
  FMensaje_Specified := True;
end;

function ResponseStatementPatientProducts.Mensaje_Specified(Index: Integer): boolean;
begin
  Result := FMensaje_Specified;
end;

procedure DetalleCompras.SetFecha(Index: Integer; const AWideString: WideString);
begin
  FFecha := AWideString;
  FFecha_Specified := True;
end;

function DetalleCompras.Fecha_Specified(Index: Integer): boolean;
begin
  Result := FFecha_Specified;
end;

procedure DetalleCompras.SetFarmacia(Index: Integer; const AWideString: WideString);
begin
  FFarmacia := AWideString;
  FFarmacia_Specified := True;
end;

function DetalleCompras.Farmacia_Specified(Index: Integer): boolean;
begin
  Result := FFarmacia_Specified;
end;

procedure DetalleCompras.SetCodigo(Index: Integer; const AWideString: WideString);
begin
  FCodigo := AWideString;
  FCodigo_Specified := True;
end;

function DetalleCompras.Codigo_Specified(Index: Integer): boolean;
begin
  Result := FCodigo_Specified;
end;

procedure DetalleCompras.SetPresentacion(Index: Integer; const AWideString: WideString);
begin
  FPresentacion := AWideString;
  FPresentacion_Specified := True;
end;

function DetalleCompras.Presentacion_Specified(Index: Integer): boolean;
begin
  Result := FPresentacion_Specified;
end;

procedure DetalleCompras.SetPiezasCompradas(Index: Integer; const AWideString: WideString);
begin
  FPiezasCompradas := AWideString;
  FPiezasCompradas_Specified := True;
end;

function DetalleCompras.PiezasCompradas_Specified(Index: Integer): boolean;
begin
  Result := FPiezasCompradas_Specified;
end;

procedure DetalleCompras.SetObsequiosEntregados(Index: Integer; const AWideString: WideString);
begin
  FObsequiosEntregados := AWideString;
  FObsequiosEntregados_Specified := True;
end;

function DetalleCompras.ObsequiosEntregados_Specified(Index: Integer): boolean;
begin
  Result := FObsequiosEntregados_Specified;
end;

procedure DetalleCompras.SetObsequiosPendientes(Index: Integer; const AWideString: WideString);
begin
  FObsequiosPendientes := AWideString;
  FObsequiosPendientes_Specified := True;
end;

function DetalleCompras.ObsequiosPendientes_Specified(Index: Integer): boolean;
begin
  Result := FObsequiosPendientes_Specified;
end;

procedure DetalleCompras.SetDescuentosMonto(Index: Integer; const AWideString: WideString);
begin
  FDescuentosMonto := AWideString;
  FDescuentosMonto_Specified := True;
end;

function DetalleCompras.DescuentosMonto_Specified(Index: Integer): boolean;
begin
  Result := FDescuentosMonto_Specified;
end;

procedure DetalleCompras.SetDescuentosPorcentaje(Index: Integer; const AWideString: WideString);
begin
  FDescuentosPorcentaje := AWideString;
  FDescuentosPorcentaje_Specified := True;
end;

function DetalleCompras.DescuentosPorcentaje_Specified(Index: Integer): boolean;
begin
  Result := FDescuentosPorcentaje_Specified;
end;

procedure DetalleCompras.SetPrograma(Index: Integer; const AWideString: WideString);
begin
  FPrograma := AWideString;
  FPrograma_Specified := True;
end;

function DetalleCompras.Programa_Specified(Index: Integer): boolean;
begin
  Result := FPrograma_Specified;
end;

destructor ResponseBonus.Destroy;
begin
  FreeAndNil(FMontoDescuento);
  FreeAndNil(FPrecioFijo);
  FreeAndNil(FEfectivoxPunto);
  inherited Destroy;
end;

procedure ResponseBonus.SetSku(Index: Integer; const AWideString: WideString);
begin
  FSku := AWideString;
  FSku_Specified := True;
end;

function ResponseBonus.Sku_Specified(Index: Integer): boolean;
begin
  Result := FSku_Specified;
end;

procedure ResponseBonus.SetMensajeError(Index: Integer; const AWideString: WideString);
begin
  FMensajeError := AWideString;
  FMensajeError_Specified := True;
end;

function ResponseBonus.MensajeError_Specified(Index: Integer): boolean;
begin
  Result := FMensajeError_Specified;
end;

procedure BonusProductList.SetSku(Index: Integer; const AWideString: WideString);
begin
  FSku := AWideString;
  FSku_Specified := True;
end;

function BonusProductList.Sku_Specified(Index: Integer): boolean;
begin
  Result := FSku_Specified;
end;

destructor Articulo.Destroy;
begin
  FreeAndNil(Ffechaalta);
  FreeAndNil(Ffechavigencia);
  FreeAndNil(Fpreciodistribuidor);
  FreeAndNil(Fpreciodesc);
  FreeAndNil(Ffechainiciooferteo);
  FreeAndNil(Ffechafinoferteo);
  FreeAndNil(Ffecha_create);
  FreeAndNil(FOferteoProducto);
  inherited Destroy;
end;

procedure Articulo.Setcodigo(Index: Integer; const AWideString: WideString);
begin
  Fcodigo := AWideString;
  Fcodigo_Specified := True;
end;

function Articulo.codigo_Specified(Index: Integer): boolean;
begin
  Result := Fcodigo_Specified;
end;

procedure Articulo.Setcodigoalterno(Index: Integer; const AWideString: WideString);
begin
  Fcodigoalterno := AWideString;
  Fcodigoalterno_Specified := True;
end;

function Articulo.codigoalterno_Specified(Index: Integer): boolean;
begin
  Result := Fcodigoalterno_Specified;
end;

procedure Articulo.SetcodigoEAN(Index: Integer; const AWideString: WideString);
begin
  FcodigoEAN := AWideString;
  FcodigoEAN_Specified := True;
end;

function Articulo.codigoEAN_Specified(Index: Integer): boolean;
begin
  Result := FcodigoEAN_Specified;
end;

procedure Articulo.Setdescripcioncorto(Index: Integer; const AWideString: WideString);
begin
  Fdescripcioncorto := AWideString;
  Fdescripcioncorto_Specified := True;
end;

function Articulo.descripcioncorto_Specified(Index: Integer): boolean;
begin
  Result := Fdescripcioncorto_Specified;
end;

procedure Articulo.Setdescripcionlarga(Index: Integer; const AWideString: WideString);
begin
  Fdescripcionlarga := AWideString;
  Fdescripcionlarga_Specified := True;
end;

function Articulo.descripcionlarga_Specified(Index: Integer): boolean;
begin
  Result := Fdescripcionlarga_Specified;
end;

procedure Articulo.Setlaboratorio(Index: Integer; const AWideString: WideString);
begin
  Flaboratorio := AWideString;
  Flaboratorio_Specified := True;
end;

function Articulo.laboratorio_Specified(Index: Integer): boolean;
begin
  Result := Flaboratorio_Specified;
end;

procedure Articulo.Setmarca(Index: Integer; const AWideString: WideString);
begin
  Fmarca := AWideString;
  Fmarca_Specified := True;
end;

function Articulo.marca_Specified(Index: Integer): boolean;
begin
  Result := Fmarca_Specified;
end;

procedure Articulo.Setusuario_create(Index: Integer; const AWideString: WideString);
begin
  Fusuario_create := AWideString;
  Fusuario_create_Specified := True;
end;

function Articulo.usuario_create_Specified(Index: Integer): boolean;
begin
  Result := Fusuario_create_Specified;
end;

procedure Articulo.SetOferteoProducto(Index: Integer; const AOferteoProducto: OferteoProducto);
begin
  FOferteoProducto := AOferteoProducto;
  FOferteoProducto_Specified := True;
end;

function Articulo.OferteoProducto_Specified(Index: Integer): boolean;
begin
  Result := FOferteoProducto_Specified;
end;

procedure Articulo.SetMensajeError(Index: Integer; const AWideString: WideString);
begin
  FMensajeError := AWideString;
  FMensajeError_Specified := True;
end;

function Articulo.MensajeError_Specified(Index: Integer): boolean;
begin
  Result := FMensajeError_Specified;
end;

destructor OferteoProducto.Destroy;
begin
  FreeAndNil(FFechaInicio);
  FreeAndNil(FFechaFin);
  FreeAndNil(FPrecioFijo);
  FreeAndNil(FPrecioPuntos);
  FreeAndNil(FMontoDescuento);
  inherited Destroy;
end;

procedure OferteoProducto.SetCodigo(Index: Integer; const AWideString: WideString);
begin
  FCodigo := AWideString;
  FCodigo_Specified := True;
end;

function OferteoProducto.Codigo_Specified(Index: Integer): boolean;
begin
  Result := FCodigo_Specified;
end;

procedure OferteoProducto.SetDescripcion(Index: Integer; const AWideString: WideString);
begin
  FDescripcion := AWideString;
  FDescripcion_Specified := True;
end;

function OferteoProducto.Descripcion_Specified(Index: Integer): boolean;
begin
  Result := FDescripcion_Specified;
end;

procedure OferteoProducto.SetMensajeError(Index: Integer; const AWideString: WideString);
begin
  FMensajeError := AWideString;
  FMensajeError_Specified := True;
end;

function OferteoProducto.MensajeError_Specified(Index: Integer): boolean;
begin
  Result := FMensajeError_Specified;
end;

procedure OferteoProducto.SetSkuObsequio(Index: Integer; const AWideString: WideString);
begin
  FSkuObsequio := AWideString;
  FSkuObsequio_Specified := True;
end;

function OferteoProducto.SkuObsequio_Specified(Index: Integer): boolean;
begin
  Result := FSkuObsequio_Specified;
end;

procedure GetPromocionesRequest.SetUsuario(Index: Integer; const AWideString: WideString);
begin
  FUsuario := AWideString;
  FUsuario_Specified := True;
end;

function GetPromocionesRequest.Usuario_Specified(Index: Integer): boolean;
begin
  Result := FUsuario_Specified;
end;

procedure GetPromocionesRequest.SetPassword(Index: Integer; const AWideString: WideString);
begin
  FPassword := AWideString;
  FPassword_Specified := True;
end;

function GetPromocionesRequest.Password_Specified(Index: Integer): boolean;
begin
  Result := FPassword_Specified;
end;

procedure GetPromocionesRequest.SetCodigoCadena(Index: Integer; const AWideString: WideString);
begin
  FCodigoCadena := AWideString;
  FCodigoCadena_Specified := True;
end;

function GetPromocionesRequest.CodigoCadena_Specified(Index: Integer): boolean;
begin
  Result := FCodigoCadena_Specified;
end;

destructor GetPromocionesResponse0.Destroy;
var
  I: Integer;
begin
  for I := 0 to Length(FPromociones)-1 do
    FreeAndNil(FPromociones[I]);
  SetLength(FPromociones, 0);
  inherited Destroy;
end;

procedure GetPromocionesResponse0.SetErrorMessage(Index: Integer; const AWideString: WideString);
begin
  FErrorMessage := AWideString;
  FErrorMessage_Specified := True;
end;

function GetPromocionesResponse0.ErrorMessage_Specified(Index: Integer): boolean;
begin
  Result := FErrorMessage_Specified;
end;

procedure GetPromocionesResponse0.SetPromociones(Index: Integer; const AArrayOfPromocion0: ArrayOfPromocion0);
begin
  FPromociones := AArrayOfPromocion0;
  FPromociones_Specified := True;
end;

function GetPromocionesResponse0.Promociones_Specified(Index: Integer): boolean;
begin
  Result := FPromociones_Specified;
end;

destructor Promocion0.Destroy;
begin
  FreeAndNil(FPorcentajeDescto);
  FreeAndNil(FPrecioFijo);
  FreeAndNil(FMontoDescto);
  inherited Destroy;
end;

procedure Promocion0.SetSku(Index: Integer; const AWideString: WideString);
begin
  FSku := AWideString;
  FSku_Specified := True;
end;

function Promocion0.Sku_Specified(Index: Integer): boolean;
begin
  Result := FSku_Specified;
end;

procedure Promocion0.SetPresentacion(Index: Integer; const AWideString: WideString);
begin
  FPresentacion := AWideString;
  FPresentacion_Specified := True;
end;

function Promocion0.Presentacion_Specified(Index: Integer): boolean;
begin
  Result := FPresentacion_Specified;
end;

procedure Promocion0.SetNombrePromocion(Index: Integer; const AWideString: WideString);
begin
  FNombrePromocion := AWideString;
  FNombrePromocion_Specified := True;
end;

function Promocion0.NombrePromocion_Specified(Index: Integer): boolean;
begin
  Result := FNombrePromocion_Specified;
end;

procedure Promocion0.SetFechaInicio(Index: Integer; const AWideString: WideString);
begin
  FFechaInicio := AWideString;
  FFechaInicio_Specified := True;
end;

function Promocion0.FechaInicio_Specified(Index: Integer): boolean;
begin
  Result := FFechaInicio_Specified;
end;

procedure Promocion0.SetFechaFin(Index: Integer; const AWideString: WideString);
begin
  FFechaFin := AWideString;
  FFechaFin_Specified := True;
end;

function Promocion0.FechaFin_Specified(Index: Integer): boolean;
begin
  Result := FFechaFin_Specified;
end;

procedure Promocion0.SetTipoPromocion(Index: Integer; const AWideString: WideString);
begin
  FTipoPromocion := AWideString;
  FTipoPromocion_Specified := True;
end;

function Promocion0.TipoPromocion_Specified(Index: Integer): boolean;
begin
  Result := FTipoPromocion_Specified;
end;

procedure Promocion0.SetPoliticas(Index: Integer; const AWideString: WideString);
begin
  FPoliticas := AWideString;
  FPoliticas_Specified := True;
end;

function Promocion0.Politicas_Specified(Index: Integer): boolean;
begin
  Result := FPoliticas_Specified;
end;

destructor GetPromocionesResponse.Destroy;
var
  I: Integer;
begin
  for I := 0 to Length(FPromociones)-1 do
    FreeAndNil(FPromociones[I]);
  SetLength(FPromociones, 0);
  inherited Destroy;
end;

procedure GetPromocionesResponse.SetErrorMessage(Index: Integer; const AWideString: WideString);
begin
  FErrorMessage := AWideString;
  FErrorMessage_Specified := True;
end;

function GetPromocionesResponse.ErrorMessage_Specified(Index: Integer): boolean;
begin
  Result := FErrorMessage_Specified;
end;

procedure GetPromocionesResponse.SetPromociones(Index: Integer; const AArrayOfPromocion: ArrayOfPromocion);
begin
  FPromociones := AArrayOfPromocion;
  FPromociones_Specified := True;
end;

function GetPromocionesResponse.Promociones_Specified(Index: Integer): boolean;
begin
  Result := FPromociones_Specified;
end;

procedure Promocion.SetSku(Index: Integer; const AWideString: WideString);
begin
  FSku := AWideString;
  FSku_Specified := True;
end;

function Promocion.Sku_Specified(Index: Integer): boolean;
begin
  Result := FSku_Specified;
end;

procedure Promocion.SetPresentacion(Index: Integer; const AWideString: WideString);
begin
  FPresentacion := AWideString;
  FPresentacion_Specified := True;
end;

function Promocion.Presentacion_Specified(Index: Integer): boolean;
begin
  Result := FPresentacion_Specified;
end;

procedure Promocion.SetNombrePromocion(Index: Integer; const AWideString: WideString);
begin
  FNombrePromocion := AWideString;
  FNombrePromocion_Specified := True;
end;

function Promocion.NombrePromocion_Specified(Index: Integer): boolean;
begin
  Result := FNombrePromocion_Specified;
end;

procedure Promocion.SetFechaFin(Index: Integer; const AWideString: WideString);
begin
  FFechaFin := AWideString;
  FFechaFin_Specified := True;
end;

function Promocion.FechaFin_Specified(Index: Integer): boolean;
begin
  Result := FFechaFin_Specified;
end;

procedure Promocion.SetTipoPromocion(Index: Integer; const AWideString: WideString);
begin
  FTipoPromocion := AWideString;
  FTipoPromocion_Specified := True;
end;

function Promocion.TipoPromocion_Specified(Index: Integer): boolean;
begin
  Result := FTipoPromocion_Specified;
end;

procedure Promocion.SetPoliticas(Index: Integer; const AWideString: WideString);
begin
  FPoliticas := AWideString;
  FPoliticas_Specified := True;
end;

function Promocion.Politicas_Specified(Index: Integer): boolean;
begin
  Result := FPoliticas_Specified;
end;

destructor ResponseFarmacia.Destroy;
var
  I: Integer;
begin
  for I := 0 to Length(FListado)-1 do
    FreeAndNil(FListado[I]);
  SetLength(FListado, 0);
  inherited Destroy;
end;

procedure ResponseFarmacia.SetMensaje(Index: Integer; const AWideString: WideString);
begin
  FMensaje := AWideString;
  FMensaje_Specified := True;
end;

function ResponseFarmacia.Mensaje_Specified(Index: Integer): boolean;
begin
  Result := FMensaje_Specified;
end;

procedure ResponseFarmacia.SetListado(Index: Integer; const AArrayOfFarmacia: ArrayOfFarmacia);
begin
  FListado := AArrayOfFarmacia;
  FListado_Specified := True;
end;

function ResponseFarmacia.Listado_Specified(Index: Integer): boolean;
begin
  Result := FListado_Specified;
end;

procedure Farmacia.Setnombrecomercial(Index: Integer; const AWideString: WideString);
begin
  Fnombrecomercial := AWideString;
  Fnombrecomercial_Specified := True;
end;

function Farmacia.nombrecomercial_Specified(Index: Integer): boolean;
begin
  Result := Fnombrecomercial_Specified;
end;

procedure Farmacia.Setnombresucursal(Index: Integer; const AWideString: WideString);
begin
  Fnombresucursal := AWideString;
  Fnombresucursal_Specified := True;
end;

function Farmacia.nombresucursal_Specified(Index: Integer): boolean;
begin
  Result := Fnombresucursal_Specified;
end;

procedure Farmacia.Setdireccion(Index: Integer; const AWideString: WideString);
begin
  Fdireccion := AWideString;
  Fdireccion_Specified := True;
end;

function Farmacia.direccion_Specified(Index: Integer): boolean;
begin
  Result := Fdireccion_Specified;
end;

procedure Farmacia.Setcolonia(Index: Integer; const AWideString: WideString);
begin
  Fcolonia := AWideString;
  Fcolonia_Specified := True;
end;

function Farmacia.colonia_Specified(Index: Integer): boolean;
begin
  Result := Fcolonia_Specified;
end;

procedure Farmacia.Setcodigopostal(Index: Integer; const AWideString: WideString);
begin
  Fcodigopostal := AWideString;
  Fcodigopostal_Specified := True;
end;

function Farmacia.codigopostal_Specified(Index: Integer): boolean;
begin
  Result := Fcodigopostal_Specified;
end;

procedure Farmacia.Setmunicipio(Index: Integer; const AWideString: WideString);
begin
  Fmunicipio := AWideString;
  Fmunicipio_Specified := True;
end;

function Farmacia.municipio_Specified(Index: Integer): boolean;
begin
  Result := Fmunicipio_Specified;
end;

procedure Farmacia.Setciudad(Index: Integer; const AWideString: WideString);
begin
  Fciudad := AWideString;
  Fciudad_Specified := True;
end;

function Farmacia.ciudad_Specified(Index: Integer): boolean;
begin
  Result := Fciudad_Specified;
end;

procedure Farmacia.Setestado(Index: Integer; const AWideString: WideString);
begin
  Festado := AWideString;
  Festado_Specified := True;
end;

function Farmacia.estado_Specified(Index: Integer): boolean;
begin
  Result := Festado_Specified;
end;

procedure Farmacia.Setlada(Index: Integer; const AWideString: WideString);
begin
  Flada := AWideString;
  Flada_Specified := True;
end;

function Farmacia.lada_Specified(Index: Integer): boolean;
begin
  Result := Flada_Specified;
end;

procedure Farmacia.Settelefono(Index: Integer; const AWideString: WideString);
begin
  Ftelefono := AWideString;
  Ftelefono_Specified := True;
end;

function Farmacia.telefono_Specified(Index: Integer): boolean;
begin
  Result := Ftelefono_Specified;
end;

procedure Farmacia.Setlatitud(Index: Integer; const AWideString: WideString);
begin
  Flatitud := AWideString;
  Flatitud_Specified := True;
end;

function Farmacia.latitud_Specified(Index: Integer): boolean;
begin
  Result := Flatitud_Specified;
end;

procedure Farmacia.Setlongitud(Index: Integer; const AWideString: WideString);
begin
  Flongitud := AWideString;
  Flongitud_Specified := True;
end;

function Farmacia.longitud_Specified(Index: Integer): boolean;
begin
  Result := Flongitud_Specified;
end;

destructor ResponseEstadoCuentaP.Destroy;
var
  I: Integer;
begin
  for I := 0 to Length(FListado)-1 do
    FreeAndNil(FListado[I]);
  SetLength(FListado, 0);
  inherited Destroy;
end;

procedure ResponseEstadoCuentaP.SetMensaje(Index: Integer; const AWideString: WideString);
begin
  FMensaje := AWideString;
  FMensaje_Specified := True;
end;

function ResponseEstadoCuentaP.Mensaje_Specified(Index: Integer): boolean;
begin
  Result := FMensaje_Specified;
end;

procedure ResponseEstadoCuentaP.SetListado(Index: Integer; const AArrayOfEstadoCuentaP: ArrayOfEstadoCuentaP);
begin
  FListado := AArrayOfEstadoCuentaP;
  FListado_Specified := True;
end;

function ResponseEstadoCuentaP.Listado_Specified(Index: Integer): boolean;
begin
  Result := FListado_Specified;
end;

procedure EstadoCuentaP.Setfecha(Index: Integer; const AWideString: WideString);
begin
  Ffecha := AWideString;
  Ffecha_Specified := True;
end;

function EstadoCuentaP.fecha_Specified(Index: Integer): boolean;
begin
  Result := Ffecha_Specified;
end;

procedure EstadoCuentaP.Setnombrefarmacia(Index: Integer; const AWideString: WideString);
begin
  Fnombrefarmacia := AWideString;
  Fnombrefarmacia_Specified := True;
end;

function EstadoCuentaP.nombrefarmacia_Specified(Index: Integer): boolean;
begin
  Result := Fnombrefarmacia_Specified;
end;

procedure EstadoCuentaP.Setnoticket(Index: Integer; const AWideString: WideString);
begin
  Fnoticket := AWideString;
  Fnoticket_Specified := True;
end;

function EstadoCuentaP.noticket_Specified(Index: Integer): boolean;
begin
  Result := Fnoticket_Specified;
end;

procedure EstadoCuentaP.Setproducto(Index: Integer; const AWideString: WideString);
begin
  Fproducto := AWideString;
  Fproducto_Specified := True;
end;

function EstadoCuentaP.producto_Specified(Index: Integer): boolean;
begin
  Result := Fproducto_Specified;
end;

destructor GetPromocionCurrentResponse.Destroy;
begin
  FreeAndNil(FPromocion);
  inherited Destroy;
end;

procedure GetPromocionCurrentResponse.SetErrorMessage(Index: Integer; const AWideString: WideString);
begin
  FErrorMessage := AWideString;
  FErrorMessage_Specified := True;
end;

function GetPromocionCurrentResponse.ErrorMessage_Specified(Index: Integer): boolean;
begin
  Result := FErrorMessage_Specified;
end;

procedure GetPromocionCurrentResponse.SetPromocion(Index: Integer; const APromocionActual: PromocionActual);
begin
  FPromocion := APromocionActual;
  FPromocion_Specified := True;
end;

function GetPromocionCurrentResponse.Promocion_Specified(Index: Integer): boolean;
begin
  Result := FPromocion_Specified;
end;

procedure PromocionActual.SetSku(Index: Integer; const AWideString: WideString);
begin
  FSku := AWideString;
  FSku_Specified := True;
end;

function PromocionActual.Sku_Specified(Index: Integer): boolean;
begin
  Result := FSku_Specified;
end;

procedure PromocionActual.SetPresentacion(Index: Integer; const AWideString: WideString);
begin
  FPresentacion := AWideString;
  FPresentacion_Specified := True;
end;

function PromocionActual.Presentacion_Specified(Index: Integer): boolean;
begin
  Result := FPresentacion_Specified;
end;

procedure PromocionActual.SetNombrePromocion(Index: Integer; const AWideString: WideString);
begin
  FNombrePromocion := AWideString;
  FNombrePromocion_Specified := True;
end;

function PromocionActual.NombrePromocion_Specified(Index: Integer): boolean;
begin
  Result := FNombrePromocion_Specified;
end;

procedure PromocionActual.SetTipo_promocion(Index: Integer; const AWideString: WideString);
begin
  FTipo_promocion := AWideString;
  FTipo_promocion_Specified := True;
end;

function PromocionActual.Tipo_promocion_Specified(Index: Integer): boolean;
begin
  Result := FTipo_promocion_Specified;
end;

procedure PromocionActual.SetVigencia(Index: Integer; const AWideString: WideString);
begin
  FVigencia := AWideString;
  FVigencia_Specified := True;
end;

function PromocionActual.Vigencia_Specified(Index: Integer): boolean;
begin
  Result := FVigencia_Specified;
end;

procedure PromocionActual.SetLaboratorio(Index: Integer; const AWideString: WideString);
begin
  FLaboratorio := AWideString;
  FLaboratorio_Specified := True;
end;

function PromocionActual.Laboratorio_Specified(Index: Integer): boolean;
begin
  Result := FLaboratorio_Specified;
end;

destructor Pedido.Destroy;
begin
  FreeAndNil(FTotal);
  inherited Destroy;
end;

procedure Pedido.SetNoTarjeta(Index: Integer; const AWideString: WideString);
begin
  FNoTarjeta := AWideString;
  FNoTarjeta_Specified := True;
end;

function Pedido.NoTarjeta_Specified(Index: Integer): boolean;
begin
  Result := FNoTarjeta_Specified;
end;

procedure Pedido.SetCedulaProfesionalMedico(Index: Integer; const AWideString: WideString);
begin
  FCedulaProfesionalMedico := AWideString;
  FCedulaProfesionalMedico_Specified := True;
end;

function Pedido.CedulaProfesionalMedico_Specified(Index: Integer): boolean;
begin
  Result := FCedulaProfesionalMedico_Specified;
end;

procedure Pedido.SetUsuario(Index: Integer; const AWideString: WideString);
begin
  FUsuario := AWideString;
  FUsuario_Specified := True;
end;

function Pedido.Usuario_Specified(Index: Integer): boolean;
begin
  Result := FUsuario_Specified;
end;

procedure Pedido.SetNoTicket(Index: Integer; const AWideString: WideString);
begin
  FNoTicket := AWideString;
  FNoTicket_Specified := True;
end;

function Pedido.NoTicket_Specified(Index: Integer): boolean;
begin
  Result := FNoTicket_Specified;
end;

destructor PedidoArticulos.Destroy;
begin
  FreeAndNil(FPrecio);
  FreeAndNil(FPrecioPOS);
  FreeAndNil(FPrecioFijo);
  FreeAndNil(FPorcentajeDescuento);
  FreeAndNil(FMontoDescuento);
  FreeAndNil(FIVA);
  inherited Destroy;
end;

procedure PedidoArticulos.SetSku(Index: Integer; const AWideString: WideString);
begin
  FSku := AWideString;
  FSku_Specified := True;
end;

function PedidoArticulos.Sku_Specified(Index: Integer): boolean;
begin
  Result := FSku_Specified;
end;

destructor ResponseSales.Destroy;
var
  I: Integer;
begin
  for I := 0 to Length(FArticulosPendientes)-1 do
    FreeAndNil(FArticulosPendientes[I]);
  SetLength(FArticulosPendientes, 0);
  inherited Destroy;
end;

procedure ResponseSales.SetPedido(Index: Integer; const AWideString: WideString);
begin
  FPedido := AWideString;
  FPedido_Specified := True;
end;

function ResponseSales.Pedido_Specified(Index: Integer): boolean;
begin
  Result := FPedido_Specified;
end;

procedure ResponseSales.SetMensajeError(Index: Integer; const AWideString: WideString);
begin
  FMensajeError := AWideString;
  FMensajeError_Specified := True;
end;

function ResponseSales.MensajeError_Specified(Index: Integer): boolean;
begin
  Result := FMensajeError_Specified;
end;

procedure ResponseSales.SetArticulosPendientes(Index: Integer; const AArrayOfResponseSalesArticulos: ArrayOfResponseSalesArticulos);
begin
  FArticulosPendientes := AArrayOfResponseSalesArticulos;
  FArticulosPendientes_Specified := True;
end;

function ResponseSales.ArticulosPendientes_Specified(Index: Integer): boolean;
begin
  Result := FArticulosPendientes_Specified;
end;

procedure ResponseSalesArticulos.SetSku(Index: Integer; const AWideString: WideString);
begin
  FSku := AWideString;
  FSku_Specified := True;
end;

function ResponseSalesArticulos.Sku_Specified(Index: Integer): boolean;
begin
  Result := FSku_Specified;
end;

procedure ResponseTarjetaV.SetMensajeError(Index: Integer; const AWideString: WideString);
begin
  FMensajeError := AWideString;
  FMensajeError_Specified := True;
end;

function ResponseTarjetaV.MensajeError_Specified(Index: Integer): boolean;
begin
  Result := FMensajeError_Specified;
end;

procedure ResponseTarjetaV.SetMembresia(Index: Integer; const AWideString: WideString);
begin
  FMembresia := AWideString;
  FMembresia_Specified := True;
end;

function ResponseTarjetaV.Membresia_Specified(Index: Integer): boolean;
begin
  Result := FMembresia_Specified;
end;

procedure ResponseMailMod.SetMensaje(Index: Integer; const AWideString: WideString);
begin
  FMensaje := AWideString;
  FMensaje_Specified := True;
end;

function ResponseMailMod.Mensaje_Specified(Index: Integer): boolean;
begin
  Result := FMensaje_Specified;
end;

procedure ResponseMailMod.Setmails(Index: Integer; const AWideString: WideString);
begin
  Fmails := AWideString;
  Fmails_Specified := True;
end;

function ResponseMailMod.mails_Specified(Index: Integer): boolean;
begin
  Result := Fmails_Specified;
end;

destructor ResponseGetInfoDevolucionesProductos.Destroy;
var
  I: Integer;
begin
  for I := 0 to Length(FProductos)-1 do
    FreeAndNil(FProductos[I]);
  SetLength(FProductos, 0);
  inherited Destroy;
end;

procedure ResponseGetInfoDevolucionesProductos.SetProductos(Index: Integer; const AArrayOfInfoDevolucionProducto: ArrayOfInfoDevolucionProducto);
begin
  FProductos := AArrayOfInfoDevolucionProducto;
  FProductos_Specified := True;
end;

function ResponseGetInfoDevolucionesProductos.Productos_Specified(Index: Integer): boolean;
begin
  Result := FProductos_Specified;
end;

procedure ResponseGetInfoDevolucionesProductos.SetMensaje(Index: Integer; const AWideString: WideString);
begin
  FMensaje := AWideString;
  FMensaje_Specified := True;
end;

function ResponseGetInfoDevolucionesProductos.Mensaje_Specified(Index: Integer): boolean;
begin
  Result := FMensaje_Specified;
end;

procedure InfoDevolucionProducto.SetSku(Index: Integer; const AWideString: WideString);
begin
  FSku := AWideString;
  FSku_Specified := True;
end;

function InfoDevolucionProducto.Sku_Specified(Index: Integer): boolean;
begin
  Result := FSku_Specified;
end;

procedure ResponseGetInfoMessages.SetInformacion(Index: Integer; const AArrayOfString: ArrayOfString);
begin
  FInformacion := AArrayOfString;
  FInformacion_Specified := True;
end;

function ResponseGetInfoMessages.Informacion_Specified(Index: Integer): boolean;
begin
  Result := FInformacion_Specified;
end;

procedure ResponseGetInfoMessages.SetMensajeError(Index: Integer; const AWideString: WideString);
begin
  FMensajeError := AWideString;
  FMensajeError_Specified := True;
end;

function ResponseGetInfoMessages.MensajeError_Specified(Index: Integer): boolean;
begin
  Result := FMensajeError_Specified;
end;

destructor ResponseReposiciones.Destroy;
var
  I: Integer;
begin
  for I := 0 to Length(FReposiciones)-1 do
    FreeAndNil(FReposiciones[I]);
  SetLength(FReposiciones, 0);
  inherited Destroy;
end;

procedure ResponseReposiciones.SetMensajeError(Index: Integer; const AWideString: WideString);
begin
  FMensajeError := AWideString;
  FMensajeError_Specified := True;
end;

function ResponseReposiciones.MensajeError_Specified(Index: Integer): boolean;
begin
  Result := FMensajeError_Specified;
end;

procedure ResponseReposiciones.SetReposiciones(Index: Integer; const AArrayOfReposicion: ArrayOfReposicion);
begin
  FReposiciones := AArrayOfReposicion;
  FReposiciones_Specified := True;
end;

function ResponseReposiciones.Reposiciones_Specified(Index: Integer): boolean;
begin
  Result := FReposiciones_Specified;
end;

destructor Reposicion.Destroy;
begin
  FreeAndNil(Ftotdesc);
  inherited Destroy;
end;

procedure Reposicion.Setid(Index: Integer; const AWideString: WideString);
begin
  Fid := AWideString;
  Fid_Specified := True;
end;

function Reposicion.id_Specified(Index: Integer): boolean;
begin
  Result := Fid_Specified;
end;

procedure Reposicion.Setidarticulo(Index: Integer; const AWideString: WideString);
begin
  Fidarticulo := AWideString;
  Fidarticulo_Specified := True;
end;

function Reposicion.idarticulo_Specified(Index: Integer): boolean;
begin
  Result := Fidarticulo_Specified;
end;

procedure Reposicion.Setcodigo(Index: Integer; const AWideString: WideString);
begin
  Fcodigo := AWideString;
  Fcodigo_Specified := True;
end;

function Reposicion.codigo_Specified(Index: Integer): boolean;
begin
  Result := Fcodigo_Specified;
end;

procedure Reposicion.Setdescripcioncorto(Index: Integer; const AWideString: WideString);
begin
  Fdescripcioncorto := AWideString;
  Fdescripcioncorto_Specified := True;
end;

function Reposicion.descripcioncorto_Specified(Index: Integer): boolean;
begin
  Result := Fdescripcioncorto_Specified;
end;

procedure ResponseCurpList.SetCURPs(Index: Integer; const AArrayOfString: ArrayOfString);
begin
  FCURPs := AArrayOfString;
  FCURPs_Specified := True;
end;

function ResponseCurpList.CURPs_Specified(Index: Integer): boolean;
begin
  Result := FCURPs_Specified;
end;

procedure ResponseCurpList.SetMensajeError(Index: Integer; const AWideString: WideString);
begin
  FMensajeError := AWideString;
  FMensajeError_Specified := True;
end;

function ResponseCurpList.MensajeError_Specified(Index: Integer): boolean;
begin
  Result := FMensajeError_Specified;
end;

procedure CedulasMedicos.Setcedula(Index: Integer; const AWideString: WideString);
begin
  Fcedula := AWideString;
  Fcedula_Specified := True;
end;

function CedulasMedicos.cedula_Specified(Index: Integer): boolean;
begin
  Result := Fcedula_Specified;
end;

procedure CedulasMedicos.Setnombre(Index: Integer; const AWideString: WideString);
begin
  Fnombre := AWideString;
  Fnombre_Specified := True;
end;

function CedulasMedicos.nombre_Specified(Index: Integer): boolean;
begin
  Result := Fnombre_Specified;
end;

procedure CedulasMedicos.Setapellidopaterno(Index: Integer; const AWideString: WideString);
begin
  Fapellidopaterno := AWideString;
  Fapellidopaterno_Specified := True;
end;

function CedulasMedicos.apellidopaterno_Specified(Index: Integer): boolean;
begin
  Result := Fapellidopaterno_Specified;
end;

procedure CedulasMedicos.Setapellidomaterno(Index: Integer; const AWideString: WideString);
begin
  Fapellidomaterno := AWideString;
  Fapellidomaterno_Specified := True;
end;

function CedulasMedicos.apellidomaterno_Specified(Index: Integer): boolean;
begin
  Result := Fapellidomaterno_Specified;
end;

procedure CedulasMedicos.Setespecialidad(Index: Integer; const AWideString: WideString);
begin
  Fespecialidad := AWideString;
  Fespecialidad_Specified := True;
end;

function CedulasMedicos.especialidad_Specified(Index: Integer): boolean;
begin
  Result := Fespecialidad_Specified;
end;

procedure CedulasMedicos.Setdireccion(Index: Integer; const AWideString: WideString);
begin
  Fdireccion := AWideString;
  Fdireccion_Specified := True;
end;

function CedulasMedicos.direccion_Specified(Index: Integer): boolean;
begin
  Result := Fdireccion_Specified;
end;

procedure CedulasMedicos.Setcodigopostal(Index: Integer; const AWideString: WideString);
begin
  Fcodigopostal := AWideString;
  Fcodigopostal_Specified := True;
end;

function CedulasMedicos.codigopostal_Specified(Index: Integer): boolean;
begin
  Result := Fcodigopostal_Specified;
end;

procedure CedulasMedicos.Setcolonia(Index: Integer; const AWideString: WideString);
begin
  Fcolonia := AWideString;
  Fcolonia_Specified := True;
end;

function CedulasMedicos.colonia_Specified(Index: Integer): boolean;
begin
  Result := Fcolonia_Specified;
end;

procedure CedulasMedicos.Setmunicipio(Index: Integer; const AWideString: WideString);
begin
  Fmunicipio := AWideString;
  Fmunicipio_Specified := True;
end;

function CedulasMedicos.municipio_Specified(Index: Integer): boolean;
begin
  Result := Fmunicipio_Specified;
end;

procedure CedulasMedicos.Setciudad(Index: Integer; const AWideString: WideString);
begin
  Fciudad := AWideString;
  Fciudad_Specified := True;
end;

function CedulasMedicos.ciudad_Specified(Index: Integer): boolean;
begin
  Result := Fciudad_Specified;
end;

procedure CedulasMedicos.Setestado(Index: Integer; const AWideString: WideString);
begin
  Festado := AWideString;
  Festado_Specified := True;
end;

function CedulasMedicos.estado_Specified(Index: Integer): boolean;
begin
  Result := Festado_Specified;
end;

procedure CedulasMedicos.Setsexo(Index: Integer; const AWideString: WideString);
begin
  Fsexo := AWideString;
  Fsexo_Specified := True;
end;

function CedulasMedicos.sexo_Specified(Index: Integer): boolean;
begin
  Result := Fsexo_Specified;
end;

procedure CedulasMedicos.Settelefono(Index: Integer; const AWideString: WideString);
begin
  Ftelefono := AWideString;
  Ftelefono_Specified := True;
end;

function CedulasMedicos.telefono_Specified(Index: Integer): boolean;
begin
  Result := Ftelefono_Specified;
end;

procedure CedulasMedicos.Setcelular(Index: Integer; const AWideString: WideString);
begin
  Fcelular := AWideString;
  Fcelular_Specified := True;
end;

function CedulasMedicos.celular_Specified(Index: Integer): boolean;
begin
  Result := Fcelular_Specified;
end;

procedure CedulasMedicos.Setmail(Index: Integer; const AWideString: WideString);
begin
  Fmail := AWideString;
  Fmail_Specified := True;
end;

function CedulasMedicos.mail_Specified(Index: Integer): boolean;
begin
  Result := Fmail_Specified;
end;

procedure CedulasMedicos.SetMensajeError(Index: Integer; const AWideString: WideString);
begin
  FMensajeError := AWideString;
  FMensajeError_Specified := True;
end;

function CedulasMedicos.MensajeError_Specified(Index: Integer): boolean;
begin
  Result := FMensajeError_Specified;
end;

procedure MedicosCedulas.Setcedula(Index: Integer; const AWideString: WideString);
begin
  Fcedula := AWideString;
  Fcedula_Specified := True;
end;

function MedicosCedulas.cedula_Specified(Index: Integer): boolean;
begin
  Result := Fcedula_Specified;
end;

procedure MedicosCedulas.Setnombre(Index: Integer; const AWideString: WideString);
begin
  Fnombre := AWideString;
  Fnombre_Specified := True;
end;

function MedicosCedulas.nombre_Specified(Index: Integer): boolean;
begin
  Result := Fnombre_Specified;
end;

procedure MedicosCedulas.Setapellidopaterno(Index: Integer; const AWideString: WideString);
begin
  Fapellidopaterno := AWideString;
  Fapellidopaterno_Specified := True;
end;

function MedicosCedulas.apellidopaterno_Specified(Index: Integer): boolean;
begin
  Result := Fapellidopaterno_Specified;
end;

procedure MedicosCedulas.Setapellidomaterno(Index: Integer; const AWideString: WideString);
begin
  Fapellidomaterno := AWideString;
  Fapellidomaterno_Specified := True;
end;

function MedicosCedulas.apellidomaterno_Specified(Index: Integer): boolean;
begin
  Result := Fapellidomaterno_Specified;
end;

procedure MedicosCedulas.Setespecialidad(Index: Integer; const AWideString: WideString);
begin
  Fespecialidad := AWideString;
  Fespecialidad_Specified := True;
end;

function MedicosCedulas.especialidad_Specified(Index: Integer): boolean;
begin
  Result := Fespecialidad_Specified;
end;

procedure MedicosCedulas.SetMensajeError(Index: Integer; const AWideString: WideString);
begin
  FMensajeError := AWideString;
  FMensajeError_Specified := True;
end;

function MedicosCedulas.MensajeError_Specified(Index: Integer): boolean;
begin
  Result := FMensajeError_Specified;
end;

procedure ResponseColoniasList.SetColonia(Index: Integer; const AArrayOfString: ArrayOfString);
begin
  FColonia := AArrayOfString;
  FColonia_Specified := True;
end;

function ResponseColoniasList.Colonia_Specified(Index: Integer): boolean;
begin
  Result := FColonia_Specified;
end;

procedure ResponseColoniasList.SetMensajeError(Index: Integer; const AWideString: WideString);
begin
  FMensajeError := AWideString;
  FMensajeError_Specified := True;
end;

function ResponseColoniasList.MensajeError_Specified(Index: Integer): boolean;
begin
  Result := FMensajeError_Specified;
end;

procedure InfoPacientecp.Setciudad(Index: Integer; const AWideString: WideString);
begin
  Fciudad := AWideString;
  Fciudad_Specified := True;
end;

function InfoPacientecp.ciudad_Specified(Index: Integer): boolean;
begin
  Result := Fciudad_Specified;
end;

procedure InfoPacientecp.Setestado(Index: Integer; const AWideString: WideString);
begin
  Festado := AWideString;
  Festado_Specified := True;
end;

function InfoPacientecp.estado_Specified(Index: Integer): boolean;
begin
  Result := Festado_Specified;
end;

procedure InfoPacientecp.Setmunicipio(Index: Integer; const AWideString: WideString);
begin
  Fmunicipio := AWideString;
  Fmunicipio_Specified := True;
end;

function InfoPacientecp.municipio_Specified(Index: Integer): boolean;
begin
  Result := Fmunicipio_Specified;
end;

procedure InfoPacientecp.SetMensajeError(Index: Integer; const AWideString: WideString);
begin
  FMensajeError := AWideString;
  FMensajeError_Specified := True;
end;

function InfoPacientecp.MensajeError_Specified(Index: Integer): boolean;
begin
  Result := FMensajeError_Specified;
end;

procedure ResponseEstadosList.SetEstados(Index: Integer; const AArrayOfString: ArrayOfString);
begin
  FEstados := AArrayOfString;
  FEstados_Specified := True;
end;

function ResponseEstadosList.Estados_Specified(Index: Integer): boolean;
begin
  Result := FEstados_Specified;
end;

procedure ResponseEstadosList.SetMensajeError(Index: Integer; const AWideString: WideString);
begin
  FMensajeError := AWideString;
  FMensajeError_Specified := True;
end;

function ResponseEstadosList.MensajeError_Specified(Index: Integer): boolean;
begin
  Result := FMensajeError_Specified;
end;

destructor ResponsePoints.Destroy;
var
  I: Integer;
begin
  for I := 0 to Length(FPuntos)-1 do
    FreeAndNil(FPuntos[I]);
  SetLength(FPuntos, 0);
  inherited Destroy;
end;

procedure ResponsePoints.SetPuntos(Index: Integer; const AArrayOfResponsePoint: ArrayOfResponsePoint);
begin
  FPuntos := AArrayOfResponsePoint;
  FPuntos_Specified := True;
end;

function ResponsePoints.Puntos_Specified(Index: Integer): boolean;
begin
  Result := FPuntos_Specified;
end;

procedure ResponsePoints.SetMensajeError(Index: Integer; const AWideString: WideString);
begin
  FMensajeError := AWideString;
  FMensajeError_Specified := True;
end;

function ResponsePoints.MensajeError_Specified(Index: Integer): boolean;
begin
  Result := FMensajeError_Specified;
end;

destructor ResponsePoint.Destroy;
begin
  FreeAndNil(FSaldo);
  inherited Destroy;
end;

procedure ResponsePoint.SetPrograma(Index: Integer; const AWideString: WideString);
begin
  FPrograma := AWideString;
  FPrograma_Specified := True;
end;

function ResponsePoint.Programa_Specified(Index: Integer): boolean;
begin
  Result := FPrograma_Specified;
end;

destructor ResponseStatementPoints.Destroy;
var
  I: Integer;
begin
  for I := 0 to Length(FDetalles)-1 do
    FreeAndNil(FDetalles[I]);
  SetLength(FDetalles, 0);
  inherited Destroy;
end;

procedure ResponseStatementPoints.SetDetalles(Index: Integer; const AArrayOfDetallePoint: ArrayOfDetallePoint);
begin
  FDetalles := AArrayOfDetallePoint;
  FDetalles_Specified := True;
end;

function ResponseStatementPoints.Detalles_Specified(Index: Integer): boolean;
begin
  Result := FDetalles_Specified;
end;

procedure ResponseStatementPoints.SetMensajeError(Index: Integer; const AWideString: WideString);
begin
  FMensajeError := AWideString;
  FMensajeError_Specified := True;
end;

function ResponseStatementPoints.MensajeError_Specified(Index: Integer): boolean;
begin
  Result := FMensajeError_Specified;
end;

destructor DetallePoint.Destroy;
begin
  FreeAndNil(FPuntos);
  inherited Destroy;
end;

procedure DetallePoint.SetFecha(Index: Integer; const AWideString: WideString);
begin
  FFecha := AWideString;
  FFecha_Specified := True;
end;

function DetallePoint.Fecha_Specified(Index: Integer): boolean;
begin
  Result := FFecha_Specified;
end;

procedure DetallePoint.SetCodigo(Index: Integer; const AWideString: WideString);
begin
  FCodigo := AWideString;
  FCodigo_Specified := True;
end;

function DetallePoint.Codigo_Specified(Index: Integer): boolean;
begin
  Result := FCodigo_Specified;
end;

procedure DetallePoint.SetPresentacion(Index: Integer; const AWideString: WideString);
begin
  FPresentacion := AWideString;
  FPresentacion_Specified := True;
end;

function DetallePoint.Presentacion_Specified(Index: Integer): boolean;
begin
  Result := FPresentacion_Specified;
end;

procedure DetallePoint.SetPrograma(Index: Integer; const AWideString: WideString);
begin
  FPrograma := AWideString;
  FPrograma_Specified := True;
end;

function DetallePoint.Programa_Specified(Index: Integer): boolean;
begin
  Result := FPrograma_Specified;
end;

procedure DetallePoint.SetTipo(Index: Integer; const AWideString: WideString);
begin
  FTipo := AWideString;
  FTipo_Specified := True;
end;

function DetallePoint.Tipo_Specified(Index: Integer): boolean;
begin
  Result := FTipo_Specified;
end;

destructor ResponseProgramasPoint.Destroy;
var
  I: Integer;
begin
  for I := 0 to Length(FProgramas)-1 do
    FreeAndNil(FProgramas[I]);
  SetLength(FProgramas, 0);
  inherited Destroy;
end;

procedure ResponseProgramasPoint.SetProgramas(Index: Integer; const AArrayOfProgramaPoint: ArrayOfProgramaPoint);
begin
  FProgramas := AArrayOfProgramaPoint;
  FProgramas_Specified := True;
end;

function ResponseProgramasPoint.Programas_Specified(Index: Integer): boolean;
begin
  Result := FProgramas_Specified;
end;

procedure ResponseProgramasPoint.SetMensajeError(Index: Integer; const AWideString: WideString);
begin
  FMensajeError := AWideString;
  FMensajeError_Specified := True;
end;

function ResponseProgramasPoint.MensajeError_Specified(Index: Integer): boolean;
begin
  Result := FMensajeError_Specified;
end;

destructor ProgramaPoint.Destroy;
begin
  FreeAndNil(FVigencia);
  inherited Destroy;
end;

procedure ProgramaPoint.SetLaboratorio(Index: Integer; const AWideString: WideString);
begin
  FLaboratorio := AWideString;
  FLaboratorio_Specified := True;
end;

function ProgramaPoint.Laboratorio_Specified(Index: Integer): boolean;
begin
  Result := FLaboratorio_Specified;
end;

procedure ProgramaPoint.SetPrograma(Index: Integer; const AWideString: WideString);
begin
  FPrograma := AWideString;
  FPrograma_Specified := True;
end;

function ProgramaPoint.Programa_Specified(Index: Integer): boolean;
begin
  Result := FPrograma_Specified;
end;

destructor ResponseProductosSuman.Destroy;
var
  I: Integer;
begin
  for I := 0 to Length(FProductos)-1 do
    FreeAndNil(FProductos[I]);
  SetLength(FProductos, 0);
  inherited Destroy;
end;

procedure ResponseProductosSuman.SetProductos(Index: Integer; const AArrayOfProductos_Acumular_Puntos: ArrayOfProductos_Acumular_Puntos);
begin
  FProductos := AArrayOfProductos_Acumular_Puntos;
  FProductos_Specified := True;
end;

function ResponseProductosSuman.Productos_Specified(Index: Integer): boolean;
begin
  Result := FProductos_Specified;
end;

procedure ResponseProductosSuman.SetMensajeError(Index: Integer; const AWideString: WideString);
begin
  FMensajeError := AWideString;
  FMensajeError_Specified := True;
end;

function ResponseProductosSuman.MensajeError_Specified(Index: Integer): boolean;
begin
  Result := FMensajeError_Specified;
end;

destructor Productos_Acumular_Puntos.Destroy;
begin
  FreeAndNil(FPorcent_puntos);
  FreeAndNil(FVigencia);
  inherited Destroy;
end;

procedure Productos_Acumular_Puntos.SetLaboratorio(Index: Integer; const AWideString: WideString);
begin
  FLaboratorio := AWideString;
  FLaboratorio_Specified := True;
end;

function Productos_Acumular_Puntos.Laboratorio_Specified(Index: Integer): boolean;
begin
  Result := FLaboratorio_Specified;
end;

procedure Productos_Acumular_Puntos.SetCodigo(Index: Integer; const AWideString: WideString);
begin
  FCodigo := AWideString;
  FCodigo_Specified := True;
end;

function Productos_Acumular_Puntos.Codigo_Specified(Index: Integer): boolean;
begin
  Result := FCodigo_Specified;
end;

procedure Productos_Acumular_Puntos.SetDescripcion(Index: Integer; const AWideString: WideString);
begin
  FDescripcion := AWideString;
  FDescripcion_Specified := True;
end;

function Productos_Acumular_Puntos.Descripcion_Specified(Index: Integer): boolean;
begin
  Result := FDescripcion_Specified;
end;

destructor ResponseProductosRedimen.Destroy;
var
  I: Integer;
begin
  for I := 0 to Length(FProductos)-1 do
    FreeAndNil(FProductos[I]);
  SetLength(FProductos, 0);
  inherited Destroy;
end;

procedure ResponseProductosRedimen.SetProductos(Index: Integer; const AArrayOfProductos_Redimir_Puntos: ArrayOfProductos_Redimir_Puntos);
begin
  FProductos := AArrayOfProductos_Redimir_Puntos;
  FProductos_Specified := True;
end;

function ResponseProductosRedimen.Productos_Specified(Index: Integer): boolean;
begin
  Result := FProductos_Specified;
end;

procedure ResponseProductosRedimen.SetMensajeError(Index: Integer; const AWideString: WideString);
begin
  FMensajeError := AWideString;
  FMensajeError_Specified := True;
end;

function ResponseProductosRedimen.MensajeError_Specified(Index: Integer): boolean;
begin
  Result := FMensajeError_Specified;
end;

destructor Productos_Redimir_Puntos.Destroy;
begin
  FreeAndNil(FPorcent_puntos);
  FreeAndNil(FVigencia);
  inherited Destroy;
end;

procedure Productos_Redimir_Puntos.SetLaboratorio(Index: Integer; const AWideString: WideString);
begin
  FLaboratorio := AWideString;
  FLaboratorio_Specified := True;
end;

function Productos_Redimir_Puntos.Laboratorio_Specified(Index: Integer): boolean;
begin
  Result := FLaboratorio_Specified;
end;

procedure Productos_Redimir_Puntos.SetCodigo(Index: Integer; const AWideString: WideString);
begin
  FCodigo := AWideString;
  FCodigo_Specified := True;
end;

function Productos_Redimir_Puntos.Codigo_Specified(Index: Integer): boolean;
begin
  Result := FCodigo_Specified;
end;

procedure Productos_Redimir_Puntos.SetDescripcion(Index: Integer; const AWideString: WideString);
begin
  FDescripcion := AWideString;
  FDescripcion_Specified := True;
end;

function Productos_Redimir_Puntos.Descripcion_Specified(Index: Integer): boolean;
begin
  Result := FDescripcion_Specified;
end;

destructor ResponseInfoProductosPrograma.Destroy;
var
  I: Integer;
begin
  for I := 0 to Length(FRecompensa)-1 do
    FreeAndNil(FRecompensa[I]);
  SetLength(FRecompensa, 0);
  inherited Destroy;
end;

procedure ResponseInfoProductosPrograma.SetRecompensa(Index: Integer; const AArrayOfPuntos: ArrayOfPuntos);
begin
  FRecompensa := AArrayOfPuntos;
  FRecompensa_Specified := True;
end;

function ResponseInfoProductosPrograma.Recompensa_Specified(Index: Integer): boolean;
begin
  Result := FRecompensa_Specified;
end;

procedure ResponseInfoProductosPrograma.SetMensajeError(Index: Integer; const AWideString: WideString);
begin
  FMensajeError := AWideString;
  FMensajeError_Specified := True;
end;

function ResponseInfoProductosPrograma.MensajeError_Specified(Index: Integer): boolean;
begin
  Result := FMensajeError_Specified;
end;

destructor Puntos.Destroy;
begin
  FreeAndNil(Fporcpuntos);
  FreeAndNil(Fvigencia);
  inherited Destroy;
end;

procedure Puntos.Settipo(Index: Integer; const AWideString: WideString);
begin
  Ftipo := AWideString;
  Ftipo_Specified := True;
end;

function Puntos.tipo_Specified(Index: Integer): boolean;
begin
  Result := Ftipo_Specified;
end;

initialization
  InvRegistry.RegisterInterface(TypeInfo(WSCirculodelaSaludSoap), 'http://tempuri.org/', 'utf-8');
  InvRegistry.RegisterDefaultSOAPAction(TypeInfo(WSCirculodelaSaludSoap), 'http://tempuri.org/%operationName%');
  InvRegistry.RegisterInvokeOptions(TypeInfo(WSCirculodelaSaludSoap), ioDocument);
  RemClassRegistry.RegisterXSClass(ResponseLogin, 'http://tempuri.org/', 'ResponseLogin');
  RemClassRegistry.RegisterXSClass(ResponseActivateCard, 'http://tempuri.org/', 'ResponseActivateCard');
  RemClassRegistry.RegisterXSClass(ResponseActivateCardWeb, 'http://tempuri.org/', 'ResponseActivateCardWeb');
  RemClassRegistry.RegisterXSClass(RequestActivarMedico, 'http://tempuri.org/', 'RequestActivarMedico');
  RemClassRegistry.RegisterXSClass(ResponseActivaMedico, 'http://tempuri.org/', 'ResponseActivaMedico');
  RemClassRegistry.RegisterXSInfo(TypeInfo(ArrayOfResponseInfoProductCard), 'http://tempuri.org/', 'ArrayOfResponseInfoProductCard');
  RemClassRegistry.RegisterXSClass(ResponseInfoProductCard, 'http://tempuri.org/', 'ResponseInfoProductCard');
  RemClassRegistry.RegisterXSClass(Tarjeta, 'http://tempuri.org/', 'Tarjeta');
  RemClassRegistry.RegisterXSClass(Cliente, 'http://tempuri.org/', 'Cliente');
  RemClassRegistry.RegisterXSClass(TarjetaVenta, 'http://tempuri.org/', 'TarjetaVenta');
  RemClassRegistry.RegisterXSClass(InfoPaciente, 'http://tempuri.org/', 'InfoPaciente');
  RemClassRegistry.RegisterXSClass(RequestUpdatePatient, 'http://tempuri.org/', 'RequestUpdatePatient');
  RemClassRegistry.RegisterXSClass(ResponseUpdatePatient, 'http://tempuri.org/', 'ResponseUpdatePatient');
  RemClassRegistry.RegisterXSInfo(TypeInfo(ArrayOfDetalleCompras), 'http://tempuri.org/', 'ArrayOfDetalleCompras');
  RemClassRegistry.RegisterXSClass(ResponseStatementPatientProducts, 'http://tempuri.org/', 'ResponseStatementPatientProducts');
  RemClassRegistry.RegisterXSClass(DetalleCompras, 'http://tempuri.org/', 'DetalleCompras');
  RemClassRegistry.RegisterXSInfo(TypeInfo(ArrayOfResponseBonus), 'http://tempuri.org/', 'ArrayOfResponseBonus');
  RemClassRegistry.RegisterXSClass(ResponseBonus, 'http://tempuri.org/', 'ResponseBonus');
  RemClassRegistry.RegisterXSInfo(TypeInfo(ArrayOfBonusProductList), 'http://tempuri.org/', 'ArrayOfBonusProductList');
  RemClassRegistry.RegisterXSClass(BonusProductList, 'http://tempuri.org/', 'BonusProductList');
  RemClassRegistry.RegisterXSInfo(TypeInfo(ArrayOfResponseBonusList), 'http://tempuri.org/', 'ArrayOfResponseBonusList');
  RemClassRegistry.RegisterXSClass(ResponseBonusList, 'http://tempuri.org/', 'ResponseBonusList');
  RemClassRegistry.RegisterXSClass(Articulo, 'http://tempuri.org/', 'Articulo');
  RemClassRegistry.RegisterXSInfo(TypeInfo(eTipoPromocion), 'http://tempuri.org/', 'eTipoPromocion');
  RemClassRegistry.RegisterXSInfo(TypeInfo(eAfectaSobre), 'http://tempuri.org/', 'eAfectaSobre');
  RemClassRegistry.RegisterExternalPropName(TypeInfo(eAfectaSobre), 'NoAplica2', 'NoAplica');
  RemClassRegistry.RegisterXSClass(OferteoProducto, 'http://tempuri.org/', 'OferteoProducto');
  RemClassRegistry.RegisterXSClass(GetPromocionesRequest, 'http://tempuri.org/', 'GetPromocionesRequest');
  RemClassRegistry.RegisterXSInfo(TypeInfo(ArrayOfPromocion0), 'http://tempuri.org/', 'ArrayOfPromocion0');
  RemClassRegistry.RegisterXSClass(GetPromocionesResponse0, 'http://tempuri.org/', 'GetPromocionesResponse0');
  RemClassRegistry.RegisterXSClass(Promocion0, 'http://tempuri.org/', 'Promocion0');
  RemClassRegistry.RegisterXSInfo(TypeInfo(ArrayOfPromocion), 'http://tempuri.org/', 'ArrayOfPromocion');
  RemClassRegistry.RegisterXSClass(GetPromocionesResponse, 'http://tempuri.org/', 'GetPromocionesResponse');
  RemClassRegistry.RegisterXSClass(Promocion, 'http://tempuri.org/', 'Promocion');
  RemClassRegistry.RegisterXSInfo(TypeInfo(ArrayOfFarmacia), 'http://tempuri.org/', 'ArrayOfFarmacia');
  RemClassRegistry.RegisterXSClass(ResponseFarmacia, 'http://tempuri.org/', 'ResponseFarmacia');
  RemClassRegistry.RegisterXSClass(Farmacia, 'http://tempuri.org/', 'Farmacia');
  RemClassRegistry.RegisterXSInfo(TypeInfo(ArrayOfEstadoCuentaP), 'http://tempuri.org/', 'ArrayOfEstadoCuentaP');
  RemClassRegistry.RegisterXSClass(ResponseEstadoCuentaP, 'http://tempuri.org/', 'ResponseEstadoCuentaP');
  RemClassRegistry.RegisterXSClass(EstadoCuentaP, 'http://tempuri.org/', 'EstadoCuentaP');
  RemClassRegistry.RegisterXSClass(GetPromocionCurrentResponse, 'http://tempuri.org/', 'GetPromocionCurrentResponse');
  RemClassRegistry.RegisterXSClass(PromocionActual, 'http://tempuri.org/', 'PromocionActual');
  RemClassRegistry.RegisterXSClass(Pedido, 'http://tempuri.org/', 'Pedido');
  RemClassRegistry.RegisterXSInfo(TypeInfo(ArrayOfPedidoArticulos), 'http://tempuri.org/', 'ArrayOfPedidoArticulos');
  RemClassRegistry.RegisterXSClass(PedidoArticulos, 'http://tempuri.org/', 'PedidoArticulos');
  RemClassRegistry.RegisterXSInfo(TypeInfo(ArrayOfResponseSalesArticulos), 'http://tempuri.org/', 'ArrayOfResponseSalesArticulos');
  RemClassRegistry.RegisterXSClass(ResponseSales, 'http://tempuri.org/', 'ResponseSales');
  RemClassRegistry.RegisterXSClass(ResponseSalesArticulos, 'http://tempuri.org/', 'ResponseSalesArticulos');
  RemClassRegistry.RegisterXSClass(ResponseTarjetaV, 'http://tempuri.org/', 'ResponseTarjetaV');
  RemClassRegistry.RegisterXSClass(ResponseMailMod, 'http://tempuri.org/', 'ResponseMailMod');
  RemClassRegistry.RegisterXSInfo(TypeInfo(ArrayOfString), 'http://tempuri.org/', 'ArrayOfString');
  RemClassRegistry.RegisterXSInfo(TypeInfo(ArrayOfInfoDevolucionProducto), 'http://tempuri.org/', 'ArrayOfInfoDevolucionProducto');
  RemClassRegistry.RegisterXSClass(ResponseGetInfoDevolucionesProductos, 'http://tempuri.org/', 'ResponseGetInfoDevolucionesProductos');
  RemClassRegistry.RegisterXSClass(InfoDevolucionProducto, 'http://tempuri.org/', 'InfoDevolucionProducto');
  RemClassRegistry.RegisterXSClass(ResponseGetInfoMessages, 'http://tempuri.org/', 'ResponseGetInfoMessages');
  RemClassRegistry.RegisterXSInfo(TypeInfo(ArrayOfReposicion), 'http://tempuri.org/', 'ArrayOfReposicion');
  RemClassRegistry.RegisterXSClass(ResponseReposiciones, 'http://tempuri.org/', 'ResponseReposiciones');
  RemClassRegistry.RegisterXSClass(Reposicion, 'http://tempuri.org/', 'Reposicion');
  RemClassRegistry.RegisterXSClass(ResponseCurpList, 'http://tempuri.org/', 'ResponseCurpList');
  RemClassRegistry.RegisterXSClass(CedulasMedicos, 'http://tempuri.org/', 'CedulasMedicos');
  RemClassRegistry.RegisterXSClass(MedicosCedulas, 'http://tempuri.org/', 'MedicosCedulas');
  RemClassRegistry.RegisterXSClass(ResponseColoniasList, 'http://tempuri.org/', 'ResponseColoniasList');
  RemClassRegistry.RegisterXSClass(InfoPacientecp, 'http://tempuri.org/', 'InfoPacientecp');
  RemClassRegistry.RegisterXSClass(ResponseEstadosList, 'http://tempuri.org/', 'ResponseEstadosList');
  RemClassRegistry.RegisterXSInfo(TypeInfo(ArrayOfResponsePoint), 'http://tempuri.org/', 'ArrayOfResponsePoint');
  RemClassRegistry.RegisterXSClass(ResponsePoints, 'http://tempuri.org/', 'ResponsePoints');
  RemClassRegistry.RegisterXSClass(ResponsePoint, 'http://tempuri.org/', 'ResponsePoint');
  RemClassRegistry.RegisterXSInfo(TypeInfo(ArrayOfDetallePoint), 'http://tempuri.org/', 'ArrayOfDetallePoint');
  RemClassRegistry.RegisterXSClass(ResponseStatementPoints, 'http://tempuri.org/', 'ResponseStatementPoints');
  RemClassRegistry.RegisterXSClass(DetallePoint, 'http://tempuri.org/', 'DetallePoint');
  RemClassRegistry.RegisterXSInfo(TypeInfo(ArrayOfProgramaPoint), 'http://tempuri.org/', 'ArrayOfProgramaPoint');
  RemClassRegistry.RegisterXSClass(ResponseProgramasPoint, 'http://tempuri.org/', 'ResponseProgramasPoint');
  RemClassRegistry.RegisterXSClass(ProgramaPoint, 'http://tempuri.org/', 'ProgramaPoint');
  RemClassRegistry.RegisterXSInfo(TypeInfo(ArrayOfProductos_Acumular_Puntos), 'http://tempuri.org/', 'ArrayOfProductos_Acumular_Puntos');
  RemClassRegistry.RegisterXSClass(ResponseProductosSuman, 'http://tempuri.org/', 'ResponseProductosSuman');
  RemClassRegistry.RegisterXSClass(Productos_Acumular_Puntos, 'http://tempuri.org/', 'Productos_Acumular_Puntos');
  RemClassRegistry.RegisterXSInfo(TypeInfo(ArrayOfProductos_Redimir_Puntos), 'http://tempuri.org/', 'ArrayOfProductos_Redimir_Puntos');
  RemClassRegistry.RegisterXSClass(ResponseProductosRedimen, 'http://tempuri.org/', 'ResponseProductosRedimen');
  RemClassRegistry.RegisterXSClass(Productos_Redimir_Puntos, 'http://tempuri.org/', 'Productos_Redimir_Puntos');
  RemClassRegistry.RegisterXSInfo(TypeInfo(ArrayOfPuntos), 'http://tempuri.org/', 'ArrayOfPuntos');
  RemClassRegistry.RegisterXSClass(ResponseInfoProductosPrograma, 'http://tempuri.org/', 'ResponseInfoProductosPrograma');
  RemClassRegistry.RegisterXSClass(Puntos, 'http://tempuri.org/', 'Puntos');

end.