diff --git a/supabase/.gitignore b/supabase/.gitignore new file mode 100644 index 0000000..ad9264f --- /dev/null +++ b/supabase/.gitignore @@ -0,0 +1,8 @@ +# Supabase +.branches +.temp + +# dotenvx +.env.keys +.env.local +.env.*.local diff --git a/supabase/config.toml b/supabase/config.toml new file mode 100644 index 0000000..bd8a925 --- /dev/null +++ b/supabase/config.toml @@ -0,0 +1,408 @@ +# For detailed configuration reference documentation, visit: +# https://supabase.com/docs/guides/local-development/cli/config +# A string used to distinguish different Supabase projects on the same host. Defaults to the +# working directory name when running `supabase init`. +project_id = "IntegrationWorkshop" + +[api] +enabled = true +# Port to use for the API URL. +port = 54321 +# Schemas to expose in your API. Tables, views and stored procedures in this schema will get API +# endpoints. `public` and `graphql_public` schemas are included by default. +schemas = ["public", "graphql_public"] +# Extra schemas to add to the search_path of every request. +extra_search_path = ["public", "extensions"] +# The maximum number of rows returns from a view, table, or stored procedure. Limits payload size +# for accidental or malicious requests. +max_rows = 1000 + +[api.tls] +# Enable HTTPS endpoints locally using a self-signed certificate. +enabled = false +# Paths to self-signed certificate pair. +# cert_path = "../certs/my-cert.pem" +# key_path = "../certs/my-key.pem" + +[db] +# Port to use for the local database URL. +port = 54322 +# Port used by db diff command to initialize the shadow database. +shadow_port = 54320 +# Maximum amount of time to wait for health check when starting the local database. +health_timeout = "2m" +# The database major version to use. This has to be the same as your remote database's. Run `SHOW +# server_version;` on the remote database to check. +major_version = 17 + +[db.pooler] +enabled = false +# Port to use for the local connection pooler. +port = 54329 +# Specifies when a server connection can be reused by other clients. +# Configure one of the supported pooler modes: `transaction`, `session`. +pool_mode = "transaction" +# How many server connections to allow per user/database pair. +default_pool_size = 20 +# Maximum number of client connections allowed. +max_client_conn = 100 + +# [db.vault] +# secret_key = "env(SECRET_VALUE)" + +[db.migrations] +# If disabled, migrations will be skipped during a db push or reset. +enabled = true +# Specifies an ordered list of schema files that describe your database. +# Supports glob patterns relative to supabase directory: "./schemas/*.sql" +schema_paths = [] + +[db.seed] +# If enabled, seeds the database after migrations during a db reset. +enabled = true +# Specifies an ordered list of seed files to load during db reset. +# Supports glob patterns relative to supabase directory: "./seeds/*.sql" +sql_paths = ["./seed.sql"] + +[db.network_restrictions] +# Enable management of network restrictions. +enabled = false +# List of IPv4 CIDR blocks allowed to connect to the database. +# Defaults to allow all IPv4 connections. Set empty array to block all IPs. +allowed_cidrs = ["0.0.0.0/0"] +# List of IPv6 CIDR blocks allowed to connect to the database. +# Defaults to allow all IPv6 connections. Set empty array to block all IPs. +allowed_cidrs_v6 = ["::/0"] + +# Uncomment to reject non-secure connections to the database. +# [db.ssl_enforcement] +# enabled = true + +[realtime] +enabled = true +# Bind realtime via either IPv4 or IPv6. (default: IPv4) +# ip_version = "IPv6" +# The maximum length in bytes of HTTP request headers. (default: 4096) +# max_header_length = 4096 + +[studio] +enabled = true +# Port to use for Supabase Studio. +port = 54323 +# External URL of the API server that frontend connects to. +api_url = "http://127.0.0.1" +# OpenAI API Key to use for Supabase AI in the Supabase Studio. +openai_api_key = "env(OPENAI_API_KEY)" + +# Email testing server. Emails sent with the local dev setup are not actually sent - rather, they +# are monitored, and you can view the emails that would have been sent from the web interface. +[inbucket] +enabled = true +# Port to use for the email testing server web interface. +port = 54324 +# Uncomment to expose additional ports for testing user applications that send emails. +# smtp_port = 54325 +# pop3_port = 54326 +# admin_email = "admin@email.com" +# sender_name = "Admin" + +[storage] +enabled = true +# The maximum file size allowed (e.g. "5MB", "500KB"). +file_size_limit = "50MiB" + +# Uncomment to configure local storage buckets +# [storage.buckets.images] +# public = false +# file_size_limit = "50MiB" +# allowed_mime_types = ["image/png", "image/jpeg"] +# objects_path = "./images" + +# Allow connections via S3 compatible clients +[storage.s3_protocol] +enabled = true + +# Image transformation API is available to Supabase Pro plan. +# [storage.image_transformation] +# enabled = true + +# Store analytical data in S3 for running ETL jobs over Iceberg Catalog +# This feature is only available on the hosted platform. +[storage.analytics] +enabled = false +max_namespaces = 5 +max_tables = 10 +max_catalogs = 2 + +# Analytics Buckets is available to Supabase Pro plan. +# [storage.analytics.buckets.my-warehouse] + +# Store vector embeddings in S3 for large and durable datasets +# This feature is only available on the hosted platform. +[storage.vector] +enabled = false +max_buckets = 10 +max_indexes = 5 + +# Vector Buckets is available to Supabase Pro plan. +# [storage.vector.buckets.documents-openai] + +[auth] +enabled = true +# The base URL of your website. Used as an allow-list for redirects and for constructing URLs used +# in emails. +site_url = "http://127.0.0.1:3000" +# The public URL that Auth serves on. Defaults to the API external URL with `/auth/v1` appended. +# external_url = "" +# A list of *exact* URLs that auth providers are permitted to redirect to post authentication. +additional_redirect_urls = ["https://127.0.0.1:3000"] +# How long tokens are valid for, in seconds. Defaults to 3600 (1 hour), maximum 604,800 (1 week). +jwt_expiry = 3600 +# JWT issuer URL. If not set, defaults to auth.external_url. +# jwt_issuer = "" +# Path to JWT signing key. DO NOT commit your signing keys file to git. +# signing_keys_path = "./signing_keys.json" +# If disabled, the refresh token will never expire. +enable_refresh_token_rotation = true +# Allows refresh tokens to be reused after expiry, up to the specified interval in seconds. +# Requires enable_refresh_token_rotation = true. +refresh_token_reuse_interval = 10 +# Allow/disallow new user signups to your project. +enable_signup = true +# Allow/disallow anonymous sign-ins to your project. +enable_anonymous_sign_ins = false +# Allow/disallow testing manual linking of accounts +enable_manual_linking = false +# Passwords shorter than this value will be rejected as weak. Minimum 6, recommended 8 or more. +minimum_password_length = 6 +# Passwords that do not meet the following requirements will be rejected as weak. Supported values +# are: `letters_digits`, `lower_upper_letters_digits`, `lower_upper_letters_digits_symbols` +password_requirements = "" + +# Configure passkey sign-ins. +# [auth.passkey] +# enabled = false + +# Configure WebAuthn relying party settings (required when passkey is enabled). +# [auth.webauthn] +# rp_display_name = "Supabase" +# rp_id = "localhost" +# rp_origins = ["http://127.0.0.1:3000"] + +[auth.rate_limit] +# Number of emails that can be sent per hour. Requires auth.email.smtp to be enabled. +email_sent = 2 +# Number of SMS messages that can be sent per hour. Requires auth.sms to be enabled. +sms_sent = 30 +# Number of anonymous sign-ins that can be made per hour per IP address. Requires enable_anonymous_sign_ins = true. +anonymous_users = 30 +# Number of sessions that can be refreshed in a 5 minute interval per IP address. +token_refresh = 150 +# Number of sign up and sign-in requests that can be made in a 5 minute interval per IP address (excludes anonymous users). +sign_in_sign_ups = 30 +# Number of OTP / Magic link verifications that can be made in a 5 minute interval per IP address. +token_verifications = 30 +# Number of Web3 logins that can be made in a 5 minute interval per IP address. +web3 = 30 + +# Configure one of the supported captcha providers: `hcaptcha`, `turnstile`. +# [auth.captcha] +# enabled = true +# provider = "hcaptcha" +# secret = "" + +[auth.email] +# Allow/disallow new user signups via email to your project. +enable_signup = true +# If enabled, a user will be required to confirm any email change on both the old, and new email +# addresses. If disabled, only the new email is required to confirm. +double_confirm_changes = true +# If enabled, users need to confirm their email address before signing in. +enable_confirmations = false +# If enabled, users will need to reauthenticate or have logged in recently to change their password. +secure_password_change = false +# Controls the minimum amount of time that must pass before sending another signup confirmation or password reset email. +max_frequency = "1s" +# Number of characters used in the email OTP. +otp_length = 6 +# Number of seconds before the email OTP expires (defaults to 1 hour). +otp_expiry = 3600 + +# Use a production-ready SMTP server +# [auth.email.smtp] +# enabled = true +# host = "smtp.sendgrid.net" +# port = 587 +# user = "apikey" +# pass = "env(SENDGRID_API_KEY)" +# admin_email = "admin@email.com" +# sender_name = "Admin" + +# Uncomment to customize email template +# [auth.email.template.invite] +# subject = "You have been invited" +# content_path = "./supabase/templates/invite.html" + +# Uncomment to customize notification email template +# [auth.email.notification.password_changed] +# enabled = true +# subject = "Your password has been changed" +# content_path = "./templates/password_changed_notification.html" + +[auth.sms] +# Allow/disallow new user signups via SMS to your project. +enable_signup = false +# If enabled, users need to confirm their phone number before signing in. +enable_confirmations = false +# Template for sending OTP to users +template = "Your code is {{ .Code }}" +# Controls the minimum amount of time that must pass before sending another sms otp. +max_frequency = "5s" + +# Use pre-defined map of phone number to OTP for testing. +# [auth.sms.test_otp] +# 4152127777 = "123456" + +# Configure logged in session timeouts. +# [auth.sessions] +# Force log out after the specified duration. +# timebox = "24h" +# Force log out if the user has been inactive longer than the specified duration. +# inactivity_timeout = "8h" + +# This hook runs before a new user is created and allows developers to reject the request based on the incoming user object. +# [auth.hook.before_user_created] +# enabled = true +# uri = "pg-functions://postgres/auth/before-user-created-hook" + +# This hook runs before a token is issued and allows you to add additional claims based on the authentication method used. +# [auth.hook.custom_access_token] +# enabled = true +# uri = "pg-functions:////" + +# Configure one of the supported SMS providers: `twilio`, `twilio_verify`, `messagebird`, `textlocal`, `vonage`. +[auth.sms.twilio] +enabled = false +account_sid = "" +message_service_sid = "" +# DO NOT commit your Twilio auth token to git. Use environment variable substitution instead: +auth_token = "env(SUPABASE_AUTH_SMS_TWILIO_AUTH_TOKEN)" + +# Multi-factor-authentication is available to Supabase Pro plan. +[auth.mfa] +# Control how many MFA factors can be enrolled at once per user. +max_enrolled_factors = 10 + +# Control MFA via App Authenticator (TOTP) +[auth.mfa.totp] +enroll_enabled = false +verify_enabled = false + +# Configure MFA via Phone Messaging +[auth.mfa.phone] +enroll_enabled = false +verify_enabled = false +otp_length = 6 +template = "Your code is {{ .Code }}" +max_frequency = "5s" + +# Configure MFA via WebAuthn +# [auth.mfa.web_authn] +# enroll_enabled = true +# verify_enabled = true + +# Use an external OAuth provider. The full list of providers are: `apple`, `azure`, `bitbucket`, +# `discord`, `facebook`, `github`, `gitlab`, `google`, `keycloak`, `linkedin_oidc`, `notion`, `twitch`, +# `twitter`, `x`, `slack`, `spotify`, `workos`, `zoom`. +[auth.external.apple] +enabled = false +client_id = "" +# DO NOT commit your OAuth provider secret to git. Use environment variable substitution instead: +secret = "env(SUPABASE_AUTH_EXTERNAL_APPLE_SECRET)" +# Overrides the default auth callback URL derived from auth.external_url. +redirect_uri = "" +# Overrides the default auth provider URL. Used to support self-hosted gitlab, single-tenant Azure, +# or any other third-party OIDC providers. +url = "" +# If enabled, the nonce check will be skipped. Required for local sign in with Google auth. +skip_nonce_check = false +# If enabled, it will allow the user to successfully authenticate when the provider does not return an email address. +email_optional = false + +# Allow Solana wallet holders to sign in to your project via the Sign in with Solana (SIWS, EIP-4361) standard. +# You can configure "web3" rate limit in the [auth.rate_limit] section and set up [auth.captcha] if self-hosting. +[auth.web3.solana] +enabled = false + +# Use Firebase Auth as a third-party provider alongside Supabase Auth. +[auth.third_party.firebase] +enabled = false +# project_id = "my-firebase-project" + +# Use Auth0 as a third-party provider alongside Supabase Auth. +[auth.third_party.auth0] +enabled = false +# tenant = "my-auth0-tenant" +# tenant_region = "us" + +# Use AWS Cognito (Amplify) as a third-party provider alongside Supabase Auth. +[auth.third_party.aws_cognito] +enabled = false +# user_pool_id = "my-user-pool-id" +# user_pool_region = "us-east-1" + +# Use Clerk as a third-party provider alongside Supabase Auth. +[auth.third_party.clerk] +enabled = false +# Obtain from https://clerk.com/setup/supabase +# domain = "example.clerk.accounts.dev" + +# OAuth server configuration +[auth.oauth_server] +# Enable OAuth server functionality +enabled = false +# Path for OAuth consent flow UI +authorization_url_path = "/oauth/consent" +# Allow dynamic client registration +allow_dynamic_registration = false + +[edge_runtime] +enabled = true +# Supported request policies: `oneshot`, `per_worker`. +# `per_worker` (default) — enables hot reload during local development. +# `oneshot` — fallback mode if hot reload causes issues (e.g. in large repos or with symlinks). +policy = "per_worker" +# Port to attach the Chrome inspector for debugging edge functions. +inspector_port = 8083 +# The Deno major version to use. +deno_version = 2 + +# [edge_runtime.secrets] +# secret_key = "env(SECRET_VALUE)" + +[analytics] +enabled = true +port = 54327 +# Configure one of the supported backends: `postgres`, `bigquery`. +backend = "postgres" + +# Experimental features may be deprecated any time +[experimental] +# Configures Postgres storage engine to use OrioleDB (S3) +orioledb_version = "" +# Configures S3 bucket URL, eg. .s3-.amazonaws.com +s3_host = "env(S3_HOST)" +# Configures S3 bucket region, eg. us-east-1 +s3_region = "env(S3_REGION)" +# Configures AWS_ACCESS_KEY_ID for S3 bucket +s3_access_key = "env(S3_ACCESS_KEY)" +# Configures AWS_SECRET_ACCESS_KEY for S3 bucket +s3_secret_key = "env(S3_SECRET_KEY)" + +# [experimental.pgdelta] +# When enabled, pg-delta becomes the active engine for supported schema flows. +# enabled = false +# Directory under `supabase/` where declarative files are written. +# declarative_schema_path = "./database" +# JSON string passed through to pg-delta SQL formatting. +# format_options = "{\"keywordCase\":\"upper\",\"indent\":2,\"maxWidth\":80,\"commaStyle\":\"trailing\"}" diff --git a/supabase/migrations/20260603230526_baseline.sql b/supabase/migrations/20260603230526_baseline.sql new file mode 100644 index 0000000..bf7422c --- /dev/null +++ b/supabase/migrations/20260603230526_baseline.sql @@ -0,0 +1,5358 @@ + + + +SET statement_timeout = 0; +SET lock_timeout = 0; +SET idle_in_transaction_session_timeout = 0; +SET client_encoding = 'UTF8'; +SET standard_conforming_strings = on; +SELECT pg_catalog.set_config('search_path', '', false); +SET check_function_bodies = false; +SET xmloption = content; +SET client_min_messages = warning; +SET row_security = off; + + +CREATE SCHEMA IF NOT EXISTS "internal"; + + +ALTER SCHEMA "internal" OWNER TO "postgres"; + + +CREATE SCHEMA IF NOT EXISTS "public"; + + +ALTER SCHEMA "public" OWNER TO "pg_database_owner"; + + +COMMENT ON SCHEMA "public" IS 'standard public schema'; + + +CREATE EXTENSION IF NOT EXISTS "btree_gist" WITH SCHEMA "extensions"; +CREATE EXTENSION IF NOT EXISTS "pgcrypto" WITH SCHEMA "extensions"; + + + +CREATE TYPE "public"."timerange" AS RANGE ( + subtype = time without time zone, + multirange_type_name = "public"."timemultirange" +); + + +ALTER TYPE "public"."timerange" OWNER TO "postgres"; + + +CREATE OR REPLACE FUNCTION "internal"."agregado_reservas_mensual"("p_anio_mes" "date") RETURNS TABLE("anio_mes" "text", "actividad_nombre" "text", "reservas_totales" integer, "reservas_canceladas" integer) + LANGUAGE "sql" STABLE SECURITY DEFINER + SET "search_path" TO 'public' + SET "TimeZone" TO 'America/Argentina/Buenos_Aires' + AS $$ + SELECT + to_char(date_trunc('month', p_anio_mes), 'YYYY-MM-DD') AS anio_mes, + a.nombre AS actividad_nombre, + count(r.id)::int AS reservas_totales, + count(r.id) FILTER (WHERE r.cancelada)::int AS reservas_canceladas + FROM reservas r + JOIN turnos t ON t.id = r.turno_id + JOIN actividades a ON a.id = t.actividad_id + WHERE t.fecha >= date_trunc('month', p_anio_mes)::date + AND t.fecha < (date_trunc('month', p_anio_mes) + INTERVAL '1 month')::date + GROUP BY a.nombre + ORDER BY a.nombre; +$$; + + +ALTER FUNCTION "internal"."agregado_reservas_mensual"("p_anio_mes" "date") OWNER TO "postgres"; + + +CREATE OR REPLACE FUNCTION "internal"."cerrar_actividad"() RETURNS "trigger" + LANGUAGE "plpgsql" + SET "search_path" TO 'public' + SET "TimeZone" TO 'America/Argentina/Buenos_Aires' + AS $$ +BEGIN + -- El trigger se filtra con WHEN, así que cuando entra acá ya sabemos que + -- la actividad pasó de activo=true a activo=false. + + ------------------------------------------------------------ + -- 1. Rescatar reservas activas sobre turnos futuros + ------------------------------------------------------------ + INSERT INTO reservas_huerfanas + (cliente_id, actividad_nombre, fecha_original, hora_inicio_original) + SELECT r.cliente_id, OLD.nombre, t.fecha, t.hora_inicio + FROM reservas r + JOIN turnos t ON r.turno_id = t.id + WHERE t.actividad_id = OLD.id + AND t.fecha >= CURRENT_DATE + AND r.cancelada = false; + + ------------------------------------------------------------ + -- 2. Borrar turnos futuros (los pasados quedan para histórico/reportes) + ------------------------------------------------------------ + DELETE FROM turnos + WHERE actividad_id = OLD.id + AND fecha >= CURRENT_DATE; + + ------------------------------------------------------------ + -- 3. Limpiar plantillas según su posición temporal + ------------------------------------------------------------ + + -- 3.A Plantillas que empiezan hoy o en el futuro: borrarlas. + -- Si la cerráramos en CURRENT_DATE-1 quedaría un intervalo vacío + -- o invertido (valido_desde > valido_hasta). + DELETE FROM horario_actividad + WHERE actividad_id = OLD.id + AND valido_desde >= CURRENT_DATE; + + -- 3.B Plantillas que ya están rigiendo (valido_desde en el pasado y + -- vigencia abierta o futura): cerrarlas en CURRENT_DATE - 1. + UPDATE horario_actividad + SET valido_hasta = CURRENT_DATE - 1 + WHERE actividad_id = OLD.id + AND valido_desde < CURRENT_DATE + AND (valido_hasta IS NULL OR valido_hasta >= CURRENT_DATE); + + -- 3.C Plantillas históricas (valido_hasta < CURRENT_DATE): NO se tocan. + + RETURN NEW; +END; +$$; + + +ALTER FUNCTION "internal"."cerrar_actividad"() OWNER TO "postgres"; + + +CREATE OR REPLACE FUNCTION "internal"."clean_expired_sessions"() RETURNS "void" + LANGUAGE "plpgsql" SECURITY DEFINER + SET "search_path" TO 'internal', 'pg_catalog' + AS $$ +BEGIN + -- Elimina todas las sesiones cuya fecha de expiración es anterior a la actual. + DELETE FROM internal.sesiones + WHERE expires_at < NOW(); +END; +$$; + + +ALTER FUNCTION "internal"."clean_expired_sessions"() OWNER TO "postgres"; + + +CREATE OR REPLACE FUNCTION "internal"."clean_old_sessions_on_new_login"() RETURNS "trigger" + LANGUAGE "plpgsql" SECURITY DEFINER + SET "search_path" TO 'internal', 'pg_catalog' + AS $$ +BEGIN + -- Esto asegura que solo la sesión actual (la que se está creando) permanezca. + DELETE FROM internal.sesiones + WHERE usuario_id = NEW.usuario_id + AND token IS DISTINCT FROM NEW.token; + + RETURN NEW; +END; +$$; + + +ALTER FUNCTION "internal"."clean_old_sessions_on_new_login"() OWNER TO "postgres"; + + +CREATE OR REPLACE FUNCTION "internal"."create_password_hash"("p_password_plain" "text") RETURNS "text" + LANGUAGE "plpgsql" SECURITY DEFINER + SET "search_path" TO 'extensions', 'public' + AS $$ +BEGIN + RETURN crypt(p_password_plain, gen_salt('bf'::text)); +END; +$$; + + +ALTER FUNCTION "internal"."create_password_hash"("p_password_plain" "text") OWNER TO "postgres"; + + +CREATE OR REPLACE FUNCTION "internal"."get_config_int"("p_clave" "text", "p_default" integer) RETURNS integer + LANGUAGE "sql" STABLE SECURITY DEFINER + SET "search_path" TO 'public' + AS $$ + SELECT COALESCE( + (SELECT valor::int FROM internal.app_config WHERE clave = p_clave), + p_default + ) +$$; + + +ALTER FUNCTION "internal"."get_config_int"("p_clave" "text", "p_default" integer) OWNER TO "postgres"; + + +CREATE OR REPLACE FUNCTION "internal"."limpiar_dias_especiales_antiguos"() RETURNS "jsonb" + LANGUAGE "plpgsql" SECURITY DEFINER + SET "search_path" TO 'public' + SET "TimeZone" TO 'America/Argentina/Buenos_Aires' + AS $$ +DECLARE + v_meses INT; + v_fecha_limite DATE; + v_eliminados INT; +BEGIN + v_meses := internal.get_config_int('retencion.dias_especiales_meses', 1); + v_fecha_limite := CURRENT_DATE - (v_meses * INTERVAL '1 month'); + + DELETE FROM dias_especiales + WHERE fecha < v_fecha_limite; + + GET DIAGNOSTICS v_eliminados = ROW_COUNT; + + RETURN jsonb_build_object( + 'status', 'success', + 'fecha_corte', v_fecha_limite, + 'meses_conservados', v_meses, + 'dias_eliminados', v_eliminados, + 'mensaje', format( + 'Se eliminaron %s días especiales anteriores a %s (rangos horarios asociados eliminados por CASCADE).', + v_eliminados, v_fecha_limite + ) + ); +END; +$$; + + +ALTER FUNCTION "internal"."limpiar_dias_especiales_antiguos"() OWNER TO "postgres"; + + +CREATE OR REPLACE FUNCTION "internal"."limpiar_eventos_antiguos"() RETURNS "jsonb" + LANGUAGE "plpgsql" SECURITY DEFINER + SET "search_path" TO 'public' + SET "TimeZone" TO 'America/Argentina/Buenos_Aires' + AS $$ +DECLARE + v_meses_pagos INT; + v_meses_otros INT; + v_corte_pagos TIMESTAMPTZ; + v_corte_otros TIMESTAMPTZ; + v_eliminados_pagos INT; + v_eliminados_otros INT; +BEGIN + v_meses_pagos := internal.get_config_int('retencion.eventos_pagos_meses', 3); + v_meses_otros := internal.get_config_int('retencion.eventos_otros_meses', 2); + + v_corte_pagos := now() - (v_meses_pagos * INTERVAL '1 month'); + v_corte_otros := now() - (v_meses_otros * INTERVAL '1 month'); + + DELETE FROM eventos + WHERE tipo LIKE 'pago_%' + AND fecha_evento < v_corte_pagos; + GET DIAGNOSTICS v_eliminados_pagos = ROW_COUNT; + + DELETE FROM eventos + WHERE tipo NOT LIKE 'pago_%' + AND fecha_evento < v_corte_otros; + GET DIAGNOSTICS v_eliminados_otros = ROW_COUNT; + + RETURN jsonb_build_object( + 'status', 'success', + 'corte_pagos', v_corte_pagos, + 'corte_otros', v_corte_otros, + 'meses_pagos', v_meses_pagos, + 'meses_otros', v_meses_otros, + 'eliminados_pagos', v_eliminados_pagos, + 'eliminados_otros', v_eliminados_otros, + 'eliminados_total', v_eliminados_pagos + v_eliminados_otros, + 'mensaje', format( + 'Eliminados %s eventos pago_* anteriores a %s y %s eventos no-pago anteriores a %s.', + v_eliminados_pagos, v_corte_pagos, + v_eliminados_otros, v_corte_otros + ) + ); +END; +$$; + + +ALTER FUNCTION "internal"."limpiar_eventos_antiguos"() OWNER TO "postgres"; + + +CREATE OR REPLACE FUNCTION "internal"."limpiar_huerfanas_resueltas"() RETURNS "jsonb" + LANGUAGE "plpgsql" SECURITY DEFINER + SET "search_path" TO 'public' + SET "TimeZone" TO 'America/Argentina/Buenos_Aires' + AS $$ +DECLARE + v_dias_gracia INT; + v_eliminadas INT; +BEGIN + v_dias_gracia := internal.get_config_int('retencion.huerfanas_resueltas_dias', 14); + + DELETE FROM reservas_huerfanas + WHERE estado_resolucion <> 'pendiente' + AND resuelto_en IS NOT NULL + AND resuelto_en < now() - (v_dias_gracia * INTERVAL '1 day'); + + GET DIAGNOSTICS v_eliminadas = ROW_COUNT; + + RETURN jsonb_build_object( + 'status', 'success', + 'huerfanas_eliminadas', v_eliminadas, + 'dias_gracia', v_dias_gracia, + 'mensaje', format( + 'Se eliminaron %s huérfanas resueltas/reubicadas con más de %s días desde su cambio de estado (las pendientes y las en gracia se conservan).', + v_eliminadas, v_dias_gracia + ) + ); +END; +$$; + + +ALTER FUNCTION "internal"."limpiar_huerfanas_resueltas"() OWNER TO "postgres"; + + +CREATE OR REPLACE FUNCTION "internal"."limpiar_turnos_antiguos"() RETURNS "jsonb" + LANGUAGE "plpgsql" SECURITY DEFINER + SET "search_path" TO 'public' + SET "TimeZone" TO 'America/Argentina/Buenos_Aires' + AS $$ +DECLARE + v_meses INT; + v_fecha_limite DATE; + v_eliminados INT; +BEGIN + v_meses := internal.get_config_int('retencion.turnos_meses', 2); + v_fecha_limite := CURRENT_DATE - (v_meses * INTERVAL '1 month'); + + DELETE FROM turnos + WHERE fecha < v_fecha_limite; + + GET DIAGNOSTICS v_eliminados = ROW_COUNT; + + RETURN jsonb_build_object( + 'status', 'success', + 'fecha_corte', v_fecha_limite, + 'meses_conservados', v_meses, + 'turnos_eliminados', v_eliminados, + 'mensaje', format( + 'Se eliminaron %s turnos anteriores a %s (reservas asociadas eliminadas por CASCADE).', + v_eliminados, v_fecha_limite + ) + ); +END; +$$; + + +ALTER FUNCTION "internal"."limpiar_turnos_antiguos"() OWNER TO "postgres"; + + +CREATE OR REPLACE FUNCTION "internal"."log_evento"("p_tipo" "text", "p_tabla" "text", "p_referencia_id" "uuid", "p_cliente_id" "uuid", "p_actor_id" "uuid", "p_valor_anterior" "jsonb", "p_valor_actual" "jsonb", "p_descripcion" "text" DEFAULT NULL::"text") RETURNS "void" + LANGUAGE "plpgsql" SECURITY DEFINER + SET "search_path" TO 'public' + AS $$ +DECLARE + v_cap INT; + v_count INT; +BEGIN + -- Cap de seguridad (US-R12): freno anti-loop. Rechazamos el insert + -- cuyo conteo resultante igualaría o superaría el cap, de modo que el + -- cap es el valor que el conteo no debe alcanzar. Bug ruidoso > bug + -- silencioso: que falle la cascada y nos enteremos. + v_cap := internal.get_config_int('retencion.eventos_cap', 50000); + SELECT count(*) INTO v_count FROM public.eventos; + IF v_count + 1 >= v_cap THEN + RAISE EXCEPTION + 'No se puede registrar el evento "%": public.eventos alcanzó su cap de seguridad (% filas). Suele indicar un bug que dispara eventos en loop; revisar la causa antes de subir retencion.eventos_cap en internal.app_config.', + p_tipo, v_cap; + END IF; + + INSERT INTO public.eventos ( + tipo, tabla_referencia, referencia_id, + cliente_id, actor_id, + valor_anterior, valor_actual, descripcion + ) VALUES ( + p_tipo, p_tabla, p_referencia_id, + p_cliente_id, p_actor_id, + p_valor_anterior, p_valor_actual, p_descripcion + ); +END; +$$; + + +ALTER FUNCTION "internal"."log_evento"("p_tipo" "text", "p_tabla" "text", "p_referencia_id" "uuid", "p_cliente_id" "uuid", "p_actor_id" "uuid", "p_valor_anterior" "jsonb", "p_valor_actual" "jsonb", "p_descripcion" "text") OWNER TO "postgres"; + + +CREATE OR REPLACE FUNCTION "internal"."pagos_del_mes"("p_anio_mes" "date") RETURNS TABLE("cliente_nombre" "text", "cliente_dni" "text", "fecha_pago" "text", "anio_mes_pagado" "text", "monto" numeric, "metodo" "text", "plan" "text", "registrado_por" "text") + LANGUAGE "sql" STABLE SECURITY DEFINER + SET "search_path" TO 'public' + SET "TimeZone" TO 'America/Argentina/Buenos_Aires' + AS $$ + SELECT + trim(cl.nombre || ' ' || COALESCE(cl.apellido, '')) AS cliente_nombre, + cl.dni AS cliente_dni, + to_char(p.fecha_pago, 'YYYY-MM-DD HH24:MI') AS fecha_pago, + to_char(p.anio_mes_pagado, 'YYYY-MM-DD') AS anio_mes_pagado, + p.monto_total AS monto, + m.descripcion AS metodo, + COALESCE(p.detalle->>'cuota_nombre', tc.nombre) AS plan, + ru.nombre AS registrado_por + FROM pagos p + JOIN usuarios cl ON cl.id = p.cliente_id + LEFT JOIN metodos_pago m ON m.id = p.metodo_id + LEFT JOIN tipos_cuota tc ON tc.id = p.tipo_cuota_id + LEFT JOIN usuarios ru ON ru.id = p.created_by + WHERE p.anio_mes_pagado = date_trunc('month', p_anio_mes)::date + AND p.anulado_at IS NULL + ORDER BY cliente_nombre, p.fecha_pago; +$$; + + +ALTER FUNCTION "internal"."pagos_del_mes"("p_anio_mes" "date") OWNER TO "postgres"; + + +CREATE OR REPLACE FUNCTION "internal"."pagos_mes_archivado"("p_anio_mes" "date") RETURNS boolean + LANGUAGE "sql" STABLE SECURITY DEFINER + SET "search_path" TO 'public' + AS $$ + SELECT EXISTS ( + SELECT 1 + FROM internal.archivo_exports + WHERE tipo = 'pagos' + AND resultado = 'ok' + AND anio_mes_target = date_trunc('month', p_anio_mes)::date + ); +$$; + + +ALTER FUNCTION "internal"."pagos_mes_archivado"("p_anio_mes" "date") OWNER TO "postgres"; + + +CREATE OR REPLACE FUNCTION "internal"."upsert_horario_especial"("p_datos" "jsonb") RETURNS "date" + LANGUAGE "plpgsql" + SET "search_path" TO 'public' + SET "TimeZone" TO 'America/Argentina/Buenos_Aires' + AS $$ +DECLARE + v_fecha DATE; + v_dia_semana SMALLINT; + v_tipo VARCHAR(25); + v_motivo TEXT; + v_dia_especial_id INT; + v_turnos_generados BOOLEAN; + v_bloque RECORD; + v_hora_iter TIME; +BEGIN + v_fecha := (p_datos->>'fecha')::DATE; + v_dia_semana := EXTRACT(ISODOW FROM v_fecha)::SMALLINT; + + + IF v_fecha < (now() AT TIME ZONE 'America/Argentina/Buenos_Aires')::DATE THEN + RAISE EXCEPTION 'No se pueden alterar horarios en fechas pasadas.'; + END IF; + + v_motivo := p_datos->>'motivo'; + + IF (p_datos->'rangos') IS NULL OR jsonb_typeof(p_datos->'rangos') <> 'array' OR jsonb_array_length(p_datos->'rangos') = 0 THEN + v_tipo := 'cerrado'; + ELSE + v_tipo := 'horario_diferente'; + END IF; + + -- 1. Upsert del día especial + INSERT INTO dias_especiales (fecha, tipo, motivo) + VALUES (v_fecha, v_tipo, v_motivo) + ON CONFLICT (fecha) DO UPDATE + SET tipo = EXCLUDED.tipo, motivo = EXCLUDED.motivo + RETURNING id INTO v_dia_especial_id; + + DELETE FROM horario_actividad_especial WHERE dia_especial_id = v_dia_especial_id; + + IF v_tipo = 'horario_diferente' THEN + INSERT INTO horario_actividad_especial (dia_especial_id, actividad_id, hora_inicio, hora_fin) + SELECT DISTINCT v_dia_especial_id, (rango->>'actividad_id')::INT, (rango->>'hora_inicio')::TIME, (rango->>'hora_fin')::TIME + FROM jsonb_array_elements(p_datos->'rangos') AS rango; + END IF; + + -- 2. Análisis del estado JIT + SELECT EXISTS (SELECT 1 FROM turnos WHERE fecha = v_fecha) INTO v_turnos_generados; + + IF v_turnos_generados THEN + IF v_tipo = 'cerrado' THEN + -- Rescate total + INSERT INTO reservas_huerfanas (cliente_id, actividad_nombre, fecha_original, hora_inicio_original) + SELECT r.cliente_id, a.nombre, t.fecha, t.hora_inicio + FROM reservas r JOIN turnos t ON r.turno_id = t.id JOIN actividades a ON t.actividad_id = a.id + WHERE t.fecha = v_fecha AND r.cancelada = false; + + -- Borrado total + DELETE FROM turnos WHERE fecha = v_fecha; + ELSE + -- Rescate parcial (Match Suave) + INSERT INTO reservas_huerfanas (cliente_id, actividad_nombre, fecha_original, hora_inicio_original) + SELECT r.cliente_id, a.nombre, t.fecha, t.hora_inicio + FROM reservas r JOIN turnos t ON r.turno_id = t.id JOIN actividades a ON t.actividad_id = a.id + WHERE t.fecha = v_fecha + AND r.cancelada = false + AND NOT EXISTS ( + SELECT 1 FROM jsonb_array_elements(p_datos->'rangos') AS rng + WHERE (rng->>'actividad_id')::INT = t.actividad_id + AND t.hora_inicio >= (rng->>'hora_inicio')::TIME + AND t.hora_fin <= (rng->>'hora_fin')::TIME + ); + + -- Borrado parcial + DELETE FROM turnos t + WHERE t.fecha = v_fecha + AND NOT EXISTS ( + SELECT 1 FROM jsonb_array_elements(p_datos->'rangos') AS rng + WHERE (rng->>'actividad_id')::INT = t.actividad_id + AND t.hora_inicio >= (rng->>'hora_inicio')::TIME + AND t.hora_fin <= (rng->>'hora_fin')::TIME + ); + + -- Parcheo JIT + FOR v_bloque IN ( + SELECT (r->>'actividad_id')::INT AS act_id, (r->>'hora_inicio')::TIME AS h_in, (r->>'hora_fin')::TIME AS h_out, + a.duracion, a.capacidad_por_defecto + FROM jsonb_array_elements(p_datos->'rangos') AS r + JOIN actividades a ON a.id = (r->>'actividad_id')::INT + ) LOOP + v_hora_iter := v_bloque.h_in; + WHILE v_hora_iter + (v_bloque.duracion || ' minutes')::INTERVAL <= v_bloque.h_out LOOP + INSERT INTO turnos (actividad_id, fecha, hora_inicio, hora_fin, capacidad_maxima, es_especial, dia_semana) + VALUES (v_bloque.act_id, v_fecha, v_hora_iter, v_hora_iter + (v_bloque.duracion || ' minutes')::INTERVAL, v_bloque.capacidad_por_defecto, true, v_dia_semana) + ON CONFLICT DO NOTHING; + v_hora_iter := v_hora_iter + (v_bloque.duracion || ' minutes')::INTERVAL; + END LOOP; + END LOOP; + END IF; + END IF; + + RETURN v_fecha; +END; +$$; + + +ALTER FUNCTION "internal"."upsert_horario_especial"("p_datos" "jsonb") OWNER TO "postgres"; + + +CREATE OR REPLACE FUNCTION "internal"."upsert_horario_regular"("p_datos" "jsonb") RETURNS "date" + LANGUAGE "plpgsql" + SET "search_path" TO 'public' + SET "TimeZone" TO 'America/Argentina/Buenos_Aires' + AS $$ +DECLARE + v_fecha DATE; + v_dia_semana SMALLINT; + v_valido_desde DATE; + v_alcance_tipo TEXT; + v_alcance_fecha DATE; + v_valido_hasta_nuevo DATE; + v_fecha_conflicto DATE; + v_fechas_afectadas DATE[]; + v_f DATE; + v_bloque RECORD; + v_hora_iter TIME; +BEGIN + ------------------------------------------------------------ + -- 0. Parseo y validación de entrada + ------------------------------------------------------------ + v_fecha := (p_datos->>'fecha')::DATE; + v_dia_semana := EXTRACT(ISODOW FROM v_fecha)::SMALLINT; + v_valido_desde := COALESCE((p_datos->>'valido_desde')::DATE, v_fecha); + + IF v_valido_desde < (now() AT TIME ZONE 'America/Argentina/Buenos_Aires')::DATE THEN + RAISE EXCEPTION 'valido_desde no puede ser una fecha pasada.'; + END IF; + + v_alcance_tipo := COALESCE(p_datos->'alcance'->>'tipo', 'hasta_proximo'); + + IF v_alcance_tipo NOT IN ('indefinido', 'hasta_proximo', 'hasta') THEN + RAISE EXCEPTION + 'alcance.tipo inválido: %. Debe ser ''indefinido'', ''hasta_proximo'' o ''hasta''.', + v_alcance_tipo; + END IF; + + IF v_alcance_tipo = 'hasta' THEN + v_alcance_fecha := (p_datos->'alcance'->>'fecha')::DATE; + IF v_alcance_fecha IS NULL THEN + RAISE EXCEPTION 'alcance.fecha es obligatorio cuando alcance.tipo = ''hasta''.'; + END IF; + IF v_alcance_fecha < v_valido_desde THEN + RAISE EXCEPTION + 'alcance.fecha (%) no puede ser anterior a valido_desde (%).', + v_alcance_fecha, v_valido_desde; + END IF; + END IF; + + ------------------------------------------------------------ + -- 1. Resolver el valido_hasta del nuevo intervalo según el alcance + ------------------------------------------------------------ + IF v_alcance_tipo = 'indefinido' THEN + -- Purga todas las plantillas futuras del mismo dia_semana + DELETE FROM horario_actividad + WHERE dia_semana = v_dia_semana + AND valido_desde > v_valido_desde; + v_valido_hasta_nuevo := NULL; + + ELSIF v_alcance_tipo = 'hasta_proximo' THEN + -- Cerrar antes del próximo futuro, o quedar abierto si no hay + SELECT MIN(valido_desde) - 1 + INTO v_valido_hasta_nuevo + FROM horario_actividad + WHERE dia_semana = v_dia_semana + AND valido_desde > v_valido_desde; + + ELSE -- 'hasta' + -- Validar que no haya futuros dentro del intervalo solicitado + SELECT MIN(valido_desde) + INTO v_fecha_conflicto + FROM horario_actividad + WHERE dia_semana = v_dia_semana + AND valido_desde > v_valido_desde + AND valido_desde <= v_alcance_fecha; + + IF v_fecha_conflicto IS NOT NULL THEN + RAISE EXCEPTION + 'Conflicto: existe una planificación con valido_desde = % dentro del intervalo [%, %]. Modificá el alcance o eliminá la planificación previamente.', + v_fecha_conflicto, v_valido_desde, v_alcance_fecha; + END IF; + v_valido_hasta_nuevo := v_alcance_fecha; + END IF; + + ------------------------------------------------------------ + -- 2. Limpieza estructural en horario_actividad + ------------------------------------------------------------ + -- 2.A Colisión exacta: si ya existía una plantilla con el mismo valido_desde, + -- la borramos para reemplazarla con los rangos nuevos. + DELETE FROM horario_actividad + WHERE dia_semana = v_dia_semana + AND valido_desde = v_valido_desde; + + -- 2.B Cerrar la(s) plantilla(s) anterior(es) que se solapen con el nuevo desde. + UPDATE horario_actividad + SET valido_hasta = v_valido_desde - 1 + WHERE dia_semana = v_dia_semana + AND valido_desde < v_valido_desde + AND (valido_hasta IS NULL OR valido_hasta >= v_valido_desde); + + -- 2.C Insertar los rangos nuevos con la vigencia ya resuelta. + INSERT INTO horario_actividad + (dia_semana, actividad_id, hora_inicio, hora_fin, valido_desde, valido_hasta) + SELECT DISTINCT + v_dia_semana, + (rango->>'actividad_id')::INT, + (rango->>'hora_inicio')::TIME, + (rango->>'hora_fin')::TIME, + v_valido_desde, + v_valido_hasta_nuevo + FROM jsonb_array_elements(p_datos->'rangos') AS rango; + + ------------------------------------------------------------ + -- 3. Match suave sobre turnos JIT ya materializados + -- Acotado al intervalo efectivo del nuevo (fix del bug viejo: + -- no tocar turnos que pertenezcan a futuros que se respetan). + ------------------------------------------------------------ + SELECT array_agg(DISTINCT fecha) + INTO v_fechas_afectadas + FROM turnos + WHERE dia_semana = v_dia_semana + AND fecha >= v_valido_desde + AND fecha <= COALESCE(v_valido_hasta_nuevo, 'infinity'::date); + + IF v_fechas_afectadas IS NOT NULL THEN + -- 3.A Rescate de huérfanas + INSERT INTO reservas_huerfanas + (cliente_id, actividad_nombre, fecha_original, hora_inicio_original) + SELECT r.cliente_id, a.nombre, t.fecha, t.hora_inicio + FROM reservas r + JOIN turnos t ON r.turno_id = t.id + JOIN actividades a ON t.actividad_id = a.id + WHERE t.fecha = ANY(v_fechas_afectadas) + AND r.cancelada = false + AND NOT EXISTS ( + SELECT 1 FROM jsonb_array_elements(p_datos->'rangos') AS rng + WHERE (rng->>'actividad_id')::INT = t.actividad_id + AND t.hora_inicio >= (rng->>'hora_inicio')::TIME + AND t.hora_fin <= (rng->>'hora_fin')::TIME + ); + + -- 3.B Borrado selectivo de turnos que ya no calzan con los rangos nuevos + DELETE FROM turnos t + WHERE t.fecha = ANY(v_fechas_afectadas) + AND NOT EXISTS ( + SELECT 1 FROM jsonb_array_elements(p_datos->'rangos') AS rng + WHERE (rng->>'actividad_id')::INT = t.actividad_id + AND t.hora_inicio >= (rng->>'hora_inicio')::TIME + AND t.hora_fin <= (rng->>'hora_fin')::TIME + ); + + -- 3.C Parcheo JIT iterativo para esas fechas + FOREACH v_f IN ARRAY v_fechas_afectadas LOOP + FOR v_bloque IN ( + SELECT (r->>'actividad_id')::INT AS act_id, + (r->>'hora_inicio')::TIME AS h_in, + (r->>'hora_fin')::TIME AS h_out, + a.duracion, a.capacidad_por_defecto + FROM jsonb_array_elements(p_datos->'rangos') AS r + JOIN actividades a ON a.id = (r->>'actividad_id')::INT + ) LOOP + v_hora_iter := v_bloque.h_in; + WHILE v_hora_iter + (v_bloque.duracion || ' minutes')::INTERVAL <= v_bloque.h_out LOOP + INSERT INTO turnos + (actividad_id, fecha, hora_inicio, hora_fin, + capacidad_maxima, es_especial, dia_semana) + VALUES ( + v_bloque.act_id, v_f, v_hora_iter, + v_hora_iter + (v_bloque.duracion || ' minutes')::INTERVAL, + v_bloque.capacidad_por_defecto, false, v_dia_semana + ) + ON CONFLICT DO NOTHING; + v_hora_iter := v_hora_iter + (v_bloque.duracion || ' minutes')::INTERVAL; + END LOOP; + END LOOP; + END LOOP; + END IF; + + RETURN v_valido_desde; +END; +$$; + + +ALTER FUNCTION "internal"."upsert_horario_regular"("p_datos" "jsonb") OWNER TO "postgres"; + + +CREATE OR REPLACE FUNCTION "internal"."validar_token"("p_token" "uuid") RETURNS "text" + LANGUAGE "plpgsql" STABLE SECURITY DEFINER + SET "search_path" TO 'public' + AS $$ +DECLARE + v_rol TEXT; +BEGIN + SELECT u.rol + FROM public.usuarios u + JOIN internal.sesiones s ON s.usuario_id = u.id + AND s.token = p_token + AND s.expires_at > NOW() + INTO v_rol; +RETURN v_rol; +END; +$$; + + +ALTER FUNCTION "internal"."validar_token"("p_token" "uuid") OWNER TO "postgres"; + + +CREATE OR REPLACE FUNCTION "internal"."validate_permission"("p_token" "uuid", "p_accion" "text") RETURNS "void" + LANGUAGE "plpgsql" STABLE SECURITY DEFINER + SET "search_path" TO 'public' + AS $$ +DECLARE + v_rol TEXT; + v_roles_permitidos TEXT[]; +BEGIN + SELECT internal.validar_token(p_token) INTO v_rol; + + IF v_rol IS NULL THEN + RAISE EXCEPTION 'Token de sesión inválido o expirado'; + END IF; + + SELECT roles_permitidos INTO v_roles_permitidos + FROM internal.permisos + WHERE accion = p_accion; + + IF v_roles_permitidos IS NULL THEN + RAISE EXCEPTION 'Error interno: acción no reconocida: %', p_accion; + END IF; + + IF v_rol <> ALL(v_roles_permitidos) THEN + RAISE EXCEPTION 'No tienes internal.permisos para realizar esta acción'; + END IF; +END; +$$; + + +ALTER FUNCTION "internal"."validate_permission"("p_token" "uuid", "p_accion" "text") OWNER TO "postgres"; + + +CREATE OR REPLACE FUNCTION "public"."fc_anular_pago"("p_id" "uuid", "p_motivo" "text", "p_token" "uuid") RETURNS "jsonb" + LANGUAGE "plpgsql" SECURITY DEFINER + SET "search_path" TO 'public' + AS $$ +DECLARE + v_actor_id UUID; + v_actor_rol TEXT; + v_has_gestion BOOLEAN; + v_ventana_minutos INT; + v_pago public.pagos%ROWTYPE; + v_motivo_limpio TEXT; + v_snapshot_min JSONB; +BEGIN + PERFORM internal.validate_permission(p_token, 'agregar_pagos'); + + SELECT s.usuario_id, u.rol + INTO v_actor_id, v_actor_rol + FROM internal.sesiones s + JOIN usuarios u ON u.id = s.usuario_id + WHERE s.token = p_token; + + IF v_actor_id IS NULL THEN + RAISE EXCEPTION 'Sesión inválida o usuario no encontrado.'; + END IF; + + SELECT EXISTS ( + SELECT 1 FROM internal.permisos + WHERE accion = 'gestionar_cualquier_pago' + AND v_actor_rol = ANY(roles_permitidos) + ) INTO v_has_gestion; + + SELECT * INTO v_pago FROM public.pagos WHERE id = p_id FOR UPDATE; + IF NOT FOUND THEN + RAISE EXCEPTION 'No se encontró el pago.'; + END IF; + + -- Pago archivado: inmutable (US-R11, DominioPagos §14). Bloquea incluso a + -- la autoridad plena, que normalmente puede anular fuera de ventana: una + -- vez en el archivo, anular descoordinaría base y XLSX. Se chequea antes + -- que el resto porque es la condición de inmutabilidad más fuerte. + IF internal.pagos_mes_archivado(v_pago.anio_mes_pagado) THEN + RAISE EXCEPTION 'Pago archivado. No se puede modificar.'; + END IF; + + IF v_pago.anulado_at IS NOT NULL THEN + RAISE EXCEPTION 'Este pago ya estaba anulado.'; + END IF; + + IF NOT v_has_gestion THEN + IF v_pago.created_by IS DISTINCT FROM v_actor_id THEN + RAISE EXCEPTION 'No tenés permiso para anular este pago.'; + END IF; + v_ventana_minutos := internal.get_config_int('pagos.ventana_edicion_minutos', 30); + IF now() > v_pago.created_at + (v_ventana_minutos || ' minutes')::interval THEN + RAISE EXCEPTION 'La ventana de anulación de este pago ya venció.'; + END IF; + END IF; + + v_motivo_limpio := NULLIF(trim(p_motivo), ''); + + UPDATE public.pagos + SET anulado_at = now(), + anulado_por = v_actor_id, + motivo_anulacion = v_motivo_limpio + WHERE id = p_id; + + v_snapshot_min := jsonb_build_object( + 'tipo', v_pago.tipo, + 'monto_total', v_pago.monto_total, + 'anio_mes_pagado', v_pago.anio_mes_pagado, + 'metodo_id', v_pago.metodo_id, + 'tipo_cuota_id', v_pago.tipo_cuota_id + ); + + PERFORM internal.log_evento( + p_tipo => 'pago_anulado', + p_tabla => 'pagos', + p_referencia_id => p_id, + p_cliente_id => v_pago.cliente_id, + p_actor_id => v_actor_id, + p_valor_anterior => v_snapshot_min, + p_valor_actual => NULL, + p_descripcion => v_motivo_limpio + ); + + RETURN ( + SELECT jsonb_build_object( + 'id', p.id, + 'tipo', p.tipo, + 'anio_mes_pagado', p.anio_mes_pagado, + 'fecha_pago', p.fecha_pago, + 'monto_total', p.monto_total, + 'detalle', p.detalle, + 'metodo', m.descripcion, + 'created_at', p.created_at, + 'created_by', p.created_by, + 'created_by_nombre', cu.nombre, + 'updated_at', p.updated_at, + 'updated_by_nombre', uu.nombre, + 'anulado_at', p.anulado_at, + 'anulado_por_nombre', au.nombre, + 'motivo_anulacion', p.motivo_anulacion, + 'cliente', jsonb_build_object( + 'nombre', cl.nombre, + 'apellido', cl.apellido, + 'dni', cl.dni + ) + ) + FROM public.pagos p + JOIN public.usuarios cl ON p.cliente_id = cl.id + LEFT JOIN public.metodos_pago m ON p.metodo_id = m.id + LEFT JOIN public.usuarios cu ON p.created_by = cu.id + LEFT JOIN public.usuarios uu ON p.updated_by = uu.id + LEFT JOIN public.usuarios au ON p.anulado_por = au.id + WHERE p.id = p_id + ); +END; +$$; + + +ALTER FUNCTION "public"."fc_anular_pago"("p_id" "uuid", "p_motivo" "text", "p_token" "uuid") OWNER TO "postgres"; + + +CREATE OR REPLACE FUNCTION "public"."fc_cancelar_reserva"("p_token" "uuid", "p_cliente_id" "uuid", "p_reserva_id" "uuid", "p_horas_anticipacion" integer DEFAULT 24) RETURNS "jsonb" + LANGUAGE "plpgsql" SECURITY DEFINER + SET "search_path" TO 'public' + SET "TimeZone" TO 'America/Argentina/Buenos_Aires' + AS $$ +DECLARE + v_turno_timestamp TIMESTAMP; +BEGIN + ------------------------------------------------------------ + -- 1. Autenticación + ------------------------------------------------------------ + PERFORM internal.validate_permission(p_token, 'reservar_turno'); + + ------------------------------------------------------------ + -- 2. Validar Existencia y Propiedad + ------------------------------------------------------------ + -- Buscamos la reserva y calculamos el Timestamp exacto del turno + SELECT (t.fecha + t.hora_inicio)::TIMESTAMP + INTO v_turno_timestamp + FROM reservas r + JOIN turnos t ON r.turno_id = t.id + WHERE r.id = p_reserva_id + AND r.cliente_id = p_cliente_id -- ¡Vital para que no cancelen reservas ajenas! + AND r.cancelada = false; + + IF NOT FOUND THEN + RAISE EXCEPTION 'La reserva no existe, no te pertenece o ya fue cancelada.'; + END IF; + + ------------------------------------------------------------ + -- 3. Validar Anticipación (La regla de las X horas) + ------------------------------------------------------------ + -- LOCALTIMESTAMP nos da la fecha y hora actual del servidor + IF v_turno_timestamp - LOCALTIMESTAMP < (p_horas_anticipacion || ' hours')::INTERVAL THEN + RAISE EXCEPTION 'No podés cancelar la reserva con menos de % horas de anticipación.', p_horas_anticipacion; + END IF; + + ------------------------------------------------------------ + -- 4. Ejecutar Cancelación (Soft Delete) + ------------------------------------------------------------ + UPDATE reservas + SET cancelada = true, + cancelada_en = now() + WHERE id = p_reserva_id; + + RETURN jsonb_build_object( + 'status', 'success', + 'mensaje', 'Tu reserva fue cancelada con éxito.' + ); + +END; +$$; + + +ALTER FUNCTION "public"."fc_cancelar_reserva"("p_token" "uuid", "p_cliente_id" "uuid", "p_reserva_id" "uuid", "p_horas_anticipacion" integer) OWNER TO "postgres"; + + +CREATE OR REPLACE FUNCTION "public"."fc_cancelar_reserva_admin"("p_token" "uuid", "p_reserva_id" "uuid") RETURNS "jsonb" + LANGUAGE "plpgsql" SECURITY DEFINER + SET "search_path" TO 'public' + SET "TimeZone" TO 'America/Argentina/Buenos_Aires' + AS $$ +BEGIN + ------------------------------------------------------------ + -- 1. Autenticación Elevada + ------------------------------------------------------------ + PERFORM internal.validate_permission(p_token, 'gestionar_reservas'); + + ------------------------------------------------------------ + -- 2. Validar Existencia + ------------------------------------------------------------ + IF NOT EXISTS (SELECT 1 FROM reservas WHERE id = p_reserva_id AND cancelada = false) THEN + RAISE EXCEPTION 'La reserva no existe o ya se encuentra cancelada.'; + END IF; + + -- OMITIDAS intencionalmente (Bypass Administrativo): + -- ✖ Validación de Propiedad (cliente_id) + -- ✖ Validación de Horas de Anticipación + + ------------------------------------------------------------ + -- 3. Ejecutar Cancelación (Soft Delete) + ------------------------------------------------------------ + UPDATE reservas + SET cancelada = true, + cancelada_en = now() + WHERE id = p_reserva_id; + + RETURN jsonb_build_object( + 'status', 'success', + 'mensaje', 'La reserva fue cancelada administrativamente.' + ); + +END; +$$; + + +ALTER FUNCTION "public"."fc_cancelar_reserva_admin"("p_token" "uuid", "p_reserva_id" "uuid") OWNER TO "postgres"; + + +CREATE OR REPLACE FUNCTION "public"."fc_editar_pago"("p_id" "uuid", "p_datos" "jsonb", "p_token" "uuid") RETURNS "jsonb" + LANGUAGE "plpgsql" SECURITY DEFINER + SET "search_path" TO 'public' + AS $$ +DECLARE + v_actor_id UUID; + v_actor_rol TEXT; + v_has_gestion BOOLEAN; + v_ventana_minutos INT; + v_pago public.pagos%ROWTYPE; + v_after public.pagos%ROWTYPE; + v_diff_anterior JSONB := '{}'::jsonb; + v_diff_actual JSONB := '{}'::jsonb; + v_new_metodo_id SMALLINT; + v_new_anio_mes DATE; + v_new_tipo_cuota UUID; + v_new_monto NUMERIC; +BEGIN + PERFORM internal.validate_permission(p_token, 'agregar_pagos'); + + SELECT s.usuario_id, u.rol + INTO v_actor_id, v_actor_rol + FROM internal.sesiones s + JOIN usuarios u ON u.id = s.usuario_id + WHERE s.token = p_token; + + IF v_actor_id IS NULL THEN + RAISE EXCEPTION 'Sesión inválida o usuario no encontrado.'; + END IF; + + SELECT EXISTS ( + SELECT 1 FROM internal.permisos + WHERE accion = 'gestionar_cualquier_pago' + AND v_actor_rol = ANY(roles_permitidos) + ) INTO v_has_gestion; + + SELECT * INTO v_pago FROM public.pagos WHERE id = p_id FOR UPDATE; + IF NOT FOUND THEN + RAISE EXCEPTION 'No se encontró el pago.'; + END IF; + + -- Pago archivado: inmutable (US-R11, DominioPagos §14). Se chequea antes + -- que cualquier otra regla porque es la condición de inmutabilidad más + -- fuerte: si el mes ya viajó al archivo, no hay edición posible para + -- nadie. (Normalmente el pipeline ya borró la fila, pero el guard cubre + -- la ventana entre marcar 'ok' y el DELETE, y deja la regla explícita.) + IF internal.pagos_mes_archivado(v_pago.anio_mes_pagado) THEN + RAISE EXCEPTION 'Pago archivado. No se puede modificar.'; + END IF; + + IF v_pago.anulado_at IS NOT NULL THEN + RAISE EXCEPTION 'No se puede editar un pago anulado.'; + END IF; + + IF v_pago.tipo <> 'cuota_mensual' THEN + RAISE EXCEPTION 'Sólo se pueden editar pagos de tipo cuota_mensual'; + END IF; + + IF NOT v_has_gestion THEN + IF v_pago.created_by IS DISTINCT FROM v_actor_id THEN + RAISE EXCEPTION 'No tenés permiso para editar este pago.'; + END IF; + END IF; + + v_ventana_minutos := internal.get_config_int('pagos.ventana_edicion_minutos', 30); + IF now() > v_pago.created_at + (v_ventana_minutos || ' minutes')::interval THEN + RAISE EXCEPTION 'La ventana de edición de este pago ya venció.'; + END IF; + + IF p_datos ? 'cliente_id' THEN + RAISE EXCEPTION 'cliente_id no es editable. Anulá el pago y cargá uno nuevo.'; + END IF; + IF p_datos ? 'tipo' THEN + RAISE EXCEPTION 'tipo no es editable. Anulá el pago y cargá uno nuevo.'; + END IF; + + IF p_datos ? 'metodo_id' THEN + v_new_metodo_id := (p_datos->>'metodo_id')::SMALLINT; + IF v_new_metodo_id IS NULL THEN + RAISE EXCEPTION 'metodo_id no puede ser nulo en un pago de cuota_mensual.'; + END IF; + PERFORM 1 FROM metodos_pago WHERE id = v_new_metodo_id AND activo = true; + IF NOT FOUND THEN + RAISE EXCEPTION 'El método de pago ID % no existe o no está activo.', v_new_metodo_id; + END IF; + END IF; + + IF p_datos ? 'anio_mes_pagado' THEN + v_new_anio_mes := date_trunc('month', (p_datos->>'anio_mes_pagado')::DATE)::DATE; + IF v_new_anio_mes IS NULL THEN + RAISE EXCEPTION 'anio_mes_pagado no puede ser nulo en un pago de cuota_mensual.'; + END IF; + END IF; + + IF p_datos ? 'monto_total' THEN + v_new_monto := (p_datos->>'monto_total')::NUMERIC; + IF v_new_monto IS NULL OR v_new_monto < 0 THEN + RAISE EXCEPTION 'El monto total es inválido para un pago de cuota_mensual.'; + END IF; + END IF; + + IF p_datos ? 'tipo_cuota_id' THEN + IF (p_datos->>'tipo_cuota_id') IS NOT NULL THEN + v_new_tipo_cuota := (p_datos->>'tipo_cuota_id')::UUID; + PERFORM 1 FROM tipos_cuota WHERE id = v_new_tipo_cuota; + IF NOT FOUND THEN + RAISE EXCEPTION 'El tipo de cuota ID % no existe.', v_new_tipo_cuota; + END IF; + ELSE + v_new_tipo_cuota := NULL; + END IF; + END IF; + + UPDATE public.pagos p + SET metodo_id = CASE WHEN p_datos ? 'metodo_id' + THEN v_new_metodo_id ELSE p.metodo_id END, + anio_mes_pagado = CASE WHEN p_datos ? 'anio_mes_pagado' + THEN v_new_anio_mes ELSE p.anio_mes_pagado END, + fecha_pago = CASE WHEN p_datos ? 'fecha_pago' + THEN (p_datos->>'fecha_pago')::TIMESTAMPTZ + ELSE p.fecha_pago END, + monto_total = CASE WHEN p_datos ? 'monto_total' + THEN v_new_monto ELSE p.monto_total END, + detalle = CASE WHEN p_datos ? 'detalle' + THEN p_datos->'detalle' ELSE p.detalle END, + tipo_cuota_id = CASE WHEN p_datos ? 'tipo_cuota_id' + THEN v_new_tipo_cuota ELSE p.tipo_cuota_id END, + updated_at = now(), + updated_by = v_actor_id + WHERE p.id = p_id + RETURNING * INTO v_after; + + IF v_pago.metodo_id IS DISTINCT FROM v_after.metodo_id THEN + v_diff_anterior := v_diff_anterior || jsonb_build_object('metodo_id', v_pago.metodo_id); + v_diff_actual := v_diff_actual || jsonb_build_object('metodo_id', v_after.metodo_id); + END IF; + IF v_pago.anio_mes_pagado IS DISTINCT FROM v_after.anio_mes_pagado THEN + v_diff_anterior := v_diff_anterior || jsonb_build_object('anio_mes_pagado', v_pago.anio_mes_pagado); + v_diff_actual := v_diff_actual || jsonb_build_object('anio_mes_pagado', v_after.anio_mes_pagado); + END IF; + IF v_pago.fecha_pago IS DISTINCT FROM v_after.fecha_pago THEN + v_diff_anterior := v_diff_anterior || jsonb_build_object('fecha_pago', v_pago.fecha_pago); + v_diff_actual := v_diff_actual || jsonb_build_object('fecha_pago', v_after.fecha_pago); + END IF; + IF v_pago.monto_total IS DISTINCT FROM v_after.monto_total THEN + v_diff_anterior := v_diff_anterior || jsonb_build_object('monto_total', v_pago.monto_total); + v_diff_actual := v_diff_actual || jsonb_build_object('monto_total', v_after.monto_total); + END IF; + IF v_pago.detalle IS DISTINCT FROM v_after.detalle THEN + v_diff_anterior := v_diff_anterior || jsonb_build_object('detalle', v_pago.detalle); + v_diff_actual := v_diff_actual || jsonb_build_object('detalle', v_after.detalle); + END IF; + IF v_pago.tipo_cuota_id IS DISTINCT FROM v_after.tipo_cuota_id THEN + v_diff_anterior := v_diff_anterior || jsonb_build_object('tipo_cuota_id', v_pago.tipo_cuota_id); + v_diff_actual := v_diff_actual || jsonb_build_object('tipo_cuota_id', v_after.tipo_cuota_id); + END IF; + + IF v_diff_anterior <> '{}'::jsonb THEN + PERFORM internal.log_evento( + p_tipo => 'pago_editado', + p_tabla => 'pagos', + p_referencia_id => p_id, + p_cliente_id => v_after.cliente_id, + p_actor_id => v_actor_id, + p_valor_anterior => v_diff_anterior, + p_valor_actual => v_diff_actual, + p_descripcion => NULL + ); + END IF; + + RETURN ( + SELECT jsonb_build_object( + 'id', p.id, + 'tipo', p.tipo, + 'anio_mes_pagado', p.anio_mes_pagado, + 'fecha_pago', p.fecha_pago, + 'monto_total', p.monto_total, + 'detalle', p.detalle, + 'metodo', m.descripcion, + 'created_at', p.created_at, + 'created_by', p.created_by, + 'created_by_nombre', cu.nombre, + 'updated_at', p.updated_at, + 'updated_by_nombre', uu.nombre, + 'anulado_at', p.anulado_at, + 'anulado_por_nombre', au.nombre, + 'motivo_anulacion', p.motivo_anulacion, + 'cliente', jsonb_build_object( + 'nombre', cl.nombre, + 'apellido', cl.apellido, + 'dni', cl.dni + ) + ) + FROM public.pagos p + JOIN public.usuarios cl ON p.cliente_id = cl.id + LEFT JOIN public.metodos_pago m ON p.metodo_id = m.id + LEFT JOIN public.usuarios cu ON p.created_by = cu.id + LEFT JOIN public.usuarios uu ON p.updated_by = uu.id + LEFT JOIN public.usuarios au ON p.anulado_por = au.id + WHERE p.id = p_id + ); +END; +$$; + + +ALTER FUNCTION "public"."fc_editar_pago"("p_id" "uuid", "p_datos" "jsonb", "p_token" "uuid") OWNER TO "postgres"; + + +CREATE OR REPLACE FUNCTION "public"."fc_eliminar_actividad"("p_token" "uuid", "p_actividad_id" integer) RETURNS boolean + LANGUAGE "plpgsql" SECURITY DEFINER + SET "search_path" TO 'public' + SET "TimeZone" TO 'America/Argentina/Buenos_Aires' + AS $$ +DECLARE + v_actor_id UUID; + v_actividad_id INT; + v_actividad_nombre TEXT; + v_count_turnos_futuros INT; + v_count_reservas_vivas INT; +BEGIN + ------------------------------------------------------------ + -- 1. Permisos + actor + ------------------------------------------------------------ + PERFORM internal.validate_permission(p_token, 'eliminar_actividad'); + + SELECT s.usuario_id + INTO v_actor_id + FROM internal.sesiones s + WHERE s.token = p_token; + + IF v_actor_id IS NULL THEN + RAISE EXCEPTION 'Sesión inválida o usuario no encontrado.'; + END IF; + + ------------------------------------------------------------ + -- 2. Identidad mínima de la actividad (debe existir para continuar) + ------------------------------------------------------------ + SELECT a.id, a.nombre + INTO v_actividad_id, v_actividad_nombre + FROM actividades a + WHERE a.id = p_actividad_id; + + IF v_actividad_id IS NULL THEN + -- No existe: nada que borrar, nada que loggear. + RETURN FALSE; + END IF; + + ------------------------------------------------------------ + -- 3. Pre-conteo de compromisos vivos (lo único que importa + -- para reconstrucción operativa; los pasados igual iban + -- a desaparecer por retención). + ------------------------------------------------------------ + SELECT COUNT(*)::INT INTO v_count_turnos_futuros + FROM turnos + WHERE actividad_id = p_actividad_id + AND fecha >= CURRENT_DATE; + + SELECT COUNT(*)::INT INTO v_count_reservas_vivas + FROM reservas r + JOIN turnos t ON r.turno_id = t.id + WHERE t.actividad_id = p_actividad_id + AND t.fecha >= CURRENT_DATE + AND r.cancelada = false; + + ------------------------------------------------------------ + -- 4. Borrado físico (cascadea por FK) + ------------------------------------------------------------ + BEGIN + DELETE FROM actividades a WHERE a.id = p_actividad_id; + EXCEPTION + WHEN foreign_key_violation THEN + -- El único origen esperado es actividades_tipos_cuota (no cascadea). + RAISE EXCEPTION 'No se puede eliminar la actividad % porque está incluida en uno o más planes. Sacala de los planes primero, o desactivala si querés conservarla en el sistema.', p_actividad_id; + END; + + ------------------------------------------------------------ + -- 5. Trazabilidad del cambio estructural destructivo (§11) + -- Si log_evento fallara, la transacción entera revierte + -- (el DELETE no queda firme sin trazabilidad). + ------------------------------------------------------------ + PERFORM internal.log_evento( + p_tipo => 'actividad_eliminada', + p_tabla => 'actividades', + p_referencia_id => NULL, + p_cliente_id => NULL, + p_actor_id => v_actor_id, + p_valor_anterior => jsonb_build_object( + 'actividad', jsonb_build_object( + 'id', v_actividad_id, + 'nombre', v_actividad_nombre + ), + 'destruido', jsonb_build_object( + 'turnos_futuros', v_count_turnos_futuros, + 'reservas_vivas', v_count_reservas_vivas + ) + ), + p_valor_actual => NULL, + p_descripcion => NULL + ); + + RETURN TRUE; +END; +$$; + + +ALTER FUNCTION "public"."fc_eliminar_actividad"("p_token" "uuid", "p_actividad_id" integer) OWNER TO "postgres"; + + +CREATE OR REPLACE FUNCTION "public"."fc_eliminar_dia_especial"("p_token" "uuid", "p_fecha" "date") RETURNS "jsonb" + LANGUAGE "plpgsql" SECURITY DEFINER + SET "search_path" TO 'public' + SET "TimeZone" TO 'America/Argentina/Buenos_Aires' + AS $$ +DECLARE + v_dia_especial_id INT; + v_dia_semana SMALLINT; + v_bloque RECORD; + v_hora_iter TIME; +BEGIN + PERFORM internal.validate_permission(p_token, 'modificar_horarios'); + + IF p_fecha < CURRENT_DATE THEN + RAISE EXCEPTION 'No se pueden alterar horarios en fechas pasadas.'; + END IF; + + SELECT id INTO v_dia_especial_id + FROM dias_especiales + WHERE fecha = p_fecha; + + IF v_dia_especial_id IS NULL THEN + RAISE EXCEPTION 'No existe un día especial para la fecha %.', p_fecha; + END IF; + + v_dia_semana := EXTRACT(ISODOW FROM p_fecha)::SMALLINT; + + ------------------------------------------------------------ + -- 1. Match suave contra la plantilla REGULAR vigente para esta fecha + -- (no contra el JSON: la plantilla regular es la referencia) + ------------------------------------------------------------ + + -- 1.A Rescate de huérfanas: reservas activas sobre turnos que NO calzan + -- con ningún rango de la plantilla regular para esta fecha. + INSERT INTO reservas_huerfanas + (cliente_id, actividad_nombre, fecha_original, hora_inicio_original) + SELECT r.cliente_id, a.nombre, t.fecha, t.hora_inicio + FROM reservas r + JOIN turnos t ON r.turno_id = t.id + JOIN actividades a ON t.actividad_id = a.id + WHERE t.fecha = p_fecha + AND r.cancelada = false + AND NOT EXISTS ( + SELECT 1 FROM horario_actividad ha + WHERE ha.dia_semana = v_dia_semana + AND ha.actividad_id = t.actividad_id + AND ha.valido_desde <= p_fecha + AND (ha.valido_hasta IS NULL OR ha.valido_hasta >= p_fecha) + AND t.hora_inicio >= ha.hora_inicio + AND t.hora_fin <= ha.hora_fin + ); + + -- 1.B Borrado selectivo de turnos que no calzan con la plantilla regular. + DELETE FROM turnos t + WHERE t.fecha = p_fecha + AND NOT EXISTS ( + SELECT 1 FROM horario_actividad ha + WHERE ha.dia_semana = v_dia_semana + AND ha.actividad_id = t.actividad_id + AND ha.valido_desde <= p_fecha + AND (ha.valido_hasta IS NULL OR ha.valido_hasta >= p_fecha) + AND t.hora_inicio >= ha.hora_inicio + AND t.hora_fin <= ha.hora_fin + ); + + -- 1.C Para los turnos que SÍ calzaron, marcar es_especial=false: + -- ya no estamos bajo régimen especial, son turnos regulares ahora. + UPDATE turnos + SET es_especial = false + WHERE fecha = p_fecha + AND es_especial = true; + + -- 1.D Parcheo: materializar los turnos regulares que falten. + FOR v_bloque IN ( + SELECT ha.actividad_id AS act_id, + ha.hora_inicio AS h_in, + ha.hora_fin AS h_out, + a.duracion, a.capacidad_por_defecto + FROM horario_actividad ha + JOIN actividades a ON ha.actividad_id = a.id + WHERE ha.dia_semana = v_dia_semana + AND ha.valido_desde <= p_fecha + AND (ha.valido_hasta IS NULL OR ha.valido_hasta >= p_fecha) + AND a.activo = true + ) LOOP + v_hora_iter := v_bloque.h_in; + WHILE v_hora_iter + (v_bloque.duracion || ' minutes')::INTERVAL <= v_bloque.h_out LOOP + INSERT INTO turnos + (actividad_id, fecha, hora_inicio, hora_fin, + capacidad_maxima, es_especial, dia_semana) + VALUES ( + v_bloque.act_id, p_fecha, v_hora_iter, + v_hora_iter + (v_bloque.duracion || ' minutes')::INTERVAL, + v_bloque.capacidad_por_defecto, false, v_dia_semana + ) ON CONFLICT DO NOTHING; + v_hora_iter := v_hora_iter + (v_bloque.duracion || ' minutes')::INTERVAL; + END LOOP; + END LOOP; + + ------------------------------------------------------------ + -- 2. Borrar el día especial (CASCADE limpia horario_actividad_especial) + ------------------------------------------------------------ + DELETE FROM dias_especiales WHERE id = v_dia_especial_id; + + ------------------------------------------------------------ + -- 3. Devolver el estado actualizado de la fecha + ------------------------------------------------------------ + RETURN public.fc_obtener_horarios(p_token, p_fecha, 1::smallint); +END; +$$; + + +ALTER FUNCTION "public"."fc_eliminar_dia_especial"("p_token" "uuid", "p_fecha" "date") OWNER TO "postgres"; + + +CREATE OR REPLACE FUNCTION "public"."fc_eliminar_sesion"("p_token" "uuid") RETURNS "void" + LANGUAGE "plpgsql" SECURITY DEFINER + SET "search_path" TO 'public' + AS $$ +BEGIN + DELETE FROM internal.sesiones s WHERE s.token = p_token; +END; +$$; + + +ALTER FUNCTION "public"."fc_eliminar_sesion"("p_token" "uuid") OWNER TO "postgres"; + + +CREATE OR REPLACE FUNCTION "public"."fc_eliminar_tipo_cuota"("p_id" "uuid", "p_token" "uuid") RETURNS boolean + LANGUAGE "plpgsql" SECURITY DEFINER + SET "search_path" TO 'public' + AS $$ +DECLARE + v_id_borrado UUID; +BEGIN + -- ----------------------------------------------------------- + -- Checklist #3: Validar permisos (Centralizado) + -- ----------------------------------------------------------- + PERFORM internal.validate_permission(p_token, 'eliminar_tipo_cuota'); + + -- ----------------------------------------------------------- + -- 1. DELETE + RETURNING + -- ----------------------------------------------------------- + -- Aprovechamos tus constraints: + -- 1. Borra relaciones en 'actividades_tipos_cuota' (CASCADE) + -- 2. Pone en NULL el campo 'tipo_cuota' en 'usuarios' (SET NULL) + DELETE FROM tipos_cuota + WHERE id = p_id + RETURNING id INTO v_id_borrado; + + -- ----------------------------------------------------------- + -- 2. Validación de existencia + -- ----------------------------------------------------------- + IF v_id_borrado IS NULL THEN + RAISE EXCEPTION 'El tipo de cuota con ID % no existe.', p_id; + END IF; + + -- ----------------------------------------------------------- + -- 3. Retorno Informativo + -- ----------------------------------------------------------- + RETURN TRUE; +END; +$$; + + +ALTER FUNCTION "public"."fc_eliminar_tipo_cuota"("p_id" "uuid", "p_token" "uuid") OWNER TO "postgres"; + + +CREATE OR REPLACE FUNCTION "public"."fc_eliminar_usuario"("p_dni" "text", "p_token" "uuid") RETURNS boolean + LANGUAGE "plpgsql" SECURITY DEFINER + SET "search_path" TO 'public' + AS $$ +DECLARE + v_id_eliminado UUID; + + BEGIN + + PERFORM internal.validate_permission(p_token := p_token, p_accion := 'eliminar_usuarios'); + + BEGIN + DELETE FROM public.usuarios + WHERE dni = p_dni + RETURNING id INTO v_id_eliminado; + + EXCEPTION + WHEN foreign_key_violation THEN + -- Este mensaje es mucho más amigable que el error nativo de Postgres + RAISE EXCEPTION 'No se puede eliminar el usuario % porque tiene registros asociados (pagos, historial, etc). Primero debe archivar o borrar esos datos.', p_dni; + END; + + -- 3. Validar si encontró al usuario + IF v_id_eliminado IS NULL THEN + RAISE EXCEPTION 'No existe un usuario con el DNI %', p_dni; + END IF; + RETURN TRUE; +END; +$$; + + +ALTER FUNCTION "public"."fc_eliminar_usuario"("p_dni" "text", "p_token" "uuid") OWNER TO "postgres"; + + +CREATE OR REPLACE FUNCTION "public"."fc_ingresar"("dni_input" "text", "password_plain_input" "text") RETURNS TABLE("token" "uuid", "rol" "text") + LANGUAGE "plpgsql" SECURITY DEFINER + SET "search_path" TO 'extensions', 'public' + AS $$ +DECLARE + v_user_id UUID; + v_user_rol TEXT; + v_session_token UUID; + v_stored_password_hash TEXT; +BEGIN + SELECT u.id, u.rol, u.password_hash + INTO v_user_id, v_user_rol, v_stored_password_hash + FROM public.usuarios u + WHERE u.dni = dni_input; + + IF NOT FOUND THEN + RAISE EXCEPTION 'Usuario o contraseña inválidos.'; + END IF; + + IF v_stored_password_hash IS NULL OR v_stored_password_hash <> crypt(password_plain_input, v_stored_password_hash) THEN + RAISE EXCEPTION 'Usuario o contraseña inválidos.'; + END IF; + + v_session_token := gen_random_uuid(); + INSERT INTO internal.sesiones (usuario_id, token, expires_at) + VALUES(v_user_id, v_session_token, NOW() + INTERVAL '10 days'); + + RETURN QUERY SELECT v_session_token, v_user_rol; +END; +$$; + + +ALTER FUNCTION "public"."fc_ingresar"("dni_input" "text", "password_plain_input" "text") OWNER TO "postgres"; + + +CREATE OR REPLACE FUNCTION "public"."fc_insertar_actividad"("p_token" "uuid", "p_datos" "jsonb") RETURNS "jsonb" + LANGUAGE "plpgsql" SECURITY DEFINER + SET "search_path" TO 'public' + AS $$ +DECLARE + v_actividad_insertada RECORD; +BEGIN + ------------------------------------------------------------ + -- Checklist #3: Validar permisos (Centralizado) + ------------------------------------------------------------ + -- Acción sugerida: 'crear_actividad' + PERFORM internal.validate_permission(p_token, 'crear_actividad'); + + ------------------------------------------------------------ + -- 1. Validaciones de Entrada + ------------------------------------------------------------ + -- Validamos que los campos obligatorios vengan y NO sean nulos + IF (p_datos->>'nombre') IS NULL OR length(p_datos->>'nombre') = 0 THEN + RAISE EXCEPTION 'El nombre de la actividad es obligatorio.'; + END IF; + + IF (p_datos->>'duracion') IS NULL OR (p_datos->>'duracion')::INT <= 0 THEN + RAISE EXCEPTION 'La duración es obligatoria y debe ser mayor a 0.'; + END IF; + + IF (p_datos->>'capacidad_por_defecto') IS NULL OR (p_datos->>'capacidad_por_defecto')::INT <= 0 THEN + RAISE EXCEPTION 'La capacidad por defecto es obligatoria y debe ser mayor a 0.'; + END IF; + + ------------------------------------------------------------ + -- 2. Insertar directo (Sin variables intermedias) + ------------------------------------------------------------ + INSERT INTO actividades ( + nombre, + duracion, + capacidad_por_defecto, + libre, + activo + ) + VALUES ( + p_datos->>'nombre', + (p_datos->>'duracion')::SMALLINT, + (p_datos->>'capacidad_por_defecto')::SMALLINT, + COALESCE((p_datos->>'libre')::BOOLEAN, FALSE), -- Default FALSE si no viene + COALESCE((p_datos->>'activo')::BOOLEAN, TRUE) -- Default TRUE si no viene + ) + RETURNING * INTO v_actividad_insertada; -- Capturamos todo el registro + + ------------------------------------------------------------ + -- 3. Retorno JSONB Seguro + ------------------------------------------------------------ + -- Al usar keys explícitas, nunca más tendrás el error de columnas intercambiadas + RETURN jsonb_build_object( + 'id', v_actividad_insertada.id, + 'nombre', v_actividad_insertada.nombre, + 'duracion', v_actividad_insertada.duracion, + 'capacidad_por_defecto', v_actividad_insertada.capacidad_por_defecto, + 'libre', v_actividad_insertada.libre, + 'activo', v_actividad_insertada.activo, + 'status', 'success' + ); + +END; +$$; + + +ALTER FUNCTION "public"."fc_insertar_actividad"("p_token" "uuid", "p_datos" "jsonb") OWNER TO "postgres"; + + +CREATE OR REPLACE FUNCTION "public"."fc_insertar_horario_con_actividades"("p_token" "uuid", "p_datos" "jsonb") RETURNS "jsonb" + LANGUAGE "plpgsql" SECURITY DEFINER + SET "search_path" TO 'public' + SET "TimeZone" TO 'America/Argentina/Buenos_Aires' + AS $$ +DECLARE + v_fecha DATE; + v_es_especial BOOLEAN; + v_fecha_retorno DATE; +BEGIN + PERFORM internal.validate_permission(p_token, 'modificar_horarios'); + + IF (p_datos->>'fecha') IS NULL THEN + RAISE EXCEPTION 'El campo fecha es obligatorio en el nodo raíz del JSON.'; + END IF; + + v_fecha := (p_datos->>'fecha')::DATE; + v_es_especial := COALESCE((p_datos->>'es_especial')::BOOLEAN, false); + + -- Enrutamiento interno + IF v_es_especial THEN + v_fecha_retorno := internal.upsert_horario_especial(p_datos); + ELSE + v_fecha_retorno := internal.upsert_horario_regular(p_datos); + END IF; + + -- Retornamos el estado final usando la función unificada de lectura + RETURN public.fc_obtener_horarios(p_token, v_fecha_retorno, 1::smallint); +END; +$$; + + +ALTER FUNCTION "public"."fc_insertar_horario_con_actividades"("p_token" "uuid", "p_datos" "jsonb") OWNER TO "postgres"; + + +CREATE OR REPLACE FUNCTION "public"."fc_insertar_pago"("p_datos" "jsonb", "p_token" "uuid") RETURNS "jsonb" + LANGUAGE "plpgsql" SECURITY DEFINER + SET "search_path" TO 'public' + SET "TimeZone" TO 'America/Argentina/Buenos_Aires' + AS $$ +DECLARE + v_actor_id UUID; + v_cliente_id UUID; + v_metodo_id SMALLINT; + v_anio_mes DATE; + v_fecha_pago TIMESTAMPTZ; + v_monto NUMERIC; + v_detalle JSONB; + v_tipo_cuota_id UUID; + v_set_default BOOLEAN; + v_info_cuota JSONB; + v_pago_insertado RECORD; + v_meses_retencion INT; + v_mes_limite DATE; +BEGIN + PERFORM internal.validate_permission(p_token, 'agregar_pagos'); + + -- Actualmente la app sólo crea pagos de tipo 'cuota_mensual'. + -- En un futuro, se podrían registrar pagos de otras cosas (nutricionista, pago anualizado, o cosas así) + -- y las tablas ya lo soportan, sólo se cambiaría esta función. + + IF p_datos ? 'tipo' AND (p_datos->>'tipo') IS DISTINCT FROM 'cuota_mensual' THEN + RAISE EXCEPTION 'Tipo de pago no soportado'; + END IF; + + -- Autor del registro de pago, lo queremos para auditoría (created_by). + SELECT usuario_id INTO v_actor_id FROM internal.sesiones WHERE token = p_token; + IF v_actor_id IS NULL THEN + RAISE EXCEPTION 'Sesión inválida o usuario no encontrado.'; + END IF; + + SELECT id INTO v_cliente_id FROM usuarios WHERE dni = (p_datos->>'dni'); + IF NOT FOUND THEN + RAISE EXCEPTION 'No existe un usuario con el DNI %', p_datos->>'dni'; + END IF; + + v_metodo_id := (p_datos->>'metodo_id')::SMALLINT; + IF v_metodo_id IS NULL THEN + RAISE EXCEPTION 'El campo metodo_id es obligatorio'; + END IF; + + PERFORM 1 FROM metodos_pago WHERE id = v_metodo_id AND activo = true; + IF NOT FOUND THEN + RAISE EXCEPTION 'El método de pago ID % no existe o no está activo', v_metodo_id; + END IF; + + v_tipo_cuota_id := (p_datos->>'tipo_cuota_id')::UUID; + v_set_default := COALESCE((p_datos->>'set_default_tipo_cuota')::BOOLEAN, false); + v_detalle := COALESCE(p_datos->'detalle', '{}'::jsonb); + + IF v_tipo_cuota_id IS NOT NULL THEN + SELECT jsonb_build_object( + 'cuota_nombre', nombre, + 'cuota_precio', precio, + 'cuota_dias_semana', dias_semana + ) INTO v_info_cuota + FROM tipos_cuota + WHERE id = v_tipo_cuota_id; + + IF NOT FOUND THEN + RAISE EXCEPTION 'El tipo de cuota ID % no existe', v_tipo_cuota_id; + END IF; + + v_detalle := v_detalle || v_info_cuota; + END IF; + + v_anio_mes := date_trunc('month', (p_datos->>'anio_mes_pagado')::DATE)::DATE; + v_fecha_pago := COALESCE((p_datos->>'fecha_pago')::TIMESTAMPTZ, NOW()); + v_monto := (p_datos->>'monto_total')::NUMERIC; + + -- cuota_mensual: monto positivo o cero. Los correctivos (que aún no se + -- pueden crear acá) podrán llevar negativo cuando tengan sus funciones. + IF v_monto IS NULL OR v_monto < 0 THEN + RAISE EXCEPTION 'El monto total es inválido.'; + END IF; + + -- Ventana de retención (US-R10): no permitir registrar un pago cuyo mes + -- objetivo ya quedó fuera de la ventana operativa de pagos. De aceptarse, + -- el pipeline mensual lo archivaría y purgaría casi de inmediato (ver + -- Documentation/PoliticaRetencion.md §4, §7). Sólo se valida el borde + -- inferior: los meses futuros (pago adelantado) no son un problema de + -- retención y quedan deliberadamente fuera de esta validación. + v_meses_retencion := internal.get_config_int('retencion.pagos_meses', 12); + v_mes_limite := date_trunc('month', CURRENT_DATE)::DATE + - (v_meses_retencion * INTERVAL '1 month'); + IF v_anio_mes < v_mes_limite THEN + RAISE EXCEPTION + 'No se puede registrar un pago para el mes %: está fuera de la ventana de retención de pagos (% meses). El mes más antiguo admitido es %.', + to_char(v_anio_mes, 'YYYY-MM'), v_meses_retencion, to_char(v_mes_limite, 'YYYY-MM'); + END IF; + + INSERT INTO public.pagos ( + id, cliente_id, anio_mes_pagado, fecha_pago, monto_total, + metodo_id, detalle, tipo_cuota_id, tipo, created_by + ) VALUES ( + gen_random_uuid(), v_cliente_id, v_anio_mes, v_fecha_pago, v_monto, + v_metodo_id, v_detalle, v_tipo_cuota_id, 'cuota_mensual', v_actor_id + ) + RETURNING id, anio_mes_pagado, fecha_pago, monto_total, detalle + INTO v_pago_insertado; + + + IF v_set_default AND v_tipo_cuota_id IS NOT NULL THEN + UPDATE usuarios + SET tipo_cuota = v_tipo_cuota_id, + isactive = true + WHERE id = v_cliente_id; + ELSE + UPDATE usuarios + SET isactive = true + WHERE id = v_cliente_id; + END IF; + + -- No loggeamos creación en eventos (decisión de scope): created_at/created_by + -- ya cubren la trazabilidad de la inserción. + + RETURN jsonb_build_object( + 'id', v_pago_insertado.id, + 'cliente_id', v_cliente_id, + 'anio_mes_pagado', v_pago_insertado.anio_mes_pagado, + 'fecha_pago', v_pago_insertado.fecha_pago, + 'monto_total', v_pago_insertado.monto_total, + 'status', 'success' + ); +END; +$$; + + +ALTER FUNCTION "public"."fc_insertar_pago"("p_datos" "jsonb", "p_token" "uuid") OWNER TO "postgres"; + + +CREATE OR REPLACE FUNCTION "public"."fc_insertar_tipo_cuota"("p_datos" "jsonb", "p_token" "uuid") RETURNS "jsonb" + LANGUAGE "plpgsql" SECURITY DEFINER + SET "search_path" TO 'public' + AS $$ +DECLARE + v_tipo_id UUID; +BEGIN + ---------------------------------------------------------------------- + -- Checklist #3: Validación de permisos (Centralizada) + ---------------------------------------------------------------------- + -- Asumimos la acción 'crear_tipo_cuota' + PERFORM internal.validate_permission(p_token, 'agregar_tipo_cuota'); + + ---------------------------------------------------------------------- + -- 1. Inserción del Padre (Tipos Cuota) + ---------------------------------------------------------------------- + INSERT INTO tipos_cuota ( + -- No insertamos ID manual, dejamos que el default gen_random_uuid() actúe + nombre, + descripcion, + dias_semana, + precio, + parasocios, + dia_de_pago, + recargo + ) VALUES ( + p_datos->>'nombre', + p_datos->>'descripcion', + (p_datos->>'dias_semana')::SMALLINT, + COALESCE((p_datos->>'precio')::NUMERIC, 0), + COALESCE((p_datos->>'para_socios')::BOOLEAN, FALSE), + (p_datos->>'dia_de_pago')::SMALLINT, -- Cast a SMALLINT según DDL + (p_datos->>'recargo')::NUMERIC -- NULL si no viene, correcto + ) + RETURNING id INTO v_tipo_id; -- Capturamos el ID generado + + ---------------------------------------------------------------------- + -- 2. Inserción Masiva de Actividades (Sin Bucle) + ---------------------------------------------------------------------- + IF p_datos ? 'actividades_ids' THEN + + IF jsonb_typeof(p_datos->'actividades_ids') <> 'array' THEN + RAISE EXCEPTION 'El campo actividades_ids debe ser un array JSON'; + END IF; + + -- MAGIA SQL: Insertamos todo de un golpe desglosando el array + INSERT INTO actividades_tipos_cuota (tipo_cuota_id, actividad_id) + SELECT + v_tipo_id, + (actividad_json)::INT + FROM jsonb_array_elements_text(p_datos->'actividades_ids') AS actividad_json; + + END IF; + + ---------------------------------------------------------------------- + -- 3. Retorno Reutilizando Lógica + ---------------------------------------------------------------------- + -- Aprovechamos que ya optimizamos fc_obtener_tipo_cuota para devolver + -- el objeto completo con sus actividades ya formateadas. + -- Nota: Esto devuelve un array de 1 elemento [{}], es consistente. + RETURN fc_obtener_tipo_cuota(p_token, v_tipo_id); +END; +$$; + + +ALTER FUNCTION "public"."fc_insertar_tipo_cuota"("p_datos" "jsonb", "p_token" "uuid") OWNER TO "postgres"; + + +CREATE OR REPLACE FUNCTION "public"."fc_insertar_usuario"("p_datos" "jsonb", "p_token" "uuid") RETURNS "void" + LANGUAGE "plpgsql" SECURITY DEFINER + SET "search_path" TO 'extensions', 'public' + AS $$ +DECLARE + v_password_hash TEXT; + v_rol TEXT; + + -- Campos del nuevo usuario + new_dni TEXT; + new_nombre TEXT; + new_apellido TEXT; + new_mail TEXT; + new_telefono TEXT; + new_peso DECIMAL(5,2); + new_altura INTEGER; + new_fuerza_max DECIMAL(10,2); + new_sexo TEXT; + new_rol TEXT; + new_password TEXT; + new_isactive BOOL; + new_tipo_cuota UUID; + +BEGIN + -- 1. Validar el token de sesión y obtener el rol del usuario que llama. + PERFORM internal.validate_permission(p_token := p_token, p_accion := 'modificar_usuarios'); + + -- 2. Validar que no esté intentando crear un admin o superadmin si no puede + + new_rol := p_datos->>'rol'; + + IF new_rol = 'superadmin' THEN + PERFORM internal.validate_permission(p_token := p_token, p_accion := 'agregar_superadmin'); + ELSIF new_rol = 'admin' THEN + PERFORM internal.validate_permission(p_token := p_token, p_accion := 'agregar_admin'); + END IF; + + -- 2.5 Extraer campos del JSONB + new_dni := p_datos->>'dni'; + new_nombre := p_datos->>'nombre'; + new_apellido := p_datos->>'apellido'; + new_mail := p_datos->>'mail'; + new_telefono := p_datos->>'telefono'; + new_peso := (p_datos->>'peso')::DECIMAL; + new_altura := (p_datos->>'altura')::INTEGER; + new_fuerza_max := (p_datos->>'fuerza_max')::DECIMAL; + new_sexo := COALESCE(p_datos->>'sexo', 'Hombre'); + + new_password := p_datos->>'password'; + new_isactive := (p_datos->>'isActive')::BOOLEAN; + + -- CORRECCIÓN 1: Validar que exista la key Y que NO sea null antes de buscar en la BD + IF p_datos ? 'tipo_cuota' AND (p_datos->>'tipo_cuota') IS NOT NULL THEN + new_tipo_cuota := (p_datos->>'tipo_cuota')::UUID; + + -- Validar que exista el tipo_cuota en la tabla padre + IF NOT EXISTS ( + SELECT 1 FROM tipos_cuota + WHERE id = new_tipo_cuota + ) THEN + RAISE EXCEPTION 'El tipo_cuota % no existe.', new_tipo_cuota; + END IF; + ELSE + -- Si no viene o es null, asignamos NULL explícitamente + new_tipo_cuota := NULL; + END IF; + + IF new_password IS NULL THEN + RAISE EXCEPTION 'La contraseña es obligatoria'; + END IF; + + -- 3. Hashear la contraseña + SELECT internal.create_password_hash(new_password) INTO v_password_hash; + IF v_password_hash IS NULL THEN + RAISE EXCEPTION 'Error al generar el hash de la contraseña'; + END IF; + + -- 4. Insertar el nuevo usuario + -- CORRECCIÓN 2: Agregué 'tipo_cuota' y 'new_tipo_cuota' al INSERT + INSERT INTO public.usuarios ( + dni, nombre, apellido, mail, telefono, peso, altura, fuerza_max, + sexo, rol, password_hash, isactive, tipo_cuota + ) VALUES ( + new_dni, new_nombre, new_apellido, new_mail, new_telefono, new_peso, new_altura, new_fuerza_max, + new_sexo, new_rol, v_password_hash, new_isactive, new_tipo_cuota + ); +END; +$$; + + +ALTER FUNCTION "public"."fc_insertar_usuario"("p_datos" "jsonb", "p_token" "uuid") OWNER TO "postgres"; + + +CREATE OR REPLACE FUNCTION "public"."fc_modificar_actividad"("p_token" "uuid", "p_actividad_id" integer, "p_datos" "jsonb") RETURNS "jsonb" + LANGUAGE "plpgsql" SECURITY DEFINER + SET "search_path" TO 'public' + AS $$ +DECLARE + v_actor_id UUID; + v_activo_anterior BOOLEAN; + v_nombre_anterior TEXT; + v_actividad_actualizada RECORD; + v_tipo_evento TEXT; +BEGIN + ------------------------------------------------------------ + -- Checklist #3: Validar permisos (Centralizado) + ------------------------------------------------------------ + PERFORM internal.validate_permission(p_token, 'modificar_actividades'); + + SELECT s.usuario_id + INTO v_actor_id + FROM internal.sesiones s + WHERE s.token = p_token; + + IF v_actor_id IS NULL THEN + RAISE EXCEPTION 'Sesión inválida o usuario no encontrado.'; + END IF; + + ------------------------------------------------------------ + -- Snapshot previo (necesario para detectar flip de `activo` + -- y para el valor_anterior del evento de trazabilidad). + ------------------------------------------------------------ + SELECT a.activo, a.nombre + INTO v_activo_anterior, v_nombre_anterior + FROM actividades a + WHERE a.id = p_actividad_id; + + IF NOT FOUND THEN + RAISE EXCEPTION 'No existe la actividad con id %', p_actividad_id; + END IF; + + ------------------------------------------------------------ + -- 1. UPDATE Dinámico y Seguro + ------------------------------------------------------------ + -- Patrón CASE WHEN ? para permitir actualizaciones parciales reales. + UPDATE actividades + SET + nombre = CASE + WHEN p_datos ? 'nombre' THEN p_datos->>'nombre' + ELSE nombre + END, + + duracion = CASE + WHEN p_datos ? 'duracion' THEN (p_datos->>'duracion')::SMALLINT + ELSE duracion + END, + + capacidad_por_defecto = CASE + WHEN p_datos ? 'capacidad_por_defecto' THEN (p_datos->>'capacidad_por_defecto')::SMALLINT + ELSE capacidad_por_defecto + END, + + libre = CASE + WHEN p_datos ? 'libre' THEN (p_datos->>'libre')::BOOLEAN + ELSE libre + END, + + activo = CASE + WHEN p_datos ? 'activo' THEN (p_datos->>'activo')::BOOLEAN + ELSE activo + END + WHERE id = p_actividad_id + RETURNING * INTO v_actividad_actualizada; + + ------------------------------------------------------------ + -- 2. Trazabilidad del cambio estructural (§11) + -- Sólo si el flag `activo` efectivamente cambió. + ------------------------------------------------------------ + IF v_activo_anterior IS DISTINCT FROM v_actividad_actualizada.activo THEN + v_tipo_evento := CASE + WHEN v_actividad_actualizada.activo = FALSE THEN 'actividad_suspendida' + ELSE 'actividad_restablecida' + END; + + PERFORM internal.log_evento( + p_tipo => v_tipo_evento, + p_tabla => 'actividades', + p_referencia_id => NULL, + p_cliente_id => NULL, + p_actor_id => v_actor_id, + p_valor_anterior => jsonb_build_object( + 'actividad_id', p_actividad_id, + 'nombre', v_nombre_anterior, + 'activo', v_activo_anterior + ), + p_valor_actual => jsonb_build_object( + 'actividad_id', v_actividad_actualizada.id, + 'nombre', v_actividad_actualizada.nombre, + 'activo', v_actividad_actualizada.activo + ), + p_descripcion => NULL + ); + END IF; + + ------------------------------------------------------------ + -- 3. Retorno JSONB + ------------------------------------------------------------ + RETURN jsonb_build_object( + 'id', v_actividad_actualizada.id, + 'nombre', v_actividad_actualizada.nombre, + 'duracion', v_actividad_actualizada.duracion, + 'capacidad_por_defecto', v_actividad_actualizada.capacidad_por_defecto, + 'libre', v_actividad_actualizada.libre, + 'activo', v_actividad_actualizada.activo, + 'status', 'success' + ); + +END; +$$; + + +ALTER FUNCTION "public"."fc_modificar_actividad"("p_token" "uuid", "p_actividad_id" integer, "p_datos" "jsonb") OWNER TO "postgres"; + + +CREATE OR REPLACE FUNCTION "public"."fc_modificar_estado_usuario"("p_token" "uuid", "p_id" "uuid", "p_estado" boolean) RETURNS "void" + LANGUAGE "plpgsql" SECURITY DEFINER + SET "search_path" TO 'public' + AS $$ +BEGIN + PERFORM internal.validate_permission(p_token := p_token, p_accion := 'desactivar_usuarios'); + + update public.usuarios + set isactive = p_estado + where id = p_id; +END; +$$; + + +ALTER FUNCTION "public"."fc_modificar_estado_usuario"("p_token" "uuid", "p_id" "uuid", "p_estado" boolean) OWNER TO "postgres"; + + +CREATE OR REPLACE FUNCTION "public"."fc_modificar_metodos_pago"("p_datos" "jsonb", "p_token" "uuid") RETURNS "jsonb" + LANGUAGE "plpgsql" SECURITY DEFINER + SET "search_path" TO 'public' + AS $$ +DECLARE + v_resultado JSONB; + v_id INTEGER; +BEGIN + -- ----------------------------------------------------------- + -- Checklist #3: Validar permisos + -- ----------------------------------------------------------- + PERFORM internal.validate_permission(p_token, 'modificar_metodos_pago'); + + + -- 3. Validar que venga el ID para saber qué modificar + IF NOT p_datos ? 'id' OR p_datos->>'id' IS NULL THEN + RAISE EXCEPTION 'Debe indicar el ID del tipo de cuota a modificar.'; + END IF; + + v_id := (p_datos->>'id')::INTEGER; + -- ----------------------------------------------------------- + -- 1. UPDATE Dinámico y Seguro + -- ----------------------------------------------------------- + UPDATE metodos_pago + SET + descripcion = CASE + WHEN p_datos ? 'descripcion' THEN p_datos->>'descripcion' + ELSE descripcion + END, + + activo = CASE + WHEN p_datos ? 'activo' THEN (p_datos->>'activo')::BOOL + ELSE activo + END, + + -- BUG CORREGIDO: Ahora si no viene el icono, no lo tocamos. + icono = CASE + WHEN p_datos ? 'icono' THEN p_datos->>'icono' + ELSE icono + END + WHERE id = v_id + RETURNING to_jsonb(metodos_pago.*) INTO v_resultado; -- Retorno atómico + + -- ----------------------------------------------------------- + -- 2. Verificar si se actualizó algo + -- ----------------------------------------------------------- + IF v_resultado IS NULL THEN + RAISE EXCEPTION 'El método de pago con ID % no existe.', v_id; + END IF; + + RETURN v_resultado; +END; +$$; + + +ALTER FUNCTION "public"."fc_modificar_metodos_pago"("p_datos" "jsonb", "p_token" "uuid") OWNER TO "postgres"; + + +CREATE OR REPLACE FUNCTION "public"."fc_modificar_rol_usuario"("p_uid" "uuid", "p_nuevo_rol" "text", "p_token" "uuid") RETURNS "void" + LANGUAGE "plpgsql" SECURITY DEFINER + SET "search_path" TO 'public' + AS $$ +DECLARE +BEGIN + PERFORM internal.validate_permission(p_token := p_token, p_accion := 'modificar_rol_usuarios'); + + UPDATE public.usuarios + SET rol = p_nuevo_rol, + fecha_modificacion = now() + WHERE id = p_uid; +END; +$$; + + +ALTER FUNCTION "public"."fc_modificar_rol_usuario"("p_uid" "uuid", "p_nuevo_rol" "text", "p_token" "uuid") OWNER TO "postgres"; + + +CREATE OR REPLACE FUNCTION "public"."fc_modificar_tipo_cuota"("p_id" "uuid", "p_datos" "jsonb", "p_token" "uuid") RETURNS "jsonb" + LANGUAGE "plpgsql" SECURITY DEFINER + SET "search_path" TO 'public' + AS $$ +DECLARE + -- No necesitamos variables extra +BEGIN + ------------------------------------------------------------------------- + -- Checklist #3: Validar permisos (Centralizado) + ------------------------------------------------------------------------- + -- Acción sugerida: 'modificar_tipo_cuota' + PERFORM internal.validate_permission(p_token, 'modificar_tipos_cuota'); + + ------------------------------------------------------------------------- + -- 1. Validaciones previas + ------------------------------------------------------------------------- + -- Verificamos existencia del registro padre antes de intentar nada + PERFORM 1 FROM tipos_cuota WHERE id = p_id; + IF NOT FOUND THEN + RAISE EXCEPTION 'El tipo de cuota con ID % no existe.', p_id; + END IF; + + ------------------------------------------------------------------------- + -- 2. UPDATE dinámico del Padre (Tipos Cuota) + ------------------------------------------------------------------------- + -- Usamos tu lógica de CASE WHEN ? para respetar nulos vs no enviados + UPDATE tipos_cuota + SET + nombre = CASE WHEN p_datos ? 'nombre' THEN p_datos->>'nombre' ELSE nombre END, + descripcion = CASE WHEN p_datos ? 'descripcion' THEN p_datos->>'descripcion' ELSE descripcion END, + dias_semana = CASE WHEN p_datos ? 'dias_semana' THEN (p_datos->>'dias_semana')::SMALLINT ELSE dias_semana END, + precio = CASE WHEN p_datos ? 'precio' THEN (p_datos->>'precio')::NUMERIC ELSE precio END, + parasocios = CASE WHEN p_datos ? 'para_socios' THEN (p_datos->>'para_socios')::BOOL ELSE parasocios END, + dia_de_pago = CASE WHEN p_datos ? 'dia_de_pago' THEN (p_datos->>'dia_de_pago')::SMALLINT ELSE dia_de_pago END, -- Cast a SMALLINT + recargo = CASE WHEN p_datos ? 'recargo' THEN (p_datos->>'recargo')::NUMERIC ELSE recargo END + WHERE id = p_id; + + ------------------------------------------------------------------------- + -- 3. Actualización de Relaciones (Actividades) - SET BASED + ------------------------------------------------------------------------- + -- Solo entramos si la key existe. Si mandan [] borra todo. Si no la mandan, no se toca. + IF p_datos ? 'actividades_ids' THEN + + IF jsonb_typeof(p_datos->'actividades_ids') <> 'array' THEN + RAISE EXCEPTION 'El campo actividades_ids debe ser un array JSON'; + END IF; + + -- 3.1 Borrado masivo (Limpiar la casa) + DELETE FROM actividades_tipos_cuota + WHERE tipo_cuota_id = p_id; + + -- 3.2 Inserción masiva (Sin bucle FOR) + -- Desglosamos el JSON array en filas y las insertamos de golpe + INSERT INTO actividades_tipos_cuota (tipo_cuota_id, actividad_id) + SELECT + p_id, + (actividad_json)::INT + FROM jsonb_array_elements_text(p_datos->'actividades_ids') AS actividad_json; + + END IF; + + ------------------------------------------------------------------------- + -- 4. Retorno reutilizando la función de lectura + ------------------------------------------------------------------------- + -- Como fc_obtener_tipo_cuota devuelve un array [{}], extraemos el elemento 0 + RETURN ( + SELECT jsonb_array_element(fc_obtener_tipo_cuota(p_token, p_id), 0) + ); + +END; +$$; + + +ALTER FUNCTION "public"."fc_modificar_tipo_cuota"("p_id" "uuid", "p_datos" "jsonb", "p_token" "uuid") OWNER TO "postgres"; + + +CREATE OR REPLACE FUNCTION "public"."fc_modificar_usuario"("p_datos" "jsonb", "p_token" "uuid") RETURNS "void" + LANGUAGE "plpgsql" SECURITY DEFINER + SET "search_path" TO 'public' + AS $$ +DECLARE + v_isActive_new BOOLEAN := NULL; + v_rol_actual TEXT; + v_uid UUID; +BEGIN + + -- Validar token + PERFORM internal.validate_permission(p_token := p_token, p_accion := 'modificar_usuarios'); + + -- Evaluamos primero si el JSON trae un ID válido + IF p_datos ? 'id' AND p_datos->>'id' IS NOT NULL THEN + SELECT u.id, u.rol INTO v_uid, v_rol_actual + FROM public.usuarios u + WHERE u.id = (p_datos->>'id')::UUID + FOR UPDATE; + + -- Si no hay ID, intentamos usar el DNI (fallback) + ELSIF p_datos ? 'dni' AND p_datos->>'dni' IS NOT NULL THEN + SELECT u.id, u.rol INTO v_uid, v_rol_actual + FROM public.usuarios u + WHERE u.dni = p_datos->>'dni' + FOR UPDATE; + + -- Si no mandaron ni ID ni DNI, no sabemos a quién modificar + ELSE + RAISE EXCEPTION 'Se requiere un ID o un DNI para identificar al usuario.'; + END IF; + + -- Si hicimos la búsqueda pero no encontramos coincidencias + IF NOT FOUND THEN + RAISE EXCEPTION 'Usuario no encontrado con los datos proporcionados.'; + END IF; + + -- Validar existencia del tipo_cuota SOLO si viene en el JSON y NO es null + IF p_datos ? 'tipo_cuota' AND (p_datos->>'tipo_cuota') IS NOT NULL THEN + IF NOT EXISTS ( + SELECT 1 FROM tipos_cuota + WHERE id = (p_datos->>'tipo_cuota')::UUID + ) THEN + RAISE EXCEPTION 'El tipo_cuota % no existe.', p_datos->>'tipo_cuota'; + END IF; + END IF; + + -- Validar si viene un rol en el JSON y si es distinto al que ya está en la DB + IF p_datos ? 'rol' AND (p_datos->>'rol') IS DISTINCT FROM v_rol_actual THEN + -- Delegamos la responsabilidad a la nueva función + PERFORM public.fc_modificar_rol_usuario(v_uid, p_datos->>'rol', p_token); + + -- Si llega hasta acá (no tiró excepción), eliminamos la key 'rol' del json + -- para que el UPDATE de abajo no lo sobreescriba innecesariamente. + p_datos := p_datos - 'rol'; + END IF; + + UPDATE public.usuarios + SET + nombre = CASE WHEN p_datos ? 'nombre' THEN p_datos->>'nombre' ELSE nombre END, + apellido = CASE WHEN p_datos ? 'apellido' THEN p_datos->>'apellido' ELSE apellido END, + peso = CASE WHEN p_datos ? 'peso' THEN (p_datos->>'peso')::DECIMAL ELSE peso END, + altura = CASE WHEN p_datos ? 'altura' THEN (p_datos->>'altura')::DECIMAL ELSE altura END, + mail = CASE WHEN p_datos ? 'mail' THEN p_datos->>'mail' ELSE mail END, + telefono = CASE WHEN p_datos ? 'telefono' THEN p_datos->>'telefono' ELSE telefono END, + fuerza_max= CASE WHEN p_datos ? 'fuerza_max' THEN (p_datos->>'fuerza_max')::DECIMAL ELSE fuerza_max END, + sexo = CASE WHEN p_datos ? 'sexo' THEN p_datos->>'sexo' ELSE sexo END, + -- Esto ahora permite cambiar el tipo de cuota a NULL si mandas null, o cambiarlo a otro ID + tipo_cuota= CASE WHEN p_datos ? 'tipo_cuota' THEN (p_datos->>'tipo_cuota')::UUID ELSE tipo_cuota END, + fecha_modificacion = now() + WHERE id = v_uid; + +END; +$$; + + +ALTER FUNCTION "public"."fc_modificar_usuario"("p_datos" "jsonb", "p_token" "uuid") OWNER TO "postgres"; + + +CREATE OR REPLACE FUNCTION "public"."fc_mover_reserva_huerfana"("p_token" "uuid", "p_huerfana_id" "uuid", "p_turno_id" "uuid") RETURNS "jsonb" + LANGUAGE "plpgsql" SECURITY DEFINER + SET "search_path" TO 'public' + AS $$ + DECLARE + v_cliente_id UUID; + v_estado_actual VARCHAR(20); + v_fecha_turno DATE; + v_hora_inicio TIME; + v_nueva_reserva_id UUID; + BEGIN + ------------------------------------------------------------ + -- 1. Autenticación + ------------------------------------------------------------ + PERFORM internal.validate_permission(p_token, 'gestionar_reservas'); + + ------------------------------------------------------------ + -- 2. Verificar que la huérfana existe y sigue pendiente + ------------------------------------------------------------ + SELECT cliente_id, estado_resolucion + INTO v_cliente_id, v_estado_actual + FROM reservas_huerfanas + WHERE id = p_huerfana_id + FOR UPDATE; -- evita doble reubicación concurrente + + IF NOT FOUND THEN + RAISE EXCEPTION 'La reserva huérfana no existe.'; + END IF; + + IF v_estado_actual <> 'pendiente' THEN + RAISE EXCEPTION 'La reserva huérfana ya fue resuelta (estado: %).', v_estado_actual; + END IF; + + ------------------------------------------------------------ + -- 3. Bloquear turno (integridad: existe y está activo) + ------------------------------------------------------------ + -- El lock evita carreras concurrentes en la huérfana/turno aunque + -- ya no chequeamos cupo (§9.6: reasignar es un acto del operador + -- y el cupo del bloque es advertencia, no bloqueo; la UI lo muestra + -- antes de invocar). + SELECT t.fecha, t.hora_inicio + INTO v_fecha_turno, v_hora_inicio + FROM turnos t + WHERE t.id = p_turno_id AND t.activo = true + FOR NO KEY UPDATE OF t; + + IF NOT FOUND THEN + RAISE EXCEPTION 'El turno no existe, fue cancelado o no está disponible.'; + END IF; + + ------------------------------------------------------------ + -- 4. Evitar reserva duplicada del mismo cliente en ese turno + -- (integridad, no regla operativa) + ------------------------------------------------------------ + IF EXISTS ( + SELECT 1 FROM reservas + WHERE turno_id = p_turno_id + AND cliente_id = v_cliente_id + AND cancelada = false + ) THEN + RAISE EXCEPTION 'El cliente ya tiene una reserva activa en este turno.'; + END IF; + + ------------------------------------------------------------ + -- 5. Insertar reserva + ------------------------------------------------------------ + INSERT INTO reservas (turno_id, cliente_id, reservada_en, cancelada) + VALUES (p_turno_id, v_cliente_id, now(), false) + RETURNING id INTO v_nueva_reserva_id; + + ------------------------------------------------------------ + -- 6. Marcar huérfana como reubicada + ------------------------------------------------------------ + UPDATE reservas_huerfanas + SET estado_resolucion = 'reubicado', + resuelto_en = now() + WHERE id = p_huerfana_id; + + ------------------------------------------------------------ + -- 7. Retorno + ------------------------------------------------------------ + RETURN jsonb_build_object( + 'status', 'success', + 'mensaje', 'Reserva huérfana reubicada con éxito.', + 'reserva_id', v_nueva_reserva_id, + 'fecha', v_fecha_turno, + 'hora_inicio', to_char(v_hora_inicio, 'HH24:MI') + ); + END; + $$; + + +ALTER FUNCTION "public"."fc_mover_reserva_huerfana"("p_token" "uuid", "p_huerfana_id" "uuid", "p_turno_id" "uuid") OWNER TO "postgres"; + + +CREATE OR REPLACE FUNCTION "public"."fc_obtener_actividades"("p_token" "uuid", "p_solo_activas" boolean DEFAULT NULL::boolean) RETURNS "jsonb" + LANGUAGE "plpgsql" STABLE SECURITY DEFINER + SET "search_path" TO 'public' + AS $$ +DECLARE + -- Sin variables extra +BEGIN + ------------------------------------------------------------ + -- Checklist #3: Validar permisos + ------------------------------------------------------------ + -- Acción sugerida: 'ver_actividades' + PERFORM internal.validate_permission(p_token, 'ver_actividades'); + + ------------------------------------------------------------ + -- Retornar JSONB estandarizado + ------------------------------------------------------------ + RETURN ( + SELECT COALESCE(jsonb_agg(to_jsonb(a) ORDER BY a.nombre), '[]'::jsonb) + FROM actividades a + WHERE + -- Filtro opcional: Si p_solo_activas es NULL, trae todo. + -- Si es TRUE, solo trae las activas = true. + (p_solo_activas IS NULL OR a.activo = p_solo_activas) + ); +END; +$$; + + +ALTER FUNCTION "public"."fc_obtener_actividades"("p_token" "uuid", "p_solo_activas" boolean) OWNER TO "postgres"; + + +CREATE OR REPLACE FUNCTION "public"."fc_obtener_actividades_tipo_cuota"("p_token" "uuid", "p_tipo_cuota_id" "uuid") RETURNS "jsonb" + LANGUAGE "plpgsql" STABLE SECURITY DEFINER + SET "search_path" TO 'public' + AS $$ +BEGIN + PERFORM internal.validate_permission(p_token, 'ver_actividades'); + + RETURN ( + SELECT COALESCE(jsonb_agg( + jsonb_build_object( + 'id', a.id, + 'nombre', a.nombre, + 'duracion', a.duracion, + 'activo', a.activo + ) + ORDER BY a.nombre ASC + ), '[]'::jsonb) + FROM public.actividades_tipos_cuota atc + JOIN public.actividades a ON atc.actividad_id = a.id + WHERE atc.tipo_cuota_id = p_tipo_cuota_id + ); +END; +$$; + + +ALTER FUNCTION "public"."fc_obtener_actividades_tipo_cuota"("p_token" "uuid", "p_tipo_cuota_id" "uuid") OWNER TO "postgres"; + + +CREATE OR REPLACE FUNCTION "public"."fc_obtener_config"("p_token" "uuid" DEFAULT NULL::"uuid") RETURNS "jsonb" + LANGUAGE "plpgsql" SECURITY DEFINER + SET "search_path" TO 'public' + AS $$ +DECLARE + v_resultado jsonb; +BEGIN + + PERFORM internal.validate_permission(p_token, 'ver_configuraciones_generales'); + + -- Agrupamos todas las filas en un único objeto JSON + SELECT jsonb_object_agg(clave, valor) + INTO v_resultado + FROM internal.app_config; + + -- COALESCE garantiza que si la tabla está vacía, devolvemos un JSON vacío '{}' + -- en lugar de NULL, evitando que el frontend lance excepciones (NullReference). + RETURN COALESCE(v_resultado, '{}'::jsonb); +END; +$$; + + +ALTER FUNCTION "public"."fc_obtener_config"("p_token" "uuid") OWNER TO "postgres"; + + +CREATE OR REPLACE FUNCTION "public"."fc_obtener_estado_archivo"("p_token" "uuid") RETURNS "jsonb" + LANGUAGE "plpgsql" STABLE SECURITY DEFINER + SET "search_path" TO 'public' + SET "TimeZone" TO 'America/Argentina/Buenos_Aires' + AS $$ +DECLARE + v_ultimo_ok JSONB; + v_fallos_recientes JSONB; +BEGIN + PERFORM internal.validate_permission(p_token, 'ver_configuraciones_generales'); + + -- Último `ok` por tipo: DISTINCT ON (tipo) ordenando por fecha desc. + SELECT COALESCE(jsonb_object_agg(s.tipo, s.info), '{}'::jsonb) + INTO v_ultimo_ok + FROM ( + SELECT DISTINCT ON (tipo) + tipo, + jsonb_build_object( + 'anio_mes_target', anio_mes_target, + 'ejecutado_en', ejecutado_en + ) AS info + FROM internal.archivo_exports + WHERE resultado = 'ok' + ORDER BY tipo, ejecutado_en DESC + ) s; + + -- Fallos recientes (hasta 20), más nuevo primero. + SELECT COALESCE(jsonb_agg(to_jsonb(f) ORDER BY f.ejecutado_en DESC), '[]'::jsonb) + INTO v_fallos_recientes + FROM ( + SELECT anio_mes_target, tipo, ejecutado_en, detalle_error + FROM internal.archivo_exports + WHERE resultado = 'fallo' + ORDER BY ejecutado_en DESC + LIMIT 20 + ) f; + + RETURN jsonb_build_object( + 'status', 'success', + 'ultimo_ok', v_ultimo_ok, + 'fallos_recientes', v_fallos_recientes + ); +END; +$$; + + +ALTER FUNCTION "public"."fc_obtener_estado_archivo"("p_token" "uuid") OWNER TO "postgres"; + + +CREATE OR REPLACE FUNCTION "public"."fc_obtener_estado_cupo"("p_token" "uuid", "p_cliente_id" "uuid", "p_fecha" "date") RETURNS "jsonb" + LANGUAGE "plpgsql" STABLE SECURITY DEFINER + SET "search_path" TO 'public' + AS $$ +DECLARE + v_limite_semanal INT; + v_reservas_usadas INT; +BEGIN + PERFORM internal.validate_permission(p_token, 'ver_reservas'); + + -- 1. Identificar el límite del plan del cliente + SELECT tc.dias_semana INTO v_limite_semanal + FROM usuarios u + LEFT JOIN tipos_cuota tc ON u.tipo_cuota = tc.id + WHERE u.id = p_cliente_id AND u.isactive = true; + + IF v_limite_semanal IS NULL THEN + -- El cliente no tiene un plan activo asignado + RETURN jsonb_build_object( + 'usados', 0, + 'disponibles', 0, + 'limite_total', 0, + 'tiene_plan', false + ); + END IF; + + -- 2. Contar instancias de reserva activa en el bloque semanal + SELECT COUNT(*)::INT INTO v_reservas_usadas + FROM reservas r + JOIN turnos t ON r.turno_id = t.id + WHERE r.cliente_id = p_cliente_id + AND r.cancelada = false + AND date_trunc('week', t.fecha) = date_trunc('week', p_fecha); + + -- 3. Retornar el cálculo + RETURN jsonb_build_object( + 'usados', v_reservas_usadas, + 'disponibles', GREATEST(0, v_limite_semanal - v_reservas_usadas), + 'limite_total', v_limite_semanal, + 'tiene_plan', true + ); +END; +$$; + + +ALTER FUNCTION "public"."fc_obtener_estado_cupo"("p_token" "uuid", "p_cliente_id" "uuid", "p_fecha" "date") OWNER TO "postgres"; + + +CREATE OR REPLACE FUNCTION "public"."fc_obtener_horarios"("p_token" "uuid", "p_fecha_inicio" "date", "p_cantidad_dias" smallint DEFAULT 7) RETURNS "jsonb" + LANGUAGE "plpgsql" STABLE SECURITY DEFINER + SET "search_path" TO 'public' + AS $$ +DECLARE + v_fecha DATE; + v_dia_offset INT; + v_dia_semana SMALLINT; + v_resultado JSONB := '{}'::JSONB; + v_dia_json JSONB; + v_especial RECORD; + v_vigencia RECORD; +BEGIN + PERFORM internal.validate_permission(p_token, 'ver_horarios'); + + IF p_cantidad_dias < 1 OR p_cantidad_dias > 31 THEN + RAISE EXCEPTION 'p_cantidad_dias debe estar entre 1 y 31.'; + END IF; + + FOR v_dia_offset IN 0..(p_cantidad_dias - 1) LOOP + v_fecha := p_fecha_inicio + v_dia_offset; + v_dia_semana := EXTRACT(ISODOW FROM v_fecha)::SMALLINT; + + SELECT id, tipo, motivo + INTO v_especial + FROM dias_especiales + WHERE fecha = v_fecha; + + IF FOUND AND v_especial.tipo = 'cerrado' THEN + ---------------------------------------------------- + -- CASO 1: Día cerrado + ---------------------------------------------------- + v_dia_json := jsonb_build_object( + 'dia_semana', v_dia_semana, + 'tipo', 'cerrado', + 'motivo', v_especial.motivo, + 'horarios', '[]'::JSONB + ); + + ELSIF FOUND AND v_especial.tipo = 'horario_diferente' THEN + ---------------------------------------------------- + -- CASO 2: Día con horario especial (override puntual) + ---------------------------------------------------- + v_dia_json := jsonb_build_object( + 'dia_semana', v_dia_semana, + 'tipo', 'horario_diferente', + 'motivo', v_especial.motivo, + 'horarios', ( + SELECT COALESCE(jsonb_agg( + jsonb_build_object( + 'id', hae.id, + 'hora_inicio', to_char(hae.hora_inicio, 'HH24:MI'), + 'hora_fin', to_char(hae.hora_fin, 'HH24:MI'), + 'actividad', jsonb_build_object( + 'id', a.id, + 'nombre', a.nombre, + 'duracion', a.duracion, + 'capacidad', a.capacidad_por_defecto + ) + ) ORDER BY hae.hora_inicio ASC + ), '[]'::JSONB) + FROM horario_actividad_especial hae + JOIN actividades a ON hae.actividad_id = a.id + WHERE hae.dia_especial_id = v_especial.id + AND a.activo = true + ) + ); + + ELSE + ---------------------------------------------------- + -- CASO 3: Día normal: plantilla regular vigente esa fecha + -- Adicionalmente devolvemos la vigencia para que el + -- frontend pueda renderizar contexto temporal. + ---------------------------------------------------- + SELECT valido_desde, valido_hasta + INTO v_vigencia + FROM horario_actividad + WHERE dia_semana = v_dia_semana + AND valido_desde <= v_fecha + AND (valido_hasta IS NULL OR valido_hasta >= v_fecha) + LIMIT 1; -- Todas las filas de la plantilla vigente comparten la misma vigencia. + + v_dia_json := jsonb_build_object( + 'dia_semana', v_dia_semana, + 'tipo', 'normal', + 'valido_desde', v_vigencia.valido_desde::TEXT, + 'valido_hasta', v_vigencia.valido_hasta::TEXT, + 'horarios', ( + SELECT COALESCE(jsonb_agg( + jsonb_build_object( + 'id', ha.id, + 'hora_inicio', to_char(ha.hora_inicio, 'HH24:MI'), + 'hora_fin', to_char(ha.hora_fin, 'HH24:MI'), + 'actividad', jsonb_build_object( + 'id', a.id, + 'nombre', a.nombre, + 'duracion', a.duracion, + 'capacidad', a.capacidad_por_defecto + ) + ) ORDER BY ha.hora_inicio ASC + ), '[]'::JSONB) + FROM horario_actividad ha + JOIN actividades a ON ha.actividad_id = a.id + WHERE ha.dia_semana = v_dia_semana + AND a.activo = true + AND ha.valido_desde <= v_fecha + AND (ha.valido_hasta IS NULL OR ha.valido_hasta >= v_fecha) + ) + ); + END IF; + + v_resultado := v_resultado || jsonb_build_object(v_fecha::TEXT, v_dia_json); + END LOOP; + + RETURN v_resultado; +END; +$$; + + +ALTER FUNCTION "public"."fc_obtener_horarios"("p_token" "uuid", "p_fecha_inicio" "date", "p_cantidad_dias" smallint) OWNER TO "postgres"; + + +CREATE OR REPLACE FUNCTION "public"."fc_obtener_horarios_especiales"("p_token" "uuid", "p_fecha" "date" DEFAULT NULL::"date") RETURNS "jsonb" + LANGUAGE "plpgsql" STABLE SECURITY DEFINER + SET "search_path" TO 'public' + AS $$ +BEGIN + PERFORM internal.validate_permission(p_token, 'ver_horarios'); + + RETURN ( + SELECT COALESCE(jsonb_agg(dia_completo ORDER BY dia_completo->>'fecha' DESC), '[]'::jsonb) + FROM ( + SELECT + de.fecha, + de.tipo, + de.motivo, + -- Si el día es especial (no cerrado), adjuntamos sus actividades + COALESCE( + (SELECT jsonb_agg( + jsonb_build_object( + 'id', hae.id, + 'hora_inicio', to_char(hae.hora_inicio, 'HH24:MI'), + 'hora_fin', to_char(hae.hora_fin, 'HH24:MI'), + 'actividad', jsonb_build_object( + 'id', a.id, + 'nombre', a.nombre, + 'duracion', a.duracion + ) + ) ORDER BY hae.hora_inicio ASC + ) + FROM public.horario_actividad_especial hae + JOIN public.actividades a ON hae.actividad_id = a.id + WHERE hae.dia_especial_id = de.id AND a.activo = true), + '[]'::jsonb + ) as rangos_actividades + FROM public.dias_especiales de + WHERE (p_fecha IS NULL OR de.fecha = p_fecha) + ) AS dia_completo + ); +END; +$$; + + +ALTER FUNCTION "public"."fc_obtener_horarios_especiales"("p_token" "uuid", "p_fecha" "date") OWNER TO "postgres"; + + +CREATE OR REPLACE FUNCTION "public"."fc_obtener_metodos_pago"("p_token" "uuid") RETURNS "jsonb" + LANGUAGE "plpgsql" STABLE SECURITY DEFINER + SET "search_path" TO 'public' + AS $$ +DECLARE + -- No necesitamos variables extra si usamos internal.validate_permission +BEGIN + -- 1. Validar permisos (Checklist #3) + -- Asumimos acción 'ver_configuracion' o 'ver_metodos_pago' + -- Esto te permite mañana darle permiso al 'cliente' sin tocar este código. + PERFORM internal.validate_permission(p_token, 'ver_metodos_pago'); + + -- 2. Retorno directo y sin vueltas + RETURN ( + SELECT COALESCE( + jsonb_agg(to_jsonb(mp) ORDER BY mp.id), + '[]'::jsonb + ) + FROM public.metodos_pago mp +); +END; +$$; + + +ALTER FUNCTION "public"."fc_obtener_metodos_pago"("p_token" "uuid") OWNER TO "postgres"; + + +CREATE OR REPLACE FUNCTION "public"."fc_obtener_mis_pagos"("p_token" "uuid", "p_pagina" integer DEFAULT 1, "p_cantidad" integer DEFAULT 20) RETURNS "jsonb" + LANGUAGE "plpgsql" STABLE SECURITY DEFINER + SET "search_path" TO 'public' + AS $$ +DECLARE + v_user_id UUID; + v_offset INT; +BEGIN + PERFORM internal.validate_permission(p_token, 'ver_mis_pagos'); + + SELECT usuario_id INTO v_user_id FROM internal.sesiones WHERE token = p_token; + IF v_user_id IS NULL THEN + RAISE EXCEPTION 'Sesión inválida o usuario no encontrado.'; + END IF; + + v_offset := (p_pagina - 1) * p_cantidad; + + RETURN ( + SELECT COALESCE(jsonb_agg(pago_json), '[]'::jsonb) + FROM ( + SELECT jsonb_build_object( + 'id', p.id, + 'tipo', p.tipo, + 'anio_mes_pagado', p.anio_mes_pagado, + 'fecha_pago', p.fecha_pago, + 'monto_total', p.monto_total, + 'detalle', p.detalle, + 'metodo', m.descripcion, + 'created_at', p.created_at, + 'created_by', p.created_by, + 'updated_at', p.updated_at, + 'updated_by_nombre', uu.nombre, + 'anulado_at', p.anulado_at, + 'anulado_por_nombre', au.nombre, + 'motivo_anulacion', p.motivo_anulacion + ) AS pago_json + FROM public.pagos p + LEFT JOIN public.metodos_pago m ON p.metodo_id = m.id + LEFT JOIN public.usuarios uu ON p.updated_by = uu.id + LEFT JOIN public.usuarios au ON p.anulado_por = au.id + WHERE p.cliente_id = v_user_id + ORDER BY p.fecha_pago DESC + LIMIT p_cantidad + OFFSET v_offset + ) t + ); +END; +$$; + + +ALTER FUNCTION "public"."fc_obtener_mis_pagos"("p_token" "uuid", "p_pagina" integer, "p_cantidad" integer) OWNER TO "postgres"; + + +CREATE OR REPLACE FUNCTION "public"."fc_obtener_pagos"("p_token" "uuid", "p_dni" "text" DEFAULT NULL::"text", "p_pagina" integer DEFAULT 1, "p_cantidad" integer DEFAULT 50, "p_incluir_anulados" boolean DEFAULT false) RETURNS "jsonb" + LANGUAGE "plpgsql" STABLE SECURITY DEFINER + SET "search_path" TO 'public' + AS $$ +DECLARE + v_cliente_id UUID := NULL; + v_offset INT; +BEGIN + PERFORM internal.validate_permission(p_token, 'ver_pagos'); + v_offset := (p_pagina - 1) * p_cantidad; + + IF p_dni IS NOT NULL THEN + SELECT id INTO v_cliente_id FROM usuarios WHERE dni = p_dni; + IF NOT FOUND THEN + RAISE EXCEPTION 'No existe un usuario con el DNI %', p_dni; + END IF; + END IF; + + RETURN ( + SELECT COALESCE(jsonb_agg(pago_json), '[]'::jsonb) + FROM ( + SELECT jsonb_build_object( + 'id', p.id, + 'tipo', p.tipo, + 'anio_mes_pagado', p.anio_mes_pagado, + 'fecha_pago', p.fecha_pago, + 'monto_total', p.monto_total, + 'detalle', p.detalle, + 'metodo', m.descripcion, + 'created_at', p.created_at, + 'created_by', p.created_by, + 'created_by_nombre', cu.nombre, + 'updated_at', p.updated_at, + 'updated_by_nombre', uu.nombre, + 'anulado_at', p.anulado_at, + 'anulado_por_nombre', au.nombre, + 'motivo_anulacion', p.motivo_anulacion, + 'cliente', jsonb_build_object( + 'nombre', cl.nombre, + 'apellido', cl.apellido, + 'dni', cl.dni + ) + ) AS pago_json + FROM public.pagos p + JOIN public.usuarios cl ON p.cliente_id = cl.id + LEFT JOIN public.metodos_pago m ON p.metodo_id = m.id + LEFT JOIN public.usuarios cu ON p.created_by = cu.id + LEFT JOIN public.usuarios uu ON p.updated_by = uu.id + LEFT JOIN public.usuarios au ON p.anulado_por = au.id + WHERE (v_cliente_id IS NULL OR p.cliente_id = v_cliente_id) + AND (p_incluir_anulados OR p.anulado_at IS NULL) + ORDER BY p.fecha_pago DESC + LIMIT p_cantidad + OFFSET v_offset + ) t + ); +END; +$$; + + +ALTER FUNCTION "public"."fc_obtener_pagos"("p_token" "uuid", "p_dni" "text", "p_pagina" integer, "p_cantidad" integer, "p_incluir_anulados" boolean) OWNER TO "postgres"; + + +CREATE OR REPLACE FUNCTION "public"."fc_obtener_planificaciones_futuras"("p_token" "uuid", "p_dia_semana" smallint, "p_desde" "date", "p_meses" integer DEFAULT 6) RETURNS "jsonb" + LANGUAGE "plpgsql" STABLE SECURITY DEFINER + SET "search_path" TO 'public' + AS $$ +DECLARE + v_resultado JSONB; + v_hasta DATE; +BEGIN + PERFORM internal.validate_permission(p_token, 'ver_horarios'); + + IF p_dia_semana < 1 OR p_dia_semana > 7 THEN + RAISE EXCEPTION 'p_dia_semana debe estar entre 1 y 7 (recibido: %).', p_dia_semana; + END IF; + + IF p_meses < 1 OR p_meses > 24 THEN + RAISE EXCEPTION 'p_meses debe estar entre 1 y 24 (recibido: %).', p_meses; + END IF; + + v_hasta := p_desde + (p_meses || ' months')::INTERVAL; + + -- Agrupamos por (valido_desde, valido_hasta): cada grupo es UNA plantilla + -- futura con sus N rangos horarios. Solo traemos plantillas cuyo + -- valido_desde es estrictamente posterior a p_desde y cae dentro del + -- horizonte (p_desde + p_meses). + WITH plantillas AS ( + SELECT + ha.valido_desde, + ha.valido_hasta, + jsonb_agg( + jsonb_build_object( + 'id', ha.id, + 'hora_inicio', to_char(ha.hora_inicio, 'HH24:MI'), + 'hora_fin', to_char(ha.hora_fin, 'HH24:MI'), + 'actividad', jsonb_build_object( + 'id', a.id, + 'nombre', a.nombre, + 'duracion', a.duracion, + 'capacidad', a.capacidad_por_defecto + ) + ) ORDER BY ha.hora_inicio ASC, a.nombre ASC + ) AS rangos + FROM horario_actividad ha + JOIN actividades a ON ha.actividad_id = a.id + WHERE ha.dia_semana = p_dia_semana + AND ha.valido_desde > p_desde + AND ha.valido_desde <= v_hasta + AND a.activo = true + GROUP BY ha.valido_desde, ha.valido_hasta + ) + SELECT COALESCE( + jsonb_agg( + jsonb_build_object( + 'valido_desde', valido_desde::TEXT, + 'valido_hasta', valido_hasta::TEXT, + 'rangos', rangos + ) ORDER BY valido_desde ASC + ), + '[]'::JSONB + ) + INTO v_resultado + FROM plantillas; + + RETURN v_resultado; +END; +$$; + + +ALTER FUNCTION "public"."fc_obtener_planificaciones_futuras"("p_token" "uuid", "p_dia_semana" smallint, "p_desde" "date", "p_meses" integer) OWNER TO "postgres"; + + +CREATE OR REPLACE FUNCTION "public"."fc_obtener_reservas_cliente"("p_token" "uuid", "p_cliente_id" "uuid", "p_incluir_canceladas" boolean DEFAULT false, "p_fecha_desde" "date" DEFAULT NULL::"date") RETURNS "jsonb" + LANGUAGE "plpgsql" STABLE SECURITY DEFINER + SET "search_path" TO 'public' + AS $$ +BEGIN + ------------------------------------------------------------ + -- 1. Autenticación y Permisos + ------------------------------------------------------------ + -- Aquí debe validarse que el p_token corresponda a un admin (Juani) + -- o que el p_token corresponda exactamente al mismo p_cliente_id (el usuario viendo su propia app). + -- Asumiremos que internal.validate_permission ya maneja esta dualidad, + -- o bien se puede agregar un bloque IF explícito si tu lógica de tokens lo requiere. + PERFORM internal.validate_permission(p_token, 'ver_reservas_propias'); + + ------------------------------------------------------------ + -- 2. Consulta y armado del JSON + ------------------------------------------------------------ + RETURN COALESCE(( + SELECT jsonb_agg( + jsonb_build_object( + 'reserva_id', r.id, + 'turno_id', t.id, + 'fecha', t.fecha, + 'hora_inicio', to_char(t.hora_inicio, 'HH24:MI'), + 'hora_fin', to_char(t.hora_fin, 'HH24:MI'), + 'cancelada', r.cancelada, + 'reservada_en', r.reservada_en, + 'actividad', jsonb_build_object( + 'id', a.id, + 'nombre', a.nombre, + 'libre', a.libre + ) + ) ORDER BY t.fecha DESC, t.hora_inicio DESC + ) + FROM reservas r + JOIN turnos t ON r.turno_id = t.id + JOIN actividades a ON t.actividad_id = a.id + WHERE r.cliente_id = p_cliente_id + -- Filtro condicional para canceladas + AND (p_incluir_canceladas = true OR r.cancelada = false) + -- Filtro condicional de fecha + AND (p_fecha_desde IS NULL OR t.fecha >= p_fecha_desde) + ), '[]'::jsonb); + +END; +$$; + + +ALTER FUNCTION "public"."fc_obtener_reservas_cliente"("p_token" "uuid", "p_cliente_id" "uuid", "p_incluir_canceladas" boolean, "p_fecha_desde" "date") OWNER TO "postgres"; + + +CREATE OR REPLACE FUNCTION "public"."fc_obtener_reservas_huerfanas"("p_token" "uuid", "p_estado" character varying DEFAULT 'pendiente'::character varying, "p_creada_desde" timestamp with time zone DEFAULT NULL::timestamp with time zone) RETURNS "jsonb" + LANGUAGE "plpgsql" STABLE SECURITY DEFINER + SET "search_path" TO 'public' + AS $$ +BEGIN + PERFORM internal.validate_permission(p_token, 'gestionar_reservas'); + + RETURN COALESCE(( + SELECT jsonb_agg( + jsonb_build_object( + 'huerfana_id', rh.id, + 'cliente_id', u.id, + 'nombre', u.nombre, + 'apellido', u.apellido, + 'telefono', u.telefono, + 'actividad_nombre', rh.actividad_nombre, + 'fecha_original', rh.fecha_original, + 'hora_inicio_original', to_char(rh.hora_inicio_original, 'HH24:MI'), + 'estado_resolucion', rh.estado_resolucion, + 'creada_en', rh.creada_en + ) ORDER BY rh.creada_en DESC + ) + FROM reservas_huerfanas rh + JOIN usuarios u ON rh.cliente_id = u.id + WHERE (rh.estado_resolucion = p_estado OR p_estado IS NULL) + AND (p_creada_desde IS NULL OR rh.creada_en >= p_creada_desde) + ), '[]'::jsonb); +END; +$$; + + +ALTER FUNCTION "public"."fc_obtener_reservas_huerfanas"("p_token" "uuid", "p_estado" character varying, "p_creada_desde" timestamp with time zone) OWNER TO "postgres"; + + +CREATE OR REPLACE FUNCTION "public"."fc_obtener_reservas_turno"("p_token" "uuid", "p_turno_id" "uuid") RETURNS "jsonb" + LANGUAGE "plpgsql" STABLE SECURITY DEFINER + SET "search_path" TO 'public' + AS $$ +BEGIN + PERFORM internal.validate_permission(p_token, 'ver_reservas'); + + RETURN COALESCE(( + SELECT jsonb_agg( + jsonb_build_object( + 'reserva_id', r.id, + 'cliente_id', u.id, + 'nombre', u.nombre, + 'apellido', u.apellido, + 'cancelada', r.cancelada, + 'reservada_en', r.reservada_en + ) ORDER BY r.reservada_en ASC + ) + FROM reservas r + JOIN usuarios u ON r.cliente_id = u.id + WHERE r.turno_id = p_turno_id + ), '[]'::jsonb); +END; +$$; + + +ALTER FUNCTION "public"."fc_obtener_reservas_turno"("p_token" "uuid", "p_turno_id" "uuid") OWNER TO "postgres"; + + +CREATE OR REPLACE FUNCTION "public"."fc_obtener_tamano_base"("p_token" "uuid") RETURNS "jsonb" + LANGUAGE "plpgsql" STABLE SECURITY DEFINER + SET "search_path" TO 'public' + AS $$ +DECLARE + v_tablas JSONB := '[]'::jsonb; + v_rec RECORD; + v_filas BIGINT; + v_total BIGINT; +BEGIN + PERFORM internal.validate_permission(p_token, 'ver_configuraciones_generales'); + + FOR v_rec IN + SELECT n.nspname AS schema_name, + c.relname AS table_name, + pg_total_relation_size(c.oid) AS bytes + FROM pg_class c + JOIN pg_namespace n ON n.oid = c.relnamespace + WHERE c.relkind = 'r' + AND n.nspname IN ('public', 'internal') + ORDER BY pg_total_relation_size(c.oid) DESC, n.nspname, c.relname + LOOP + EXECUTE format('SELECT count(*) FROM %I.%I', v_rec.schema_name, v_rec.table_name) + INTO v_filas; + + v_tablas := v_tablas || jsonb_build_object( + 'schema', v_rec.schema_name, + 'tabla', v_rec.table_name, + 'filas', v_filas, + 'bytes', v_rec.bytes, + 'tamano', pg_size_pretty(v_rec.bytes) + ); + END LOOP; + + v_total := pg_database_size(current_database()); + + RETURN jsonb_build_object( + 'status', 'success', + 'db_total_bytes', v_total, + 'db_total_tamano', pg_size_pretty(v_total), + 'tablas', v_tablas + ); +END; +$$; + + +ALTER FUNCTION "public"."fc_obtener_tamano_base"("p_token" "uuid") OWNER TO "postgres"; + + +CREATE OR REPLACE FUNCTION "public"."fc_obtener_tipo_cuota"("p_token" "uuid", "p_id" "uuid" DEFAULT NULL::"uuid") RETURNS "jsonb" + LANGUAGE "plpgsql" STABLE SECURITY DEFINER + SET "search_path" TO 'public' + AS $$ +DECLARE + -- No hacen falta variables extra +BEGIN + ------------------------------------------------------------ + -- Checklist #3: Validar permisos (Centralizado) + ------------------------------------------------------------ + -- Asumimos la acción 'ver_tipos_cuota' + PERFORM internal.validate_permission(p_token, 'ver_tipos_cuota'); + + ------------------------------------------------------------ + -- Checklist #4: Lógica unificada y eficiente (Sin N+1) + ------------------------------------------------------------ + RETURN ( + SELECT COALESCE(jsonb_agg(cuota_json), '[]'::jsonb) + FROM ( + SELECT jsonb_build_object( + 'id', t.id, + 'nombre', t.nombre, + 'descripcion', t.descripcion, + 'dias_semana', t.dias_semana, + 'precio', t.precio, + 'parasocios', t.parasocios, + 'dia_de_pago', t.dia_de_pago, + 'recargo', t.recargo, + + -- OPTIMIZACIÓN CRÍTICA: + -- En lugar de llamar a una función externa que valide token N veces, + -- hacemos una subquery directa a la tabla intermedia que me pasaste. + 'actividades_ids', ( + SELECT COALESCE(jsonb_agg(atc.actividad_id), '[]'::jsonb) + FROM public.actividades_tipos_cuota atc + WHERE atc.tipo_cuota_id = t.id + ) + + -- Opcional: Si en el futuro quieres devolver los objetos completos (id, nombre) + -- en lugar de solo los IDs, cambiarías la subquery de arriba por un JOIN + -- a la tabla 'actividades'. + ) AS cuota_json + FROM public.tipos_cuota t + WHERE (p_id IS NULL OR t.id = p_id) + ORDER BY t.nombre ASC + ) result + ); +END; +$$; + + +ALTER FUNCTION "public"."fc_obtener_tipo_cuota"("p_token" "uuid", "p_id" "uuid") OWNER TO "postgres"; + + +CREATE OR REPLACE FUNCTION "public"."fc_obtener_turnos"("p_token" "uuid", "p_fecha_inicio" "date", "p_cantidad_dias" smallint DEFAULT 7) RETURNS "jsonb" + LANGUAGE "plpgsql" SECURITY DEFINER + SET "search_path" TO 'public' + AS $$ +DECLARE + v_fecha DATE; + v_dia_offset INT; + v_dia_semana SMALLINT; + v_resultado JSONB := '{}'::JSONB; + v_turnos_json JSONB; + v_especial RECORD; + v_bloque RECORD; + v_hora_iter TIME; + v_cutoff DATE; +BEGIN + PERFORM internal.validate_permission(p_token, 'ver_turnos'); + + IF p_cantidad_dias < 1 OR p_cantidad_dias > 31 THEN + RAISE EXCEPTION 'p_cantidad_dias debe estar entre 1 y 31.'; + END IF; + + -- Auditoría de retención (US-R13): no re-materializar turnos en fechas + -- ya fuera de la ventana de purga. Sin este corte, consultar una fecha + -- vieja regeneraría JIT turnos que internal.limpiar_turnos_antiguos + -- acaba de borrar — fabricando datos que el sistema considera purgables + -- (Documentation/PoliticaRetencion.md §7). Usamos la MISMA clave que el + -- purge (`retencion.turnos_meses`) para que el corte de lectura y el de + -- borrado nunca diverjan. La fase de LECTURA no se toca: si quedaran + -- turnos viejos sin purgar, se siguen mostrando; sólo no se generan. + v_cutoff := CURRENT_DATE - (internal.get_config_int('retencion.turnos_meses', 2) * INTERVAL '1 month'); + + FOR v_dia_offset IN 0..(p_cantidad_dias - 1) LOOP + v_fecha := p_fecha_inicio + v_dia_offset; + v_dia_semana := EXTRACT(ISODOW FROM v_fecha)::SMALLINT; + + -- Leemos el estado del día especial UNA sola vez. + SELECT id, tipo INTO v_especial + FROM dias_especiales + WHERE fecha = v_fecha; + -- A partir de acá NO chequeamos FOUND: usamos v_especial.id IS NULL/NOT NULL. + + ------------------------------------------------------------ + -- FASE A: GENERACIÓN JIT + -- Bajo concurrencia, dos invocaciones simultáneas a la misma + -- fecha pueden pasar ambas el NOT EXISTS (READ COMMITTED no ve + -- inserts no commiteados) y entrar al bloque de generación. La + -- UNIQUE constraint `turnos_actividad_id_fecha_hora_inicio_key` + -- garantiza que el segundo INSERT colisione, y el ON CONFLICT + -- DO NOTHING lo descarta silenciosamente. Resultado: una sola + -- fila por turno, sin error visible al caller. + ------------------------------------------------------------ + IF v_fecha >= v_cutoff AND NOT EXISTS (SELECT 1 FROM turnos WHERE fecha = v_fecha) THEN + + IF v_especial.id IS NOT NULL AND v_especial.tipo = 'cerrado' THEN + -- Día explícitamente cerrado: no-op + NULL; + + ELSIF v_especial.id IS NOT NULL AND v_especial.tipo = 'horario_diferente' THEN + FOR v_bloque IN ( + SELECT hae.actividad_id, hae.hora_inicio, hae.hora_fin, + a.duracion, a.capacidad_por_defecto + FROM horario_actividad_especial hae + JOIN actividades a ON hae.actividad_id = a.id + WHERE hae.dia_especial_id = v_especial.id AND a.activo = true + ) LOOP + v_hora_iter := v_bloque.hora_inicio; + WHILE v_hora_iter + (v_bloque.duracion || ' minutes')::INTERVAL <= v_bloque.hora_fin LOOP + INSERT INTO turnos (actividad_id, fecha, hora_inicio, hora_fin, + capacidad_maxima, es_especial, dia_semana) + VALUES ( + v_bloque.actividad_id, v_fecha, v_hora_iter, + v_hora_iter + (v_bloque.duracion || ' minutes')::INTERVAL, + v_bloque.capacidad_por_defecto, true, v_dia_semana + ) ON CONFLICT DO NOTHING; + v_hora_iter := v_hora_iter + (v_bloque.duracion || ' minutes')::INTERVAL; + END LOOP; + END LOOP; + + ELSE + -- Día normal: plantilla regular vigente + FOR v_bloque IN ( + SELECT ha.actividad_id, ha.hora_inicio, ha.hora_fin, + a.duracion, a.capacidad_por_defecto + FROM horario_actividad ha + JOIN actividades a ON ha.actividad_id = a.id + WHERE ha.dia_semana = v_dia_semana + AND ha.valido_desde <= v_fecha + AND (ha.valido_hasta IS NULL OR ha.valido_hasta >= v_fecha) + AND a.activo = true + ) LOOP + v_hora_iter := v_bloque.hora_inicio; + WHILE v_hora_iter + (v_bloque.duracion || ' minutes')::INTERVAL <= v_bloque.hora_fin LOOP + INSERT INTO turnos (actividad_id, fecha, hora_inicio, hora_fin, + capacidad_maxima, es_especial, dia_semana) + VALUES ( + v_bloque.actividad_id, v_fecha, v_hora_iter, + v_hora_iter + (v_bloque.duracion || ' minutes')::INTERVAL, + v_bloque.capacidad_por_defecto, false, v_dia_semana + ) ON CONFLICT DO NOTHING; + v_hora_iter := v_hora_iter + (v_bloque.duracion || ' minutes')::INTERVAL; + END LOOP; + END LOOP; + END IF; + END IF; + + ------------------------------------------------------------ + -- FASE B: LECTURA + ------------------------------------------------------------ + IF v_especial.id IS NOT NULL AND v_especial.tipo = 'cerrado' THEN + v_turnos_json := jsonb_build_object( + 'dia_semana', v_dia_semana, + 'estado', 'cerrado', + 'turnos', '[]'::JSONB + ); + ELSE + v_turnos_json := jsonb_build_object( + 'dia_semana', v_dia_semana, + 'estado', COALESCE(v_especial.tipo, 'normal'), + 'turnos', ( + SELECT COALESCE(jsonb_agg( + jsonb_build_object( + 'id', t.id, + 'hora_inicio', to_char(t.hora_inicio, 'HH24:MI'), + 'hora_fin', to_char(t.hora_fin, 'HH24:MI'), + 'capacidad_maxima', t.capacidad_maxima, + 'ocupacion', (SELECT COUNT(*)::INT FROM reservas r + WHERE r.turno_id = t.id AND r.cancelada = false), + 'actividad', jsonb_build_object( + 'id', a.id, + 'nombre', a.nombre, + 'libre', a.libre + ) + ) ORDER BY t.hora_inicio ASC + ), '[]'::JSONB) + FROM turnos t + JOIN actividades a ON t.actividad_id = a.id + WHERE t.fecha = v_fecha AND t.activo = true + ) + ); + END IF; + + v_resultado := v_resultado || jsonb_build_object(v_fecha::TEXT, v_turnos_json); + END LOOP; + + RETURN v_resultado; +END; +$$; + + +ALTER FUNCTION "public"."fc_obtener_turnos"("p_token" "uuid", "p_fecha_inicio" "date", "p_cantidad_dias" smallint) OWNER TO "postgres"; + + +CREATE OR REPLACE FUNCTION "public"."fc_obtener_usuario_por_token"("p_token" "uuid", "p_user_token" "uuid") RETURNS "jsonb" + LANGUAGE "plpgsql" STABLE SECURITY DEFINER + SET "search_path" TO 'public' + AS $$ +DECLARE +BEGIN + + PERFORM internal.validate_permission(p_token, 'ver_usuarios'); + + RETURN ( + SELECT jsonb_build_object( + 'id', u.id, + 'dni', u.dni, + 'nombre', u.nombre, + 'mail', u.mail, + 'peso', u.peso, + 'sexo', u.sexo, + 'altura', u.altura, + 'apellido', u.apellido, + 'fecha_creacion', u.fecha_creacion, + 'fecha_modificacion', u.fecha_modificacion, + 'fuerza_max', u.fuerza_max, + 'isActive', u.isactive, + 'rol', u.rol, + 'telefono', u.telefono, + 'tipo_cuota', u.tipo_cuota + ) + FROM public.usuarios u + JOIN internal.sesiones s ON s.usuario_id = u.id + AND s.token = p_user_token + AND s.expires_at > NOW() + ); +END; +$$; + + +ALTER FUNCTION "public"."fc_obtener_usuario_por_token"("p_token" "uuid", "p_user_token" "uuid") OWNER TO "postgres"; + + +CREATE OR REPLACE FUNCTION "public"."fc_obtener_usuario_tipo_cuota"("p_token" "uuid", "p_dni" "text" DEFAULT NULL::"text") RETURNS "jsonb" + LANGUAGE "plpgsql" STABLE SECURITY DEFINER + SET "search_path" TO 'public' + AS $$ +DECLARE + v_cliente_id UUID := NULL; +BEGIN + -- ------------------------------------------------------------ + -- Checklist #3: Validar permisos + -- ------------------------------------------------------------ + -- Acción sugerida: 'ver_usuarios_cuotas' + PERFORM internal.validate_permission(p_token, 'ver_usuarios_cuotas'); + + -- ------------------------------------------------------------ + -- 1. Resolver ID si viene DNI + -- ------------------------------------------------------------ + IF p_dni IS NOT NULL THEN + SELECT id INTO v_cliente_id + FROM usuarios + WHERE dni = p_dni; + + IF NOT FOUND THEN + RAISE EXCEPTION 'No existe un usuario con el DNI %', p_dni; + END IF; + END IF; + + -- ------------------------------------------------------------ + -- 2. Consulta Unificada y Estructurada + -- ------------------------------------------------------------ + RETURN ( + SELECT COALESCE(jsonb_agg(fila_json), '[]'::jsonb) + FROM ( + SELECT jsonb_build_object( + -- Objeto CLIENTE + 'cliente', jsonb_build_object( + 'id', u.id, + 'nombre', u.nombre, + 'apellido', u.apellido, + 'dni', u.dni + ), + -- Objeto CUOTA (Puede ser NULL si el usuario no tiene plan) + 'cuota', CASE WHEN t.id IS NULL THEN NULL ELSE + jsonb_build_object( + 'id', t.id, + 'nombre', t.nombre, + 'descripcion', t.descripcion, + 'precio', t.precio, + 'dias_semana', t.dias_semana, + 'dia_de_pago', t.dia_de_pago, + 'parasocios', t.parasocios + ) + END + ) AS fila_json + + -- CORRECCIÓN DE JOIN: + -- Partimos de usuarios, porque queremos saber qué cuota tienen ELLOS. + FROM public.usuarios u + LEFT JOIN public.tipos_cuota t ON u.tipo_cuota = t.id + + WHERE + -- Filtro inteligente: Todos o Uno + (v_cliente_id IS NULL OR u.id = v_cliente_id) + + -- Ordenar por apellido para que la lista sea legible + ORDER BY u.apellido, u.nombre + ) c + ); +END; +$$; + + +ALTER FUNCTION "public"."fc_obtener_usuario_tipo_cuota"("p_token" "uuid", "p_dni" "text") OWNER TO "postgres"; + + +CREATE OR REPLACE FUNCTION "public"."fc_obtener_usuarios"("p_token" "uuid", "p_dni" "text" DEFAULT NULL::"text", "p_pagina" integer DEFAULT 1, "p_cantidad" integer DEFAULT 50) RETURNS "jsonb" + LANGUAGE "plpgsql" STABLE SECURITY DEFINER + SET "search_path" TO 'public' + AS $$ +DECLARE + v_offset INT; +BEGIN + -- 1. Validar permisos + PERFORM internal.validate_permission(p_token, 'ver_usuarios'); + + -- 2. Calcular desde dónde empezar a leer (OFFSET) + -- Si página es 1, offset es 0. Si es 2, offset es 20, etc. + v_offset := (p_pagina - 1) * p_cantidad; + + -- 3. Consulta corregida: Paginación dentro, JSON fuera + RETURN ( + SELECT COALESCE(jsonb_agg(t.usuario_json), '[]'::jsonb) + FROM ( + SELECT jsonb_build_object( + 'id', u.id, + 'dni', u.dni, + 'nombre', u.nombre, + 'apellido', u.apellido, + 'peso', u.peso, + 'altura', u.altura, + 'fecha_creacion', u.fecha_creacion, + 'fecha_modificacion', u.fecha_modificacion, + 'telefono', u.telefono, + 'fuerza_max', u.fuerza_max, + 'sexo', u.sexo, + 'tipo_cuota', u.tipo_cuota, + 'mail', u.mail, + 'rol', u.rol, + 'isActive', u.isactive + ) AS usuario_json + FROM public.usuarios u + WHERE (p_dni IS NULL OR u.dni = p_dni) + ORDER BY u.nombre, u.apellido -- Vital para que el OFFSET sea consistente + LIMIT p_cantidad + OFFSET v_offset + ) t -- 't' es la subconsulta con solo 50 filas + ); +END; +$$; + + +ALTER FUNCTION "public"."fc_obtener_usuarios"("p_token" "uuid", "p_dni" "text", "p_pagina" integer, "p_cantidad" integer) OWNER TO "postgres"; + + +CREATE OR REPLACE FUNCTION "public"."fc_reservar_turno"("p_token" "uuid", "p_cliente_id" "uuid", "p_turno_id" "uuid") RETURNS "jsonb" + LANGUAGE "plpgsql" SECURITY DEFINER + SET "search_path" TO 'public' + SET "TimeZone" TO 'America/Argentina/Buenos_Aires' + AS $$ +DECLARE + v_fecha_turno DATE; + v_hora_inicio TIME; + v_hora_fin TIME; + v_actividad_id INT; + v_capacidad_maxima SMALLINT; + v_actividad_libre BOOLEAN; + + v_conflicto_hora_inicio TIME; + v_conflicto_hora_fin TIME; + + v_tipo_cuota_id UUID; + v_limite_semanal INT; + v_fecha_creacion DATE; + + v_ultimo_mes_pagado DATE; + v_meses_deuda INT; + v_umbral_morosidad INT; + + v_reservas_semana INT; + v_ocupacion_actual INT; + + v_nueva_reserva_id UUID; +BEGIN + ------------------------------------------------------------ + -- 1. Autenticación y Permisos + ------------------------------------------------------------ + PERFORM internal.validate_permission(p_token, 'reservar_turno'); + + ------------------------------------------------------------ + -- 2. Bloqueo Transaccional del Turno (Anti-Overbooking) + ------------------------------------------------------------ + SELECT t.fecha, t.hora_inicio, t.hora_fin, t.actividad_id, t.capacidad_maxima, a.libre + INTO v_fecha_turno, v_hora_inicio, v_hora_fin, v_actividad_id, v_capacidad_maxima, v_actividad_libre + FROM turnos t + JOIN actividades a ON t.actividad_id = a.id + WHERE t.id = p_turno_id AND t.activo = true + FOR NO KEY UPDATE OF t; + + IF NOT FOUND THEN + RAISE EXCEPTION 'El turno no existe, fue cancelado o no está disponible.'; + END IF; + + IF v_fecha_turno < CURRENT_DATE THEN + RAISE EXCEPTION 'No podés reservar un turno de una fecha pasada.'; + END IF; + + ------------------------------------------------------------ + -- 3. Obtener Datos del Cliente y su Cuota + ------------------------------------------------------------ + SELECT u.tipo_cuota, u.fecha_creacion::DATE, tc.dias_semana + INTO v_tipo_cuota_id, v_fecha_creacion, v_limite_semanal + FROM usuarios u + LEFT JOIN tipos_cuota tc ON u.tipo_cuota = tc.id + WHERE u.id = p_cliente_id AND u.isactive = true; + + IF NOT FOUND THEN + RAISE EXCEPTION 'El cliente no existe o se encuentra inactivo.'; + END IF; + + ------------------------------------------------------------ + -- 4. Validación de Deuda (umbral configurable, §9.3) + ------------------------------------------------------------ + -- Filtros: + -- tipo = 'cuota_mensual' → ignora correctivos (no representan meses pagados). + -- anulado_at IS NULL → un pago anulado no cuenta como pagado. + SELECT MAX(anio_mes_pagado) INTO v_ultimo_mes_pagado + FROM pagos + WHERE cliente_id = p_cliente_id + AND tipo = 'cuota_mensual' + AND anulado_at IS NULL; + + -- Si nunca pagó (o todos sus cuota_mensual están anulados), calculamos + -- la deuda desde el mes en que se creó el usuario. + v_ultimo_mes_pagado := COALESCE(v_ultimo_mes_pagado, date_trunc('month', v_fecha_creacion)::DATE); + + v_meses_deuda := (EXTRACT(YEAR FROM CURRENT_DATE) - EXTRACT(YEAR FROM v_ultimo_mes_pagado)) * 12 + + (EXTRACT(MONTH FROM CURRENT_DATE) - EXTRACT(MONTH FROM v_ultimo_mes_pagado)); + + v_umbral_morosidad := internal.get_config_int('pagos.umbral_morosidad_meses', 2); + + IF v_meses_deuda >= v_umbral_morosidad THEN + RAISE EXCEPTION 'Tenés una deuda de % meses. Regularizá tu situación de pago para poder reservar.', v_meses_deuda; + END IF; + + ------------------------------------------------------------ + -- 5. Validación: No Solape Horario con Otra Reserva (§9.1) + ------------------------------------------------------------ + -- Misma fecha + intervalos semiabiertos solapados. + -- Dos turnos consecutivos (hora_fin de uno == hora_inicio del otro) + -- NO se consideran solapados. + SELECT t.hora_inicio, t.hora_fin + INTO v_conflicto_hora_inicio, v_conflicto_hora_fin + FROM reservas r + JOIN turnos t ON r.turno_id = t.id + WHERE r.cliente_id = p_cliente_id + AND r.cancelada = false + AND t.fecha = v_fecha_turno + AND t.hora_inicio < v_hora_fin + AND v_hora_inicio < t.hora_fin + LIMIT 1; + + IF FOUND THEN + RAISE EXCEPTION 'Ya tenés una reserva ese día en un horario que se superpone con este (% - %).', + to_char(v_conflicto_hora_inicio, 'HH24:MI'), + to_char(v_conflicto_hora_fin, 'HH24:MI'); + END IF; + + ------------------------------------------------------------ + -- 6. Validación de Plan y Actividad Permitida + ------------------------------------------------------------ + IF NOT v_actividad_libre THEN + IF v_tipo_cuota_id IS NULL THEN + RAISE EXCEPTION 'No tenés un plan activo asignado para reservar esta actividad.'; + END IF; + + IF NOT EXISTS ( + SELECT 1 + FROM actividades_tipos_cuota + WHERE tipo_cuota_id = v_tipo_cuota_id AND actividad_id = v_actividad_id + ) THEN + RAISE EXCEPTION 'Tu plan actual no incluye esta actividad.'; + END IF; + END IF; + + ------------------------------------------------------------ + -- 7. Validación: Límite Semanal de la Cuota + ------------------------------------------------------------ + IF NOT v_actividad_libre THEN + SELECT COUNT(*)::INT INTO v_reservas_semana + FROM reservas r + JOIN turnos t ON r.turno_id = t.id + WHERE r.cliente_id = p_cliente_id + AND r.cancelada = false + AND date_trunc('week', t.fecha) = date_trunc('week', v_fecha_turno); + + IF v_reservas_semana >= COALESCE(v_limite_semanal, 0) THEN + RAISE EXCEPTION 'Ya alcanzaste tu límite de % reservas para esta semana.', v_limite_semanal; + END IF; + END IF; + + ------------------------------------------------------------ + -- 8. Validación de Cupo / Capacidad del Turno + ------------------------------------------------------------ + SELECT COUNT(*)::INT INTO v_ocupacion_actual + FROM reservas + WHERE turno_id = p_turno_id AND cancelada = false; + + IF v_ocupacion_actual >= v_capacidad_maxima THEN + RAISE EXCEPTION 'Lo sentimos, este turno ya no tiene lugares disponibles.'; + END IF; + + ------------------------------------------------------------ + -- 9. Inserción de la Reserva + ------------------------------------------------------------ + INSERT INTO reservas (turno_id, cliente_id, reservada_en, cancelada) + VALUES (p_turno_id, p_cliente_id, now(), false) + RETURNING id INTO v_nueva_reserva_id; + + ------------------------------------------------------------ + -- 10. Retorno Exitoso + ------------------------------------------------------------ + RETURN jsonb_build_object( + 'status', 'success', + 'mensaje', 'Turno reservado con éxito.', + 'reserva_id', v_nueva_reserva_id, + 'fecha', v_fecha_turno, + 'hora_inicio', to_char(v_hora_inicio, 'HH24:MI') + ); + +END; +$$; + + +ALTER FUNCTION "public"."fc_reservar_turno"("p_token" "uuid", "p_cliente_id" "uuid", "p_turno_id" "uuid") OWNER TO "postgres"; + + +CREATE OR REPLACE FUNCTION "public"."fc_reservar_turno_admin"("p_token" "uuid", "p_cliente_id" "uuid", "p_turno_id" "uuid") RETURNS "jsonb" + LANGUAGE "plpgsql" SECURITY DEFINER + SET "search_path" TO 'public' + SET "TimeZone" TO 'America/Argentina/Buenos_Aires' + AS $$ +DECLARE + v_fecha_turno DATE; + v_hora_inicio TIME; + v_nueva_reserva_id UUID; +BEGIN + ------------------------------------------------------------ + -- 1. Autenticación (Permiso elevado) + ------------------------------------------------------------ + -- A diferencia del cliente, exigimos un rol administrativo + PERFORM internal.validate_permission(p_token, 'gestionar_reservas'); + + ------------------------------------------------------------ + -- 2. Bloqueo Transaccional del Turno (Integridad) + ------------------------------------------------------------ + -- Bloqueamos la fila para evitar carreras con otras reservas + -- simultáneas (aunque acá no chequeemos cupo, mantener el lock + -- evita inconsistencias en lecturas concurrentes de ocupación). + SELECT t.fecha, t.hora_inicio + INTO v_fecha_turno, v_hora_inicio + FROM turnos t + WHERE t.id = p_turno_id AND t.activo = true + FOR NO KEY UPDATE OF t; + + IF NOT FOUND THEN + RAISE EXCEPTION 'El turno no existe, fue cancelado o no está disponible.'; + END IF; + + -- A Juani le dejamos reservar en el pasado si necesita cargar un histórico que se olvidó + -- Así que NO validamos si v_fecha_turno < CURRENT_DATE + + ------------------------------------------------------------ + -- 3. Validación Mínima de Cliente + ------------------------------------------------------------ + IF NOT EXISTS (SELECT 1 FROM usuarios WHERE id = p_cliente_id) THEN + RAISE EXCEPTION 'El cliente seleccionado no existe en la base de datos.'; + END IF; + + -- OMITIDAS intencionalmente (Bypass Administrativo §9.6): + -- ✖ Validación de Deuda + -- ✖ Validación de Tipo de Cuota (Plan) + -- ✖ Validación de Límite Semanal + -- ✖ Validación de No Solape Horario + -- ✖ Validación de Cupo del Bloque + -- (la UI muestra todas estas como advertencias antes de invocar) + + ------------------------------------------------------------ + -- 4. Inserción de la Reserva + ------------------------------------------------------------ + INSERT INTO reservas (turno_id, cliente_id, reservada_en, cancelada) + VALUES (p_turno_id, p_cliente_id, now(), false) + RETURNING id INTO v_nueva_reserva_id; + + ------------------------------------------------------------ + -- 5. Retorno Exitoso + ------------------------------------------------------------ + RETURN jsonb_build_object( + 'status', 'success', + 'mensaje', 'Reserva administrativa creada con éxito.', + 'reserva_id', v_nueva_reserva_id, + 'fecha', v_fecha_turno, + 'hora_inicio', to_char(v_hora_inicio, 'HH24:MI') + ); + +END; +$$; + + +ALTER FUNCTION "public"."fc_reservar_turno_admin"("p_token" "uuid", "p_cliente_id" "uuid", "p_turno_id" "uuid") OWNER TO "postgres"; + + +CREATE OR REPLACE FUNCTION "public"."fc_resolver_huerfana"("p_token" "uuid", "p_huerfana_id" "uuid", "p_nuevo_estado" character varying) RETURNS "jsonb" + LANGUAGE "plpgsql" SECURITY DEFINER + SET "search_path" TO 'public' + AS $$ +BEGIN + PERFORM internal.validate_permission(p_token, 'gestionar_reservas'); + + -- Validación estricta del dominio de estados permitidos + IF p_nuevo_estado NOT IN ('pendiente', 'reubicado', 'resuelta') THEN + RAISE EXCEPTION 'Estado no válido. Debe ser pendiente, reubicado o resuelta.'; + END IF; + + UPDATE reservas_huerfanas + SET estado_resolucion = p_nuevo_estado, + resuelto_en = CASE WHEN p_nuevo_estado = 'pendiente' THEN NULL ELSE now() END + WHERE id = p_huerfana_id; + + IF NOT FOUND THEN + RAISE EXCEPTION 'No se encontró el registro de reserva huérfana.'; + END IF; + + RETURN jsonb_build_object( + 'status', 'success', + 'mensaje', 'Estado actualizado a ' || p_nuevo_estado + ); +END; +$$; + + +ALTER FUNCTION "public"."fc_resolver_huerfana"("p_token" "uuid", "p_huerfana_id" "uuid", "p_nuevo_estado" character varying) OWNER TO "postgres"; + + +CREATE OR REPLACE FUNCTION "public"."fc_upsert_turno"("p_token" "uuid", "p_actividad_id" integer, "p_fecha" "date", "p_hora_inicio" time without time zone, "p_hora_fin" time without time zone, "p_capacidad_maxima" smallint, "p_es_especial" boolean DEFAULT true) RETURNS "uuid" + LANGUAGE "plpgsql" SECURITY DEFINER + SET "search_path" TO 'public' + AS $$ +DECLARE + v_turno_id UUID; + v_ocupacion INT; +BEGIN + PERFORM internal.validate_permission(p_token, 'modificar_turnos'); + + -- Validar coherencia de horas + IF p_hora_inicio >= p_hora_fin THEN + RAISE EXCEPTION 'La hora de inicio debe ser anterior a la hora de fin.'; + END IF; + + -- Buscamos si el turno ya existe físicamente + SELECT id INTO v_turno_id + FROM turnos + WHERE actividad_id = p_actividad_id AND fecha = p_fecha AND hora_inicio = p_hora_inicio; + + IF FOUND THEN + -- Validación de negocio: no achicar la capacidad por debajo de los anotados + SELECT count(*)::INT INTO v_ocupacion + FROM reservas + WHERE turno_id = v_turno_id AND cancelada = false; + + IF p_capacidad_maxima < v_ocupacion THEN + RAISE EXCEPTION 'No podés reducir la capacidad máxima a % porque ya hay % clientes anotados.', p_capacidad_maxima, v_ocupacion; + END IF; + + UPDATE turnos SET + hora_fin = p_hora_fin, + capacidad_maxima = p_capacidad_maxima, + es_especial = p_es_especial, + activo = true -- Reactivamos por si estaba en borrado lógico + WHERE id = v_turno_id; + + ELSE + -- Es un turno nuevo, lo insertamos + INSERT INTO turnos ( + actividad_id, fecha, hora_inicio, hora_fin, + capacidad_maxima, es_especial, dia_semana, activo + ) + VALUES ( + p_actividad_id, p_fecha, p_hora_inicio, p_hora_fin, + p_capacidad_maxima, p_es_especial, EXTRACT(ISODOW FROM p_fecha)::SMALLINT, true + ) + RETURNING id INTO v_turno_id; + END IF; + + RETURN v_turno_id; +END; +$$; + + +ALTER FUNCTION "public"."fc_upsert_turno"("p_token" "uuid", "p_actividad_id" integer, "p_fecha" "date", "p_hora_inicio" time without time zone, "p_hora_fin" time without time zone, "p_capacidad_maxima" smallint, "p_es_especial" boolean) OWNER TO "postgres"; + +SET default_tablespace = ''; + +SET default_table_access_method = "heap"; + + +CREATE TABLE IF NOT EXISTS "internal"."app_config" ( + "clave" "text" NOT NULL, + "valor" "text" NOT NULL, + "descripcion" "text", + "actualizado_at" timestamp with time zone DEFAULT "now"() NOT NULL +); + + +ALTER TABLE "internal"."app_config" OWNER TO "postgres"; + + +CREATE TABLE IF NOT EXISTS "internal"."archivo_exports" ( + "id" integer NOT NULL, + "anio_mes_target" "date", + "tipo" "text" NOT NULL, + "ejecutado_en" timestamp with time zone DEFAULT "now"() NOT NULL, + "resultado" "text" NOT NULL, + "detalle_error" "text", + CONSTRAINT "archivo_exports_resultado_check" CHECK (("resultado" = ANY (ARRAY['ok'::"text", 'fallo'::"text"]))), + CONSTRAINT "archivo_exports_tipo_check" CHECK (("tipo" = ANY (ARRAY['pagos'::"text", 'agregado_reservas'::"text"]))) +); + + +ALTER TABLE "internal"."archivo_exports" OWNER TO "postgres"; + + +ALTER TABLE "internal"."archivo_exports" ALTER COLUMN "id" ADD GENERATED ALWAYS AS IDENTITY ( + SEQUENCE NAME "internal"."archivo_exports_id_seq" + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + + +CREATE TABLE IF NOT EXISTS "internal"."permisos" ( + "id" integer NOT NULL, + "accion" "text" NOT NULL, + "roles_permitidos" "text"[] NOT NULL +); + + +ALTER TABLE "internal"."permisos" OWNER TO "postgres"; + + +ALTER TABLE "internal"."permisos" ALTER COLUMN "id" ADD GENERATED ALWAYS AS IDENTITY ( + SEQUENCE NAME "internal"."permisos_id_permiso_seq" + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + + +CREATE TABLE IF NOT EXISTS "internal"."sesiones" ( + "id" "uuid" DEFAULT "gen_random_uuid"() NOT NULL, + "usuario_id" "uuid" NOT NULL, + "token" "uuid" NOT NULL, + "expires_at" timestamp with time zone NOT NULL +); + + +ALTER TABLE "internal"."sesiones" OWNER TO "postgres"; + + +CREATE TABLE IF NOT EXISTS "public"."actividades" ( + "id" integer NOT NULL, + "nombre" "text" NOT NULL, + "duracion" smallint NOT NULL, + "capacidad_por_defecto" smallint NOT NULL, + "libre" boolean DEFAULT false, + "activo" boolean DEFAULT true +); + + +ALTER TABLE "public"."actividades" OWNER TO "postgres"; + + +ALTER TABLE "public"."actividades" ALTER COLUMN "id" ADD GENERATED ALWAYS AS IDENTITY ( + SEQUENCE NAME "public"."actividades_id_seq" + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + + +CREATE TABLE IF NOT EXISTS "public"."actividades_tipos_cuota" ( + "tipo_cuota_id" "uuid" NOT NULL, + "actividad_id" integer NOT NULL +); + + +ALTER TABLE "public"."actividades_tipos_cuota" OWNER TO "postgres"; + + +CREATE TABLE IF NOT EXISTS "public"."avisos_pago" ( + "id" "uuid" DEFAULT "gen_random_uuid"() NOT NULL, + "cliente_id" "uuid", + "mensaje" "text", + "estado" character varying(20) DEFAULT NULL::character varying, + "fecha_aviso" timestamp with time zone DEFAULT "now"(), + CONSTRAINT "avisos_pago_estado_check" CHECK ((("estado")::"text" = ANY (ARRAY[('enviado'::character varying)::"text", ('bloqueado'::character varying)::"text", (NULL::character varying)::"text"]))) +); + + +ALTER TABLE "public"."avisos_pago" OWNER TO "postgres"; + + +CREATE TABLE IF NOT EXISTS "public"."dias_especiales" ( + "id" integer NOT NULL, + "fecha" "date" NOT NULL, + "tipo" character varying(25) NOT NULL, + "motivo" "text", + CONSTRAINT "dias_especiales_tipo_check" CHECK ((("tipo")::"text" = ANY (ARRAY[('cerrado'::character varying)::"text", ('horario_diferente'::character varying)::"text"]))) +); + + +ALTER TABLE "public"."dias_especiales" OWNER TO "postgres"; + + +ALTER TABLE "public"."dias_especiales" ALTER COLUMN "id" ADD GENERATED ALWAYS AS IDENTITY ( + SEQUENCE NAME "public"."dias_especiales_id_seq" + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + + +CREATE TABLE IF NOT EXISTS "public"."ejercicios" ( + "id" "uuid" DEFAULT "gen_random_uuid"() NOT NULL, + "nombre" character varying(150) NOT NULL, + "descripcion" "text", + "url_foto" "text" +); + + +ALTER TABLE "public"."ejercicios" OWNER TO "postgres"; + + +CREATE TABLE IF NOT EXISTS "public"."eventos" ( + "id" "uuid" DEFAULT "gen_random_uuid"() NOT NULL, + "tipo" "text" NOT NULL, + "descripcion" "text", + "cliente_id" "uuid", + "valor_anterior" "jsonb", + "valor_actual" "jsonb", + "fecha_evento" timestamp with time zone DEFAULT "now"(), + "referencia_id" "uuid", + "tabla_referencia" "text", + "actor_id" "uuid" +); + + +ALTER TABLE "public"."eventos" OWNER TO "postgres"; + + +CREATE TABLE IF NOT EXISTS "public"."fotos_perfil" ( + "id" "uuid" DEFAULT "gen_random_uuid"() NOT NULL, + "cliente_id" "uuid", + "url_foto" "text", + "fecha_subida" timestamp with time zone DEFAULT "now"() +); + + +ALTER TABLE "public"."fotos_perfil" OWNER TO "postgres"; + + +CREATE TABLE IF NOT EXISTS "public"."horario_actividad" ( + "id" integer NOT NULL, + "actividad_id" integer NOT NULL, + "dia_semana" smallint NOT NULL, + "hora_inicio" time without time zone NOT NULL, + "hora_fin" time without time zone NOT NULL, + "valido_desde" "date" DEFAULT CURRENT_DATE NOT NULL, + "valido_hasta" "date", + CONSTRAINT "horario_actividad_check" CHECK (("hora_inicio" < "hora_fin")), + CONSTRAINT "horario_actividad_dia_semana_check" CHECK ((("dia_semana" >= 1) AND ("dia_semana" <= 7))), + CONSTRAINT "horario_actividad_vigencia_check" CHECK ((("valido_hasta" IS NULL) OR ("valido_desde" <= "valido_hasta"))) +); + + +ALTER TABLE "public"."horario_actividad" OWNER TO "postgres"; + + +CREATE TABLE IF NOT EXISTS "public"."horario_actividad_especial" ( + "id" integer NOT NULL, + "dia_especial_id" integer NOT NULL, + "actividad_id" integer NOT NULL, + "hora_inicio" time without time zone NOT NULL, + "hora_fin" time without time zone NOT NULL, + CONSTRAINT "horario_actividad_especial_check_horas" CHECK (("hora_inicio" < "hora_fin")) +); + + +ALTER TABLE "public"."horario_actividad_especial" OWNER TO "postgres"; + + +ALTER TABLE "public"."horario_actividad_especial" ALTER COLUMN "id" ADD GENERATED ALWAYS AS IDENTITY ( + SEQUENCE NAME "public"."horario_actividad_especial_id_seq" + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + + +ALTER TABLE "public"."horario_actividad" ALTER COLUMN "id" ADD GENERATED ALWAYS AS IDENTITY ( + SEQUENCE NAME "public"."horario_actividad_id_seq" + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + + +CREATE TABLE IF NOT EXISTS "public"."metodos_pago" ( + "id" integer NOT NULL, + "descripcion" character varying NOT NULL, + "activo" boolean DEFAULT true, + "icono" character varying +); + + +ALTER TABLE "public"."metodos_pago" OWNER TO "postgres"; + + +ALTER TABLE "public"."metodos_pago" ALTER COLUMN "id" ADD GENERATED ALWAYS AS IDENTITY ( + SEQUENCE NAME "public"."metodos_pago_id_seq" + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + + +CREATE TABLE IF NOT EXISTS "public"."notificaciones" ( + "id" "uuid" DEFAULT "gen_random_uuid"() NOT NULL, + "cliente_id" "uuid", + "titulo" character varying(200) NOT NULL, + "mensaje" "text", + "tipo" character varying(50), + "leida" boolean DEFAULT false +); + + +ALTER TABLE "public"."notificaciones" OWNER TO "postgres"; + + +CREATE TABLE IF NOT EXISTS "public"."pagos" ( + "id" "uuid" NOT NULL, + "cliente_id" "uuid", + "anio_mes_pagado" "date", + "fecha_pago" timestamp with time zone, + "monto_total" numeric, + "detalle" "jsonb", + "metodo_id" smallint, + "tipo_cuota_id" "uuid", + "tipo" "text" DEFAULT 'cuota_mensual'::"text" NOT NULL, + "created_at" timestamp with time zone DEFAULT "now"() NOT NULL, + "created_by" "uuid", + "updated_at" timestamp with time zone, + "updated_by" "uuid", + "anulado_at" timestamp with time zone, + "anulado_por" "uuid", + "motivo_anulacion" "text", + CONSTRAINT "pagos_anio_mes_pagado_check" CHECK (("anio_mes_pagado" = ("date_trunc"('month'::"text", ("anio_mes_pagado")::timestamp with time zone))::"date")), + CONSTRAINT "pagos_anulacion_coherente" CHECK (((("anulado_at" IS NULL) AND ("anulado_por" IS NULL) AND ("motivo_anulacion" IS NULL)) OR (("anulado_at" IS NOT NULL) AND ("anulado_por" IS NOT NULL)))), + CONSTRAINT "pagos_campos_requeridos_por_tipo" CHECK ((("tipo" = 'ajuste'::"text") OR (("metodo_id" IS NOT NULL) AND ("anio_mes_pagado" IS NOT NULL)))), + CONSTRAINT "pagos_tipo_check" CHECK (("tipo" = ANY (ARRAY['cuota_mensual'::"text", 'devolucion'::"text", 'descuento_retroactivo'::"text", 'ajuste'::"text"]))), + CONSTRAINT "pagos_update_coherente" CHECK (((("updated_at" IS NULL) AND ("updated_by" IS NULL)) OR (("updated_at" IS NOT NULL) AND ("updated_by" IS NOT NULL)))) +); + + +ALTER TABLE "public"."pagos" OWNER TO "postgres"; + + +CREATE TABLE IF NOT EXISTS "public"."progreso_ejercicios" ( + "id" "uuid" DEFAULT "gen_random_uuid"() NOT NULL, + "cliente_id" "uuid", + "ejercicio_id" "uuid", + "fecha" "date" NOT NULL, + "completado" boolean DEFAULT true +); + + +ALTER TABLE "public"."progreso_ejercicios" OWNER TO "postgres"; + + +CREATE TABLE IF NOT EXISTS "public"."reservas" ( + "id" "uuid" DEFAULT "gen_random_uuid"() NOT NULL, + "turno_id" "uuid" NOT NULL, + "cliente_id" "uuid" NOT NULL, + "reservada_en" timestamp with time zone DEFAULT "now"() NOT NULL, + "cancelada" boolean DEFAULT false NOT NULL, + "cancelada_en" timestamp with time zone +); + + +ALTER TABLE "public"."reservas" OWNER TO "postgres"; + + +CREATE TABLE IF NOT EXISTS "public"."reservas_huerfanas" ( + "id" "uuid" DEFAULT "gen_random_uuid"() NOT NULL, + "cliente_id" "uuid" NOT NULL, + "actividad_nombre" "text" NOT NULL, + "fecha_original" "date" NOT NULL, + "hora_inicio_original" time without time zone NOT NULL, + "estado_resolucion" character varying(20) DEFAULT 'pendiente'::character varying NOT NULL, + "creada_en" timestamp with time zone DEFAULT "now"() NOT NULL, + "resuelto_en" timestamp with time zone, + CONSTRAINT "reservas_huerfanas_estado_check" CHECK ((("estado_resolucion")::"text" = ANY ((ARRAY['pendiente'::character varying, 'reubicado'::character varying, 'resuelta'::character varying])::"text"[]))), + CONSTRAINT "reservas_huerfanas_resuelto_en_coherente" CHECK ((((("estado_resolucion")::"text" = 'pendiente'::"text") AND ("resuelto_en" IS NULL)) OR ((("estado_resolucion")::"text" <> 'pendiente'::"text") AND ("resuelto_en" IS NOT NULL)))) +); + + +ALTER TABLE "public"."reservas_huerfanas" OWNER TO "postgres"; + + +CREATE TABLE IF NOT EXISTS "public"."rutina_ejercicios" ( + "id" "uuid" DEFAULT "gen_random_uuid"() NOT NULL, + "rutina_id" "uuid", + "ejercicio_id" "uuid", + "orden" smallint NOT NULL, + "series" smallint NOT NULL, + "repeticiones" smallint NOT NULL, + "observaciones" "text" +); + + +ALTER TABLE "public"."rutina_ejercicios" OWNER TO "postgres"; + + +CREATE TABLE IF NOT EXISTS "public"."rutinas" ( + "id" "uuid" DEFAULT "gen_random_uuid"() NOT NULL, + "nombre" character varying(150) NOT NULL, + "emoji" character varying(10), + "creada_por" "uuid", + "fecha_creacion" timestamp with time zone DEFAULT "now"() +); + + +ALTER TABLE "public"."rutinas" OWNER TO "postgres"; + + +CREATE TABLE IF NOT EXISTS "public"."rutinas_clientes" ( + "id" "uuid" DEFAULT "gen_random_uuid"() NOT NULL, + "cliente_id" "uuid", + "rutina_id" "uuid", + "fecha_asignacion" "date" NOT NULL, + "activa" boolean DEFAULT true, + "asignada_por" "uuid", + "observaciones" "text" +); + + +ALTER TABLE "public"."rutinas_clientes" OWNER TO "postgres"; + + +CREATE TABLE IF NOT EXISTS "public"."tipos_cuota" ( + "id" "uuid" DEFAULT "gen_random_uuid"() NOT NULL, + "nombre" character varying(100), + "descripcion" "text", + "dias_semana" smallint NOT NULL, + "precio" numeric(10,2) NOT NULL, + "parasocios" boolean NOT NULL, + "dia_de_pago" smallint DEFAULT 10, + "recargo" numeric(10,2) +); + + +ALTER TABLE "public"."tipos_cuota" OWNER TO "postgres"; + + +CREATE TABLE IF NOT EXISTS "public"."turnos" ( + "id" "uuid" DEFAULT "gen_random_uuid"() NOT NULL, + "actividad_id" integer NOT NULL, + "fecha" "date" NOT NULL, + "hora_inicio" time without time zone NOT NULL, + "hora_fin" time without time zone NOT NULL, + "capacidad_maxima" smallint NOT NULL, + "activo" boolean DEFAULT true, + "dia_semana" smallint NOT NULL, + "es_especial" boolean DEFAULT false NOT NULL, + CONSTRAINT "turnos_check_horas" CHECK (("hora_inicio" < "hora_fin")) +); + + +ALTER TABLE "public"."turnos" OWNER TO "postgres"; + + +CREATE TABLE IF NOT EXISTS "public"."usuarios" ( + "id" "uuid" DEFAULT "gen_random_uuid"() NOT NULL, + "dni" character varying(20) NOT NULL, + "nombre" character varying(100) NOT NULL, + "apellido" character varying(100), + "peso" numeric(5,2), + "altura" integer, + "rol" "text" NOT NULL, + "isactive" boolean DEFAULT true, + "fecha_creacion" timestamp with time zone DEFAULT "now"(), + "fecha_modificacion" timestamp with time zone DEFAULT "now"(), + "password_hash" "text" NOT NULL, + "mail" character varying(50), + "telefono" character varying(20), + "fuerza_max" numeric(10,2), + "sexo" character varying(10) DEFAULT 'Hombre'::character varying, + "tipo_cuota" "uuid", + CONSTRAINT "nuevo_nombre_sexo_check" CHECK ((("sexo")::"text" = ANY (ARRAY[('Hombre'::character varying)::"text", ('Mujer'::character varying)::"text", ('Otro'::character varying)::"text"]))), + CONSTRAINT "usuarios_rol_check" CHECK (("rol" = ANY (ARRAY[('cliente'::character varying)::"text", ('admin'::character varying)::"text", ('superadmin'::character varying)::"text"]))) +); + + +ALTER TABLE "public"."usuarios" OWNER TO "postgres"; + + +ALTER TABLE ONLY "internal"."app_config" + ADD CONSTRAINT "app_config_pkey" PRIMARY KEY ("clave"); + + + +ALTER TABLE ONLY "internal"."archivo_exports" + ADD CONSTRAINT "archivo_exports_pkey" PRIMARY KEY ("id"); + + + +ALTER TABLE ONLY "internal"."permisos" + ADD CONSTRAINT "permisos_accion_key" UNIQUE ("accion"); + + + +ALTER TABLE ONLY "internal"."permisos" + ADD CONSTRAINT "permisos_pkey" PRIMARY KEY ("id"); + + + +ALTER TABLE ONLY "internal"."sesiones" + ADD CONSTRAINT "sessions_pkey" PRIMARY KEY ("id"); + + + +ALTER TABLE ONLY "public"."actividades" + ADD CONSTRAINT "actividades_nombre_key" UNIQUE ("nombre"); + + + +ALTER TABLE ONLY "public"."actividades" + ADD CONSTRAINT "actividades_pkey" PRIMARY KEY ("id"); + + + +ALTER TABLE ONLY "public"."actividades_tipos_cuota" + ADD CONSTRAINT "actividades_tipos_cuota_pkey" PRIMARY KEY ("tipo_cuota_id", "actividad_id"); + + + +ALTER TABLE ONLY "public"."avisos_pago" + ADD CONSTRAINT "avisos_pago_pkey" PRIMARY KEY ("id"); + + + +ALTER TABLE ONLY "public"."dias_especiales" + ADD CONSTRAINT "dias_especiales_fecha_key" UNIQUE ("fecha"); + + + +ALTER TABLE ONLY "public"."dias_especiales" + ADD CONSTRAINT "dias_especiales_pkey" PRIMARY KEY ("id"); + + + +ALTER TABLE ONLY "public"."ejercicios" + ADD CONSTRAINT "ejercicios_nombre_key" UNIQUE ("nombre"); + + + +ALTER TABLE ONLY "public"."ejercicios" + ADD CONSTRAINT "ejercicios_pkey" PRIMARY KEY ("id"); + + + +ALTER TABLE ONLY "public"."eventos" + ADD CONSTRAINT "eventos_pkey" PRIMARY KEY ("id"); + + + +ALTER TABLE ONLY "public"."fotos_perfil" + ADD CONSTRAINT "fotos_perfil_cliente_id_key" UNIQUE ("cliente_id"); + + + +ALTER TABLE ONLY "public"."fotos_perfil" + ADD CONSTRAINT "fotos_perfil_pkey" PRIMARY KEY ("id"); + + + +ALTER TABLE ONLY "public"."horario_actividad_especial" + ADD CONSTRAINT "horario_actividad_especial_pkey" PRIMARY KEY ("id"); + + + +ALTER TABLE ONLY "public"."horario_actividad" + ADD CONSTRAINT "horario_actividad_no_solapamiento" EXCLUDE USING "gist" ("dia_semana" WITH =, "actividad_id" WITH =, "public"."timerange"("hora_inicio", "hora_fin") WITH &&, "daterange"("valido_desde", COALESCE("valido_hasta", 'infinity'::"date"), '[]'::"text") WITH &&); + + + +ALTER TABLE ONLY "public"."horario_actividad" + ADD CONSTRAINT "horario_actividad_pkey" PRIMARY KEY ("id"); + + + +ALTER TABLE ONLY "public"."metodos_pago" + ADD CONSTRAINT "metodos_pago_pkey" PRIMARY KEY ("id"); + + + +ALTER TABLE ONLY "public"."notificaciones" + ADD CONSTRAINT "notificaciones_pkey" PRIMARY KEY ("id"); + + + +ALTER TABLE ONLY "public"."pagos" + ADD CONSTRAINT "pagos_pkey" PRIMARY KEY ("id"); + + + +ALTER TABLE ONLY "public"."progreso_ejercicios" + ADD CONSTRAINT "progreso_ejercicios_cliente_id_ejercicio_id_fecha_key" UNIQUE ("cliente_id", "ejercicio_id", "fecha"); + + + +ALTER TABLE ONLY "public"."progreso_ejercicios" + ADD CONSTRAINT "progreso_ejercicios_pkey" PRIMARY KEY ("id"); + + + +ALTER TABLE ONLY "public"."reservas_huerfanas" + ADD CONSTRAINT "reservas_huerfanas_pkey" PRIMARY KEY ("id"); + + + +ALTER TABLE ONLY "public"."reservas" + ADD CONSTRAINT "reservas_pkey" PRIMARY KEY ("id"); + + + +ALTER TABLE ONLY "public"."reservas" + ADD CONSTRAINT "reservas_turno_id_cliente_id_key" UNIQUE ("turno_id", "cliente_id"); + + + +ALTER TABLE ONLY "public"."rutina_ejercicios" + ADD CONSTRAINT "rutina_ejercicios_pkey" PRIMARY KEY ("id"); + + + +ALTER TABLE ONLY "public"."rutinas_clientes" + ADD CONSTRAINT "rutinas_clientes_pkey" PRIMARY KEY ("id"); + + + +ALTER TABLE ONLY "public"."rutinas" + ADD CONSTRAINT "rutinas_pkey" PRIMARY KEY ("id"); + + + +ALTER TABLE ONLY "public"."tipos_cuota" + ADD CONSTRAINT "tipos_cuota_pkey" PRIMARY KEY ("id"); + + + +ALTER TABLE ONLY "public"."turnos" + ADD CONSTRAINT "turnos_actividad_id_fecha_hora_inicio_key" UNIQUE ("actividad_id", "fecha", "hora_inicio"); + + + +ALTER TABLE ONLY "public"."turnos" + ADD CONSTRAINT "turnos_pkey" PRIMARY KEY ("id"); + + + +ALTER TABLE ONLY "public"."usuarios" + ADD CONSTRAINT "usuarios_dni_key" UNIQUE ("dni"); + + + +ALTER TABLE ONLY "public"."usuarios" + ADD CONSTRAINT "usuarios_pkey" PRIMARY KEY ("id"); + + + +CREATE UNIQUE INDEX "archivo_exports_ok_unico" ON "internal"."archivo_exports" USING "btree" ("anio_mes_target", "tipo") WHERE ("resultado" = 'ok'::"text"); + + + +CREATE INDEX "idx_archivo_exports_target_tipo" ON "internal"."archivo_exports" USING "btree" ("anio_mes_target", "tipo", "ejecutado_en" DESC); + + + +CREATE INDEX "idx_sesiones_token" ON "internal"."sesiones" USING "btree" ("token"); + + + +CREATE INDEX "idx_sesiones_token_expires" ON "internal"."sesiones" USING "btree" ("token", "expires_at"); + + + +CREATE INDEX "idx_sesiones_usuario_expires" ON "internal"."sesiones" USING "btree" ("usuario_id", "expires_at"); + + + +CREATE INDEX "idx_actividades_activo" ON "public"."actividades" USING "btree" ("activo", "nombre"); + + + +CREATE INDEX "idx_actividades_libre" ON "public"."actividades" USING "btree" ("libre") WHERE ("libre" = true); + + + +CREATE INDEX "idx_actividades_tipos_cuota_actividad" ON "public"."actividades_tipos_cuota" USING "btree" ("actividad_id", "tipo_cuota_id"); + + + +CREATE INDEX "idx_avisos_pago_cliente_id" ON "public"."avisos_pago" USING "btree" ("cliente_id"); + + + +CREATE INDEX "idx_avisos_pago_estado_fecha" ON "public"."avisos_pago" USING "btree" ("estado", "fecha_aviso" DESC) WHERE ("estado" IS NOT NULL); + + + +CREATE INDEX "idx_eventos_cliente_fecha" ON "public"."eventos" USING "btree" ("cliente_id", "fecha_evento" DESC) WHERE ("cliente_id" IS NOT NULL); + + + +CREATE INDEX "idx_eventos_referencia" ON "public"."eventos" USING "btree" ("tabla_referencia", "referencia_id") WHERE ("referencia_id" IS NOT NULL); + + + +CREATE INDEX "idx_eventos_tipo_fecha" ON "public"."eventos" USING "btree" ("tipo", "fecha_evento" DESC); + + + +CREATE INDEX "idx_metodos_pago_activo" ON "public"."metodos_pago" USING "btree" ("activo") WHERE ("activo" = true); + + + +CREATE INDEX "idx_notificaciones_cliente_id" ON "public"."notificaciones" USING "btree" ("cliente_id"); + + + +CREATE INDEX "idx_notificaciones_cliente_leida" ON "public"."notificaciones" USING "btree" ("cliente_id", "leida", "id" DESC) WHERE ("leida" = false); + + + +CREATE INDEX "idx_pagos_cliente_no_anulado" ON "public"."pagos" USING "btree" ("cliente_id", "anio_mes_pagado" DESC) WHERE ("anulado_at" IS NULL); + + + +CREATE INDEX "idx_pagos_cuota_mensual_no_anulado" ON "public"."pagos" USING "btree" ("cliente_id", "anio_mes_pagado" DESC) WHERE (("anulado_at" IS NULL) AND ("tipo" = 'cuota_mensual'::"text")); + + + +CREATE INDEX "idx_pagos_metodo" ON "public"."pagos" USING "btree" ("metodo_id"); + + + +CREATE INDEX "idx_pagos_periodo" ON "public"."pagos" USING "btree" ("anio_mes_pagado", "fecha_pago"); + + + +CREATE INDEX "idx_progreso_ejercicios_cliente_fecha" ON "public"."progreso_ejercicios" USING "btree" ("cliente_id", "fecha" DESC, "completado"); + + + +CREATE INDEX "idx_progreso_ejercicios_ejercicio_id" ON "public"."progreso_ejercicios" USING "btree" ("ejercicio_id"); + + + +CREATE INDEX "idx_rutina_ejercicios_ejercicio_id" ON "public"."rutina_ejercicios" USING "btree" ("ejercicio_id"); + + + +CREATE INDEX "idx_rutina_ejercicios_orden" ON "public"."rutina_ejercicios" USING "btree" ("rutina_id", "orden", "ejercicio_id"); + + + +CREATE INDEX "idx_rutina_ejercicios_rutina_id" ON "public"."rutina_ejercicios" USING "btree" ("rutina_id"); + + + +CREATE INDEX "idx_rutinas_clientes_activa" ON "public"."rutinas_clientes" USING "btree" ("cliente_id", "activa", "fecha_asignacion" DESC) WHERE ("activa" = true); + + + +CREATE INDEX "idx_rutinas_clientes_asignada_por" ON "public"."rutinas_clientes" USING "btree" ("asignada_por"); + + + +CREATE INDEX "idx_rutinas_clientes_cliente_id" ON "public"."rutinas_clientes" USING "btree" ("cliente_id"); + + + +CREATE INDEX "idx_rutinas_clientes_rutina_id" ON "public"."rutinas_clientes" USING "btree" ("rutina_id"); + + + +CREATE INDEX "idx_rutinas_creada_por" ON "public"."rutinas" USING "btree" ("creada_por"); + + + +CREATE INDEX "idx_tipos_cuota_parasocios" ON "public"."tipos_cuota" USING "btree" ("parasocios", "dias_semana"); + + + +CREATE INDEX "idx_usuarios_activo" ON "public"."usuarios" USING "btree" ("isactive", "rol"); + + + +CREATE INDEX "idx_usuarios_rol" ON "public"."usuarios" USING "btree" ("rol") WHERE ("isactive" = true); + + + +CREATE INDEX "idx_usuarios_tipo_cuota" ON "public"."usuarios" USING "btree" ("tipo_cuota") WHERE ("tipo_cuota" IS NOT NULL); + + + +CREATE OR REPLACE TRIGGER "trg_clean_old_sessions" BEFORE INSERT ON "internal"."sesiones" FOR EACH ROW EXECUTE FUNCTION "internal"."clean_old_sessions_on_new_login"(); + + + +CREATE OR REPLACE TRIGGER "trg_desactivar_actividad" AFTER UPDATE OF "activo" ON "public"."actividades" FOR EACH ROW WHEN ((("old"."activo" = true) AND ("new"."activo" = false))) EXECUTE FUNCTION "internal"."cerrar_actividad"(); + + + +ALTER TABLE ONLY "internal"."sesiones" + ADD CONSTRAINT "sessions_usuario_id_fkey" FOREIGN KEY ("usuario_id") REFERENCES "public"."usuarios"("id"); + + + +ALTER TABLE ONLY "public"."actividades_tipos_cuota" + ADD CONSTRAINT "actividades_tipos_cuota_actividad_id_fkey" FOREIGN KEY ("actividad_id") REFERENCES "public"."actividades"("id"); + + + +ALTER TABLE ONLY "public"."actividades_tipos_cuota" + ADD CONSTRAINT "actividades_tipos_cuota_tipo_cuota_id_fkey" FOREIGN KEY ("tipo_cuota_id") REFERENCES "public"."tipos_cuota"("id") ON DELETE CASCADE; + + + +ALTER TABLE ONLY "public"."avisos_pago" + ADD CONSTRAINT "avisos_pago_cliente_id_fkey" FOREIGN KEY ("cliente_id") REFERENCES "public"."usuarios"("id") ON DELETE CASCADE; + + + +ALTER TABLE ONLY "public"."eventos" + ADD CONSTRAINT "eventos_actor_id_fkey" FOREIGN KEY ("actor_id") REFERENCES "public"."usuarios"("id"); + + + +ALTER TABLE ONLY "public"."eventos" + ADD CONSTRAINT "eventos_cliente_id_fkey" FOREIGN KEY ("cliente_id") REFERENCES "public"."usuarios"("id"); + + + +ALTER TABLE ONLY "public"."usuarios" + ADD CONSTRAINT "fk_usuario_tipo_cuota" FOREIGN KEY ("tipo_cuota") REFERENCES "public"."tipos_cuota"("id") ON DELETE SET NULL; + + + +ALTER TABLE ONLY "public"."fotos_perfil" + ADD CONSTRAINT "fotos_perfil_cliente_id_fkey" FOREIGN KEY ("cliente_id") REFERENCES "public"."usuarios"("id") ON DELETE CASCADE; + + + +ALTER TABLE ONLY "public"."horario_actividad" + ADD CONSTRAINT "horario_actividad_actividad_id_fkey" FOREIGN KEY ("actividad_id") REFERENCES "public"."actividades"("id") ON DELETE CASCADE; + + + +ALTER TABLE ONLY "public"."horario_actividad_especial" + ADD CONSTRAINT "horario_actividad_especial_actividad_fkey" FOREIGN KEY ("actividad_id") REFERENCES "public"."actividades"("id") ON DELETE CASCADE; + + + +ALTER TABLE ONLY "public"."horario_actividad_especial" + ADD CONSTRAINT "horario_actividad_especial_dia_fkey" FOREIGN KEY ("dia_especial_id") REFERENCES "public"."dias_especiales"("id") ON DELETE CASCADE; + + + +ALTER TABLE ONLY "public"."notificaciones" + ADD CONSTRAINT "notificaciones_cliente_id_fkey" FOREIGN KEY ("cliente_id") REFERENCES "public"."usuarios"("id") ON DELETE CASCADE; + + + +ALTER TABLE ONLY "public"."pagos" + ADD CONSTRAINT "pagos_anulado_por_fkey" FOREIGN KEY ("anulado_por") REFERENCES "public"."usuarios"("id"); + + + +ALTER TABLE ONLY "public"."pagos" + ADD CONSTRAINT "pagos_cliente_id_fkey" FOREIGN KEY ("cliente_id") REFERENCES "public"."usuarios"("id"); + + + +ALTER TABLE ONLY "public"."pagos" + ADD CONSTRAINT "pagos_created_by_fkey" FOREIGN KEY ("created_by") REFERENCES "public"."usuarios"("id"); + + + +ALTER TABLE ONLY "public"."pagos" + ADD CONSTRAINT "pagos_metodo_id_fkey" FOREIGN KEY ("metodo_id") REFERENCES "public"."metodos_pago"("id"); + + + +ALTER TABLE ONLY "public"."pagos" + ADD CONSTRAINT "pagos_tipo_cuota_id_fkey" FOREIGN KEY ("tipo_cuota_id") REFERENCES "public"."tipos_cuota"("id"); + + + +ALTER TABLE ONLY "public"."pagos" + ADD CONSTRAINT "pagos_updated_by_fkey" FOREIGN KEY ("updated_by") REFERENCES "public"."usuarios"("id"); + + + +ALTER TABLE ONLY "public"."progreso_ejercicios" + ADD CONSTRAINT "progreso_ejercicios_cliente_id_fkey" FOREIGN KEY ("cliente_id") REFERENCES "public"."usuarios"("id"); + + + +ALTER TABLE ONLY "public"."progreso_ejercicios" + ADD CONSTRAINT "progreso_ejercicios_ejercicio_id_fkey" FOREIGN KEY ("ejercicio_id") REFERENCES "public"."ejercicios"("id"); + + + +ALTER TABLE ONLY "public"."reservas" + ADD CONSTRAINT "reservas_cliente_id_fkey" FOREIGN KEY ("cliente_id") REFERENCES "public"."usuarios"("id") ON DELETE CASCADE; + + + +ALTER TABLE ONLY "public"."reservas_huerfanas" + ADD CONSTRAINT "reservas_huerfanas_cliente_id_fkey" FOREIGN KEY ("cliente_id") REFERENCES "public"."usuarios"("id") ON DELETE CASCADE; + + + +ALTER TABLE ONLY "public"."reservas" + ADD CONSTRAINT "reservas_turno_id_fkey" FOREIGN KEY ("turno_id") REFERENCES "public"."turnos"("id") ON DELETE CASCADE; + + + +ALTER TABLE ONLY "public"."rutina_ejercicios" + ADD CONSTRAINT "rutina_ejercicios_ejercicio_id_fkey" FOREIGN KEY ("ejercicio_id") REFERENCES "public"."ejercicios"("id") ON DELETE CASCADE; + + + +ALTER TABLE ONLY "public"."rutina_ejercicios" + ADD CONSTRAINT "rutina_ejercicios_rutina_id_fkey" FOREIGN KEY ("rutina_id") REFERENCES "public"."rutinas"("id") ON DELETE CASCADE; + + + +ALTER TABLE ONLY "public"."rutinas_clientes" + ADD CONSTRAINT "rutinas_clientes_asignada_por_fkey" FOREIGN KEY ("asignada_por") REFERENCES "public"."usuarios"("id"); + + + +ALTER TABLE ONLY "public"."rutinas_clientes" + ADD CONSTRAINT "rutinas_clientes_cliente_id_fkey" FOREIGN KEY ("cliente_id") REFERENCES "public"."usuarios"("id") ON DELETE CASCADE; + + + +ALTER TABLE ONLY "public"."rutinas_clientes" + ADD CONSTRAINT "rutinas_clientes_rutina_id_fkey" FOREIGN KEY ("rutina_id") REFERENCES "public"."rutinas"("id"); + + + +ALTER TABLE ONLY "public"."rutinas" + ADD CONSTRAINT "rutinas_creada_por_fkey" FOREIGN KEY ("creada_por") REFERENCES "public"."usuarios"("id"); + + + +ALTER TABLE ONLY "public"."turnos" + ADD CONSTRAINT "turnos_actividad_id_fkey" FOREIGN KEY ("actividad_id") REFERENCES "public"."actividades"("id") ON DELETE CASCADE; + + + +ALTER TABLE "internal"."archivo_exports" ENABLE ROW LEVEL SECURITY; + + +ALTER TABLE "internal"."permisos" ENABLE ROW LEVEL SECURITY; + + +ALTER TABLE "internal"."sesiones" ENABLE ROW LEVEL SECURITY; + + +ALTER TABLE "public"."actividades" ENABLE ROW LEVEL SECURITY; + + +ALTER TABLE "public"."actividades_tipos_cuota" ENABLE ROW LEVEL SECURITY; + + +ALTER TABLE "public"."avisos_pago" ENABLE ROW LEVEL SECURITY; + + +ALTER TABLE "public"."dias_especiales" ENABLE ROW LEVEL SECURITY; + + +ALTER TABLE "public"."ejercicios" ENABLE ROW LEVEL SECURITY; + + +ALTER TABLE "public"."eventos" ENABLE ROW LEVEL SECURITY; + + +ALTER TABLE "public"."fotos_perfil" ENABLE ROW LEVEL SECURITY; + + +ALTER TABLE "public"."horario_actividad" ENABLE ROW LEVEL SECURITY; + + +ALTER TABLE "public"."horario_actividad_especial" ENABLE ROW LEVEL SECURITY; + + +ALTER TABLE "public"."metodos_pago" ENABLE ROW LEVEL SECURITY; + + +ALTER TABLE "public"."notificaciones" ENABLE ROW LEVEL SECURITY; + + +ALTER TABLE "public"."pagos" ENABLE ROW LEVEL SECURITY; + + +ALTER TABLE "public"."progreso_ejercicios" ENABLE ROW LEVEL SECURITY; + + +ALTER TABLE "public"."reservas" ENABLE ROW LEVEL SECURITY; + + +ALTER TABLE "public"."reservas_huerfanas" ENABLE ROW LEVEL SECURITY; + + +ALTER TABLE "public"."rutina_ejercicios" ENABLE ROW LEVEL SECURITY; + + +ALTER TABLE "public"."rutinas" ENABLE ROW LEVEL SECURITY; + + +ALTER TABLE "public"."rutinas_clientes" ENABLE ROW LEVEL SECURITY; + + +ALTER TABLE "public"."tipos_cuota" ENABLE ROW LEVEL SECURITY; + + +ALTER TABLE "public"."turnos" ENABLE ROW LEVEL SECURITY; + + +ALTER TABLE "public"."usuarios" ENABLE ROW LEVEL SECURITY; + + +GRANT USAGE ON SCHEMA "public" TO "postgres"; +GRANT USAGE ON SCHEMA "public" TO "anon"; +GRANT USAGE ON SCHEMA "public" TO "authenticated"; +GRANT USAGE ON SCHEMA "public" TO "service_role"; + + + +REVOKE ALL ON FUNCTION "internal"."agregado_reservas_mensual"("p_anio_mes" "date") FROM PUBLIC; + + + +REVOKE ALL ON FUNCTION "internal"."clean_expired_sessions"() FROM PUBLIC; +GRANT ALL ON FUNCTION "internal"."clean_expired_sessions"() TO "service_role"; + + + +REVOKE ALL ON FUNCTION "internal"."clean_old_sessions_on_new_login"() FROM PUBLIC; +GRANT ALL ON FUNCTION "internal"."clean_old_sessions_on_new_login"() TO "service_role"; + + + +REVOKE ALL ON FUNCTION "internal"."create_password_hash"("p_password_plain" "text") FROM PUBLIC; +GRANT ALL ON FUNCTION "internal"."create_password_hash"("p_password_plain" "text") TO "service_role"; + + + +REVOKE ALL ON FUNCTION "internal"."get_config_int"("p_clave" "text", "p_default" integer) FROM PUBLIC; + + + +REVOKE ALL ON FUNCTION "internal"."limpiar_dias_especiales_antiguos"() FROM PUBLIC; + + + +REVOKE ALL ON FUNCTION "internal"."limpiar_eventos_antiguos"() FROM PUBLIC; + + + +REVOKE ALL ON FUNCTION "internal"."limpiar_huerfanas_resueltas"() FROM PUBLIC; + + + +REVOKE ALL ON FUNCTION "internal"."limpiar_turnos_antiguos"() FROM PUBLIC; + + + +REVOKE ALL ON FUNCTION "internal"."log_evento"("p_tipo" "text", "p_tabla" "text", "p_referencia_id" "uuid", "p_cliente_id" "uuid", "p_actor_id" "uuid", "p_valor_anterior" "jsonb", "p_valor_actual" "jsonb", "p_descripcion" "text") FROM PUBLIC; + + + +REVOKE ALL ON FUNCTION "internal"."pagos_del_mes"("p_anio_mes" "date") FROM PUBLIC; + + + +REVOKE ALL ON FUNCTION "internal"."pagos_mes_archivado"("p_anio_mes" "date") FROM PUBLIC; + + + +REVOKE ALL ON FUNCTION "internal"."validar_token"("p_token" "uuid") FROM PUBLIC; +GRANT ALL ON FUNCTION "internal"."validar_token"("p_token" "uuid") TO "service_role"; + + + +REVOKE ALL ON FUNCTION "internal"."validate_permission"("p_token" "uuid", "p_accion" "text") FROM PUBLIC; +GRANT ALL ON FUNCTION "internal"."validate_permission"("p_token" "uuid", "p_accion" "text") TO "service_role"; + + + +GRANT ALL ON FUNCTION "public"."fc_anular_pago"("p_id" "uuid", "p_motivo" "text", "p_token" "uuid") TO "anon"; +GRANT ALL ON FUNCTION "public"."fc_anular_pago"("p_id" "uuid", "p_motivo" "text", "p_token" "uuid") TO "authenticated"; +GRANT ALL ON FUNCTION "public"."fc_anular_pago"("p_id" "uuid", "p_motivo" "text", "p_token" "uuid") TO "service_role"; + + + +GRANT ALL ON FUNCTION "public"."fc_cancelar_reserva"("p_token" "uuid", "p_cliente_id" "uuid", "p_reserva_id" "uuid", "p_horas_anticipacion" integer) TO "anon"; +GRANT ALL ON FUNCTION "public"."fc_cancelar_reserva"("p_token" "uuid", "p_cliente_id" "uuid", "p_reserva_id" "uuid", "p_horas_anticipacion" integer) TO "authenticated"; +GRANT ALL ON FUNCTION "public"."fc_cancelar_reserva"("p_token" "uuid", "p_cliente_id" "uuid", "p_reserva_id" "uuid", "p_horas_anticipacion" integer) TO "service_role"; + + + +GRANT ALL ON FUNCTION "public"."fc_cancelar_reserva_admin"("p_token" "uuid", "p_reserva_id" "uuid") TO "anon"; +GRANT ALL ON FUNCTION "public"."fc_cancelar_reserva_admin"("p_token" "uuid", "p_reserva_id" "uuid") TO "authenticated"; +GRANT ALL ON FUNCTION "public"."fc_cancelar_reserva_admin"("p_token" "uuid", "p_reserva_id" "uuid") TO "service_role"; + + + +GRANT ALL ON FUNCTION "public"."fc_editar_pago"("p_id" "uuid", "p_datos" "jsonb", "p_token" "uuid") TO "anon"; +GRANT ALL ON FUNCTION "public"."fc_editar_pago"("p_id" "uuid", "p_datos" "jsonb", "p_token" "uuid") TO "authenticated"; +GRANT ALL ON FUNCTION "public"."fc_editar_pago"("p_id" "uuid", "p_datos" "jsonb", "p_token" "uuid") TO "service_role"; + + + +GRANT ALL ON FUNCTION "public"."fc_eliminar_actividad"("p_token" "uuid", "p_actividad_id" integer) TO "anon"; +GRANT ALL ON FUNCTION "public"."fc_eliminar_actividad"("p_token" "uuid", "p_actividad_id" integer) TO "authenticated"; +GRANT ALL ON FUNCTION "public"."fc_eliminar_actividad"("p_token" "uuid", "p_actividad_id" integer) TO "service_role"; + + + +GRANT ALL ON FUNCTION "public"."fc_eliminar_dia_especial"("p_token" "uuid", "p_fecha" "date") TO "anon"; +GRANT ALL ON FUNCTION "public"."fc_eliminar_dia_especial"("p_token" "uuid", "p_fecha" "date") TO "authenticated"; +GRANT ALL ON FUNCTION "public"."fc_eliminar_dia_especial"("p_token" "uuid", "p_fecha" "date") TO "service_role"; + + + +GRANT ALL ON FUNCTION "public"."fc_eliminar_sesion"("p_token" "uuid") TO "anon"; +GRANT ALL ON FUNCTION "public"."fc_eliminar_sesion"("p_token" "uuid") TO "authenticated"; +GRANT ALL ON FUNCTION "public"."fc_eliminar_sesion"("p_token" "uuid") TO "service_role"; + + + +GRANT ALL ON FUNCTION "public"."fc_eliminar_tipo_cuota"("p_id" "uuid", "p_token" "uuid") TO "anon"; +GRANT ALL ON FUNCTION "public"."fc_eliminar_tipo_cuota"("p_id" "uuid", "p_token" "uuid") TO "authenticated"; +GRANT ALL ON FUNCTION "public"."fc_eliminar_tipo_cuota"("p_id" "uuid", "p_token" "uuid") TO "service_role"; + + + +GRANT ALL ON FUNCTION "public"."fc_eliminar_usuario"("p_dni" "text", "p_token" "uuid") TO "anon"; +GRANT ALL ON FUNCTION "public"."fc_eliminar_usuario"("p_dni" "text", "p_token" "uuid") TO "authenticated"; +GRANT ALL ON FUNCTION "public"."fc_eliminar_usuario"("p_dni" "text", "p_token" "uuid") TO "service_role"; + + + +GRANT ALL ON FUNCTION "public"."fc_ingresar"("dni_input" "text", "password_plain_input" "text") TO "anon"; +GRANT ALL ON FUNCTION "public"."fc_ingresar"("dni_input" "text", "password_plain_input" "text") TO "authenticated"; +GRANT ALL ON FUNCTION "public"."fc_ingresar"("dni_input" "text", "password_plain_input" "text") TO "service_role"; + + + +GRANT ALL ON FUNCTION "public"."fc_insertar_actividad"("p_token" "uuid", "p_datos" "jsonb") TO "anon"; +GRANT ALL ON FUNCTION "public"."fc_insertar_actividad"("p_token" "uuid", "p_datos" "jsonb") TO "authenticated"; +GRANT ALL ON FUNCTION "public"."fc_insertar_actividad"("p_token" "uuid", "p_datos" "jsonb") TO "service_role"; + + + +GRANT ALL ON FUNCTION "public"."fc_insertar_horario_con_actividades"("p_token" "uuid", "p_datos" "jsonb") TO "anon"; +GRANT ALL ON FUNCTION "public"."fc_insertar_horario_con_actividades"("p_token" "uuid", "p_datos" "jsonb") TO "authenticated"; +GRANT ALL ON FUNCTION "public"."fc_insertar_horario_con_actividades"("p_token" "uuid", "p_datos" "jsonb") TO "service_role"; + + + +GRANT ALL ON FUNCTION "public"."fc_insertar_pago"("p_datos" "jsonb", "p_token" "uuid") TO "anon"; +GRANT ALL ON FUNCTION "public"."fc_insertar_pago"("p_datos" "jsonb", "p_token" "uuid") TO "authenticated"; +GRANT ALL ON FUNCTION "public"."fc_insertar_pago"("p_datos" "jsonb", "p_token" "uuid") TO "service_role"; + + + +GRANT ALL ON FUNCTION "public"."fc_insertar_tipo_cuota"("p_datos" "jsonb", "p_token" "uuid") TO "anon"; +GRANT ALL ON FUNCTION "public"."fc_insertar_tipo_cuota"("p_datos" "jsonb", "p_token" "uuid") TO "authenticated"; +GRANT ALL ON FUNCTION "public"."fc_insertar_tipo_cuota"("p_datos" "jsonb", "p_token" "uuid") TO "service_role"; + + + +GRANT ALL ON FUNCTION "public"."fc_insertar_usuario"("p_datos" "jsonb", "p_token" "uuid") TO "anon"; +GRANT ALL ON FUNCTION "public"."fc_insertar_usuario"("p_datos" "jsonb", "p_token" "uuid") TO "authenticated"; +GRANT ALL ON FUNCTION "public"."fc_insertar_usuario"("p_datos" "jsonb", "p_token" "uuid") TO "service_role"; + + + +GRANT ALL ON FUNCTION "public"."fc_modificar_actividad"("p_token" "uuid", "p_actividad_id" integer, "p_datos" "jsonb") TO "anon"; +GRANT ALL ON FUNCTION "public"."fc_modificar_actividad"("p_token" "uuid", "p_actividad_id" integer, "p_datos" "jsonb") TO "authenticated"; +GRANT ALL ON FUNCTION "public"."fc_modificar_actividad"("p_token" "uuid", "p_actividad_id" integer, "p_datos" "jsonb") TO "service_role"; + + + +GRANT ALL ON FUNCTION "public"."fc_modificar_estado_usuario"("p_token" "uuid", "p_id" "uuid", "p_estado" boolean) TO "anon"; +GRANT ALL ON FUNCTION "public"."fc_modificar_estado_usuario"("p_token" "uuid", "p_id" "uuid", "p_estado" boolean) TO "authenticated"; +GRANT ALL ON FUNCTION "public"."fc_modificar_estado_usuario"("p_token" "uuid", "p_id" "uuid", "p_estado" boolean) TO "service_role"; + + + +GRANT ALL ON FUNCTION "public"."fc_modificar_metodos_pago"("p_datos" "jsonb", "p_token" "uuid") TO "anon"; +GRANT ALL ON FUNCTION "public"."fc_modificar_metodos_pago"("p_datos" "jsonb", "p_token" "uuid") TO "authenticated"; +GRANT ALL ON FUNCTION "public"."fc_modificar_metodos_pago"("p_datos" "jsonb", "p_token" "uuid") TO "service_role"; + + + +GRANT ALL ON FUNCTION "public"."fc_modificar_rol_usuario"("p_uid" "uuid", "p_nuevo_rol" "text", "p_token" "uuid") TO "anon"; +GRANT ALL ON FUNCTION "public"."fc_modificar_rol_usuario"("p_uid" "uuid", "p_nuevo_rol" "text", "p_token" "uuid") TO "authenticated"; +GRANT ALL ON FUNCTION "public"."fc_modificar_rol_usuario"("p_uid" "uuid", "p_nuevo_rol" "text", "p_token" "uuid") TO "service_role"; + + + +GRANT ALL ON FUNCTION "public"."fc_modificar_tipo_cuota"("p_id" "uuid", "p_datos" "jsonb", "p_token" "uuid") TO "anon"; +GRANT ALL ON FUNCTION "public"."fc_modificar_tipo_cuota"("p_id" "uuid", "p_datos" "jsonb", "p_token" "uuid") TO "authenticated"; +GRANT ALL ON FUNCTION "public"."fc_modificar_tipo_cuota"("p_id" "uuid", "p_datos" "jsonb", "p_token" "uuid") TO "service_role"; + + + +GRANT ALL ON FUNCTION "public"."fc_modificar_usuario"("p_datos" "jsonb", "p_token" "uuid") TO "anon"; +GRANT ALL ON FUNCTION "public"."fc_modificar_usuario"("p_datos" "jsonb", "p_token" "uuid") TO "authenticated"; +GRANT ALL ON FUNCTION "public"."fc_modificar_usuario"("p_datos" "jsonb", "p_token" "uuid") TO "service_role"; + + + +GRANT ALL ON FUNCTION "public"."fc_mover_reserva_huerfana"("p_token" "uuid", "p_huerfana_id" "uuid", "p_turno_id" "uuid") TO "anon"; +GRANT ALL ON FUNCTION "public"."fc_mover_reserva_huerfana"("p_token" "uuid", "p_huerfana_id" "uuid", "p_turno_id" "uuid") TO "authenticated"; +GRANT ALL ON FUNCTION "public"."fc_mover_reserva_huerfana"("p_token" "uuid", "p_huerfana_id" "uuid", "p_turno_id" "uuid") TO "service_role"; + + + +GRANT ALL ON FUNCTION "public"."fc_obtener_actividades"("p_token" "uuid", "p_solo_activas" boolean) TO "anon"; +GRANT ALL ON FUNCTION "public"."fc_obtener_actividades"("p_token" "uuid", "p_solo_activas" boolean) TO "authenticated"; +GRANT ALL ON FUNCTION "public"."fc_obtener_actividades"("p_token" "uuid", "p_solo_activas" boolean) TO "service_role"; + + + +GRANT ALL ON FUNCTION "public"."fc_obtener_actividades_tipo_cuota"("p_token" "uuid", "p_tipo_cuota_id" "uuid") TO "anon"; +GRANT ALL ON FUNCTION "public"."fc_obtener_actividades_tipo_cuota"("p_token" "uuid", "p_tipo_cuota_id" "uuid") TO "authenticated"; +GRANT ALL ON FUNCTION "public"."fc_obtener_actividades_tipo_cuota"("p_token" "uuid", "p_tipo_cuota_id" "uuid") TO "service_role"; + + + +GRANT ALL ON FUNCTION "public"."fc_obtener_config"("p_token" "uuid") TO "anon"; +GRANT ALL ON FUNCTION "public"."fc_obtener_config"("p_token" "uuid") TO "authenticated"; +GRANT ALL ON FUNCTION "public"."fc_obtener_config"("p_token" "uuid") TO "service_role"; + + + +GRANT ALL ON FUNCTION "public"."fc_obtener_estado_archivo"("p_token" "uuid") TO "anon"; +GRANT ALL ON FUNCTION "public"."fc_obtener_estado_archivo"("p_token" "uuid") TO "authenticated"; +GRANT ALL ON FUNCTION "public"."fc_obtener_estado_archivo"("p_token" "uuid") TO "service_role"; + + + +GRANT ALL ON FUNCTION "public"."fc_obtener_estado_cupo"("p_token" "uuid", "p_cliente_id" "uuid", "p_fecha" "date") TO "anon"; +GRANT ALL ON FUNCTION "public"."fc_obtener_estado_cupo"("p_token" "uuid", "p_cliente_id" "uuid", "p_fecha" "date") TO "authenticated"; +GRANT ALL ON FUNCTION "public"."fc_obtener_estado_cupo"("p_token" "uuid", "p_cliente_id" "uuid", "p_fecha" "date") TO "service_role"; + + + +GRANT ALL ON FUNCTION "public"."fc_obtener_horarios"("p_token" "uuid", "p_fecha_inicio" "date", "p_cantidad_dias" smallint) TO "anon"; +GRANT ALL ON FUNCTION "public"."fc_obtener_horarios"("p_token" "uuid", "p_fecha_inicio" "date", "p_cantidad_dias" smallint) TO "authenticated"; +GRANT ALL ON FUNCTION "public"."fc_obtener_horarios"("p_token" "uuid", "p_fecha_inicio" "date", "p_cantidad_dias" smallint) TO "service_role"; + + + +GRANT ALL ON FUNCTION "public"."fc_obtener_horarios_especiales"("p_token" "uuid", "p_fecha" "date") TO "anon"; +GRANT ALL ON FUNCTION "public"."fc_obtener_horarios_especiales"("p_token" "uuid", "p_fecha" "date") TO "authenticated"; +GRANT ALL ON FUNCTION "public"."fc_obtener_horarios_especiales"("p_token" "uuid", "p_fecha" "date") TO "service_role"; + + + +GRANT ALL ON FUNCTION "public"."fc_obtener_metodos_pago"("p_token" "uuid") TO "anon"; +GRANT ALL ON FUNCTION "public"."fc_obtener_metodos_pago"("p_token" "uuid") TO "authenticated"; +GRANT ALL ON FUNCTION "public"."fc_obtener_metodos_pago"("p_token" "uuid") TO "service_role"; + + + +GRANT ALL ON FUNCTION "public"."fc_obtener_mis_pagos"("p_token" "uuid", "p_pagina" integer, "p_cantidad" integer) TO "anon"; +GRANT ALL ON FUNCTION "public"."fc_obtener_mis_pagos"("p_token" "uuid", "p_pagina" integer, "p_cantidad" integer) TO "authenticated"; +GRANT ALL ON FUNCTION "public"."fc_obtener_mis_pagos"("p_token" "uuid", "p_pagina" integer, "p_cantidad" integer) TO "service_role"; + + + +GRANT ALL ON FUNCTION "public"."fc_obtener_pagos"("p_token" "uuid", "p_dni" "text", "p_pagina" integer, "p_cantidad" integer, "p_incluir_anulados" boolean) TO "anon"; +GRANT ALL ON FUNCTION "public"."fc_obtener_pagos"("p_token" "uuid", "p_dni" "text", "p_pagina" integer, "p_cantidad" integer, "p_incluir_anulados" boolean) TO "authenticated"; +GRANT ALL ON FUNCTION "public"."fc_obtener_pagos"("p_token" "uuid", "p_dni" "text", "p_pagina" integer, "p_cantidad" integer, "p_incluir_anulados" boolean) TO "service_role"; + + + +GRANT ALL ON FUNCTION "public"."fc_obtener_planificaciones_futuras"("p_token" "uuid", "p_dia_semana" smallint, "p_desde" "date", "p_meses" integer) TO "anon"; +GRANT ALL ON FUNCTION "public"."fc_obtener_planificaciones_futuras"("p_token" "uuid", "p_dia_semana" smallint, "p_desde" "date", "p_meses" integer) TO "authenticated"; +GRANT ALL ON FUNCTION "public"."fc_obtener_planificaciones_futuras"("p_token" "uuid", "p_dia_semana" smallint, "p_desde" "date", "p_meses" integer) TO "service_role"; + + + +GRANT ALL ON FUNCTION "public"."fc_obtener_reservas_cliente"("p_token" "uuid", "p_cliente_id" "uuid", "p_incluir_canceladas" boolean, "p_fecha_desde" "date") TO "anon"; +GRANT ALL ON FUNCTION "public"."fc_obtener_reservas_cliente"("p_token" "uuid", "p_cliente_id" "uuid", "p_incluir_canceladas" boolean, "p_fecha_desde" "date") TO "authenticated"; +GRANT ALL ON FUNCTION "public"."fc_obtener_reservas_cliente"("p_token" "uuid", "p_cliente_id" "uuid", "p_incluir_canceladas" boolean, "p_fecha_desde" "date") TO "service_role"; + + + +GRANT ALL ON FUNCTION "public"."fc_obtener_reservas_huerfanas"("p_token" "uuid", "p_estado" character varying, "p_creada_desde" timestamp with time zone) TO "anon"; +GRANT ALL ON FUNCTION "public"."fc_obtener_reservas_huerfanas"("p_token" "uuid", "p_estado" character varying, "p_creada_desde" timestamp with time zone) TO "authenticated"; +GRANT ALL ON FUNCTION "public"."fc_obtener_reservas_huerfanas"("p_token" "uuid", "p_estado" character varying, "p_creada_desde" timestamp with time zone) TO "service_role"; + + + +GRANT ALL ON FUNCTION "public"."fc_obtener_reservas_turno"("p_token" "uuid", "p_turno_id" "uuid") TO "anon"; +GRANT ALL ON FUNCTION "public"."fc_obtener_reservas_turno"("p_token" "uuid", "p_turno_id" "uuid") TO "authenticated"; +GRANT ALL ON FUNCTION "public"."fc_obtener_reservas_turno"("p_token" "uuid", "p_turno_id" "uuid") TO "service_role"; + + + +GRANT ALL ON FUNCTION "public"."fc_obtener_tamano_base"("p_token" "uuid") TO "anon"; +GRANT ALL ON FUNCTION "public"."fc_obtener_tamano_base"("p_token" "uuid") TO "authenticated"; +GRANT ALL ON FUNCTION "public"."fc_obtener_tamano_base"("p_token" "uuid") TO "service_role"; + + + +GRANT ALL ON FUNCTION "public"."fc_obtener_tipo_cuota"("p_token" "uuid", "p_id" "uuid") TO "anon"; +GRANT ALL ON FUNCTION "public"."fc_obtener_tipo_cuota"("p_token" "uuid", "p_id" "uuid") TO "authenticated"; +GRANT ALL ON FUNCTION "public"."fc_obtener_tipo_cuota"("p_token" "uuid", "p_id" "uuid") TO "service_role"; + + + +GRANT ALL ON FUNCTION "public"."fc_obtener_turnos"("p_token" "uuid", "p_fecha_inicio" "date", "p_cantidad_dias" smallint) TO "anon"; +GRANT ALL ON FUNCTION "public"."fc_obtener_turnos"("p_token" "uuid", "p_fecha_inicio" "date", "p_cantidad_dias" smallint) TO "authenticated"; +GRANT ALL ON FUNCTION "public"."fc_obtener_turnos"("p_token" "uuid", "p_fecha_inicio" "date", "p_cantidad_dias" smallint) TO "service_role"; + + + +GRANT ALL ON FUNCTION "public"."fc_obtener_usuario_por_token"("p_token" "uuid", "p_user_token" "uuid") TO "anon"; +GRANT ALL ON FUNCTION "public"."fc_obtener_usuario_por_token"("p_token" "uuid", "p_user_token" "uuid") TO "authenticated"; +GRANT ALL ON FUNCTION "public"."fc_obtener_usuario_por_token"("p_token" "uuid", "p_user_token" "uuid") TO "service_role"; + + + +GRANT ALL ON FUNCTION "public"."fc_obtener_usuario_tipo_cuota"("p_token" "uuid", "p_dni" "text") TO "anon"; +GRANT ALL ON FUNCTION "public"."fc_obtener_usuario_tipo_cuota"("p_token" "uuid", "p_dni" "text") TO "authenticated"; +GRANT ALL ON FUNCTION "public"."fc_obtener_usuario_tipo_cuota"("p_token" "uuid", "p_dni" "text") TO "service_role"; + + + +GRANT ALL ON FUNCTION "public"."fc_obtener_usuarios"("p_token" "uuid", "p_dni" "text", "p_pagina" integer, "p_cantidad" integer) TO "anon"; +GRANT ALL ON FUNCTION "public"."fc_obtener_usuarios"("p_token" "uuid", "p_dni" "text", "p_pagina" integer, "p_cantidad" integer) TO "authenticated"; +GRANT ALL ON FUNCTION "public"."fc_obtener_usuarios"("p_token" "uuid", "p_dni" "text", "p_pagina" integer, "p_cantidad" integer) TO "service_role"; + + + +GRANT ALL ON FUNCTION "public"."fc_reservar_turno"("p_token" "uuid", "p_cliente_id" "uuid", "p_turno_id" "uuid") TO "anon"; +GRANT ALL ON FUNCTION "public"."fc_reservar_turno"("p_token" "uuid", "p_cliente_id" "uuid", "p_turno_id" "uuid") TO "authenticated"; +GRANT ALL ON FUNCTION "public"."fc_reservar_turno"("p_token" "uuid", "p_cliente_id" "uuid", "p_turno_id" "uuid") TO "service_role"; + + + +GRANT ALL ON FUNCTION "public"."fc_reservar_turno_admin"("p_token" "uuid", "p_cliente_id" "uuid", "p_turno_id" "uuid") TO "anon"; +GRANT ALL ON FUNCTION "public"."fc_reservar_turno_admin"("p_token" "uuid", "p_cliente_id" "uuid", "p_turno_id" "uuid") TO "authenticated"; +GRANT ALL ON FUNCTION "public"."fc_reservar_turno_admin"("p_token" "uuid", "p_cliente_id" "uuid", "p_turno_id" "uuid") TO "service_role"; + + + +GRANT ALL ON FUNCTION "public"."fc_resolver_huerfana"("p_token" "uuid", "p_huerfana_id" "uuid", "p_nuevo_estado" character varying) TO "anon"; +GRANT ALL ON FUNCTION "public"."fc_resolver_huerfana"("p_token" "uuid", "p_huerfana_id" "uuid", "p_nuevo_estado" character varying) TO "authenticated"; +GRANT ALL ON FUNCTION "public"."fc_resolver_huerfana"("p_token" "uuid", "p_huerfana_id" "uuid", "p_nuevo_estado" character varying) TO "service_role"; + + + +GRANT ALL ON FUNCTION "public"."fc_upsert_turno"("p_token" "uuid", "p_actividad_id" integer, "p_fecha" "date", "p_hora_inicio" time without time zone, "p_hora_fin" time without time zone, "p_capacidad_maxima" smallint, "p_es_especial" boolean) TO "anon"; +GRANT ALL ON FUNCTION "public"."fc_upsert_turno"("p_token" "uuid", "p_actividad_id" integer, "p_fecha" "date", "p_hora_inicio" time without time zone, "p_hora_fin" time without time zone, "p_capacidad_maxima" smallint, "p_es_especial" boolean) TO "authenticated"; +GRANT ALL ON FUNCTION "public"."fc_upsert_turno"("p_token" "uuid", "p_actividad_id" integer, "p_fecha" "date", "p_hora_inicio" time without time zone, "p_hora_fin" time without time zone, "p_capacidad_maxima" smallint, "p_es_especial" boolean) TO "service_role"; + + + +GRANT ALL ON TABLE "internal"."permisos" TO "service_role"; + + + +GRANT ALL ON SEQUENCE "internal"."permisos_id_permiso_seq" TO "service_role"; + + + +GRANT ALL ON TABLE "internal"."sesiones" TO "service_role"; + + + +GRANT ALL ON TABLE "public"."actividades" TO "anon"; +GRANT ALL ON TABLE "public"."actividades" TO "authenticated"; +GRANT ALL ON TABLE "public"."actividades" TO "service_role"; + + + +GRANT ALL ON SEQUENCE "public"."actividades_id_seq" TO "anon"; +GRANT ALL ON SEQUENCE "public"."actividades_id_seq" TO "authenticated"; +GRANT ALL ON SEQUENCE "public"."actividades_id_seq" TO "service_role"; + + + +GRANT ALL ON TABLE "public"."actividades_tipos_cuota" TO "anon"; +GRANT ALL ON TABLE "public"."actividades_tipos_cuota" TO "authenticated"; +GRANT ALL ON TABLE "public"."actividades_tipos_cuota" TO "service_role"; + + + +GRANT ALL ON TABLE "public"."avisos_pago" TO "anon"; +GRANT ALL ON TABLE "public"."avisos_pago" TO "authenticated"; +GRANT ALL ON TABLE "public"."avisos_pago" TO "service_role"; + + + +GRANT ALL ON TABLE "public"."dias_especiales" TO "anon"; +GRANT ALL ON TABLE "public"."dias_especiales" TO "authenticated"; +GRANT ALL ON TABLE "public"."dias_especiales" TO "service_role"; + + + +GRANT ALL ON SEQUENCE "public"."dias_especiales_id_seq" TO "anon"; +GRANT ALL ON SEQUENCE "public"."dias_especiales_id_seq" TO "authenticated"; +GRANT ALL ON SEQUENCE "public"."dias_especiales_id_seq" TO "service_role"; + + + +GRANT ALL ON TABLE "public"."ejercicios" TO "anon"; +GRANT ALL ON TABLE "public"."ejercicios" TO "authenticated"; +GRANT ALL ON TABLE "public"."ejercicios" TO "service_role"; + + + +GRANT ALL ON TABLE "public"."eventos" TO "anon"; +GRANT ALL ON TABLE "public"."eventos" TO "authenticated"; +GRANT ALL ON TABLE "public"."eventos" TO "service_role"; + + + +GRANT ALL ON TABLE "public"."fotos_perfil" TO "anon"; +GRANT ALL ON TABLE "public"."fotos_perfil" TO "authenticated"; +GRANT ALL ON TABLE "public"."fotos_perfil" TO "service_role"; + + + +GRANT ALL ON TABLE "public"."horario_actividad" TO "anon"; +GRANT ALL ON TABLE "public"."horario_actividad" TO "authenticated"; +GRANT ALL ON TABLE "public"."horario_actividad" TO "service_role"; + + + +GRANT ALL ON TABLE "public"."horario_actividad_especial" TO "anon"; +GRANT ALL ON TABLE "public"."horario_actividad_especial" TO "authenticated"; +GRANT ALL ON TABLE "public"."horario_actividad_especial" TO "service_role"; + + + +GRANT ALL ON SEQUENCE "public"."horario_actividad_especial_id_seq" TO "anon"; +GRANT ALL ON SEQUENCE "public"."horario_actividad_especial_id_seq" TO "authenticated"; +GRANT ALL ON SEQUENCE "public"."horario_actividad_especial_id_seq" TO "service_role"; + + + +GRANT ALL ON SEQUENCE "public"."horario_actividad_id_seq" TO "anon"; +GRANT ALL ON SEQUENCE "public"."horario_actividad_id_seq" TO "authenticated"; +GRANT ALL ON SEQUENCE "public"."horario_actividad_id_seq" TO "service_role"; + + + +GRANT ALL ON TABLE "public"."metodos_pago" TO "anon"; +GRANT ALL ON TABLE "public"."metodos_pago" TO "authenticated"; +GRANT ALL ON TABLE "public"."metodos_pago" TO "service_role"; + + + +GRANT ALL ON SEQUENCE "public"."metodos_pago_id_seq" TO "anon"; +GRANT ALL ON SEQUENCE "public"."metodos_pago_id_seq" TO "authenticated"; +GRANT ALL ON SEQUENCE "public"."metodos_pago_id_seq" TO "service_role"; + + + +GRANT ALL ON TABLE "public"."notificaciones" TO "anon"; +GRANT ALL ON TABLE "public"."notificaciones" TO "authenticated"; +GRANT ALL ON TABLE "public"."notificaciones" TO "service_role"; + + + +GRANT ALL ON TABLE "public"."pagos" TO "anon"; +GRANT ALL ON TABLE "public"."pagos" TO "authenticated"; +GRANT ALL ON TABLE "public"."pagos" TO "service_role"; + + + +GRANT ALL ON TABLE "public"."progreso_ejercicios" TO "anon"; +GRANT ALL ON TABLE "public"."progreso_ejercicios" TO "authenticated"; +GRANT ALL ON TABLE "public"."progreso_ejercicios" TO "service_role"; + + + +GRANT ALL ON TABLE "public"."reservas" TO "anon"; +GRANT ALL ON TABLE "public"."reservas" TO "authenticated"; +GRANT ALL ON TABLE "public"."reservas" TO "service_role"; + + + +GRANT ALL ON TABLE "public"."reservas_huerfanas" TO "anon"; +GRANT ALL ON TABLE "public"."reservas_huerfanas" TO "authenticated"; +GRANT ALL ON TABLE "public"."reservas_huerfanas" TO "service_role"; + + + +GRANT ALL ON TABLE "public"."rutina_ejercicios" TO "anon"; +GRANT ALL ON TABLE "public"."rutina_ejercicios" TO "authenticated"; +GRANT ALL ON TABLE "public"."rutina_ejercicios" TO "service_role"; + + + +GRANT ALL ON TABLE "public"."rutinas" TO "anon"; +GRANT ALL ON TABLE "public"."rutinas" TO "authenticated"; +GRANT ALL ON TABLE "public"."rutinas" TO "service_role"; + + + +GRANT ALL ON TABLE "public"."rutinas_clientes" TO "anon"; +GRANT ALL ON TABLE "public"."rutinas_clientes" TO "authenticated"; +GRANT ALL ON TABLE "public"."rutinas_clientes" TO "service_role"; + + + +GRANT ALL ON TABLE "public"."tipos_cuota" TO "anon"; +GRANT ALL ON TABLE "public"."tipos_cuota" TO "authenticated"; +GRANT ALL ON TABLE "public"."tipos_cuota" TO "service_role"; + + + +GRANT ALL ON TABLE "public"."turnos" TO "anon"; +GRANT ALL ON TABLE "public"."turnos" TO "authenticated"; +GRANT ALL ON TABLE "public"."turnos" TO "service_role"; + + + +GRANT ALL ON TABLE "public"."usuarios" TO "anon"; +GRANT ALL ON TABLE "public"."usuarios" TO "authenticated"; +GRANT ALL ON TABLE "public"."usuarios" TO "service_role"; + + + +ALTER DEFAULT PRIVILEGES FOR ROLE "postgres" IN SCHEMA "public" GRANT ALL ON SEQUENCES TO "postgres"; +ALTER DEFAULT PRIVILEGES FOR ROLE "postgres" IN SCHEMA "public" GRANT ALL ON SEQUENCES TO "anon"; +ALTER DEFAULT PRIVILEGES FOR ROLE "postgres" IN SCHEMA "public" GRANT ALL ON SEQUENCES TO "authenticated"; +ALTER DEFAULT PRIVILEGES FOR ROLE "postgres" IN SCHEMA "public" GRANT ALL ON SEQUENCES TO "service_role"; + + + + + + +ALTER DEFAULT PRIVILEGES FOR ROLE "postgres" IN SCHEMA "public" GRANT ALL ON FUNCTIONS TO "postgres"; +ALTER DEFAULT PRIVILEGES FOR ROLE "postgres" IN SCHEMA "public" GRANT ALL ON FUNCTIONS TO "anon"; +ALTER DEFAULT PRIVILEGES FOR ROLE "postgres" IN SCHEMA "public" GRANT ALL ON FUNCTIONS TO "authenticated"; +ALTER DEFAULT PRIVILEGES FOR ROLE "postgres" IN SCHEMA "public" GRANT ALL ON FUNCTIONS TO "service_role"; + + + + + + +ALTER DEFAULT PRIVILEGES FOR ROLE "postgres" IN SCHEMA "public" GRANT ALL ON TABLES TO "postgres"; +ALTER DEFAULT PRIVILEGES FOR ROLE "postgres" IN SCHEMA "public" GRANT ALL ON TABLES TO "anon"; +ALTER DEFAULT PRIVILEGES FOR ROLE "postgres" IN SCHEMA "public" GRANT ALL ON TABLES TO "authenticated"; +ALTER DEFAULT PRIVILEGES FOR ROLE "postgres" IN SCHEMA "public" GRANT ALL ON TABLES TO "service_role"; + + + + + + + diff --git a/supabase/migrations/20260603232831_internal_entorno.sql b/supabase/migrations/20260603232831_internal_entorno.sql new file mode 100644 index 0000000..2d24f99 --- /dev/null +++ b/supabase/migrations/20260603232831_internal_entorno.sql @@ -0,0 +1,30 @@ +-- ============================================================================ +-- internal.entorno — tabla de identidad del entorno +-- ============================================================================ +-- Migración delta (Carril 1). La base declara si es 'dev' o 'prod'. Es la piedra +-- angular de los guardarraíles (ver Documentation/EntornoDesarrollo.md §F): toda +-- herramienta que vaya a escribir consulta esta fila antes de operar, y frena si +-- la base no se sabe a sí misma. +-- +-- DISEÑO +-- - Fila ÚNICA forzada: id boolean PK DEFAULT true + CHECK (id). Solo el valor +-- true satisface el CHECK, y al ser PK no puede repetirse → a lo sumo una +-- fila, jamás dos identidades en conflicto. +-- - valor ∈ {'dev','prod'} por CHECK. No hay tercer estado válido. +-- +-- FAIL-SAFE (deliberado) +-- La tabla NO se seedea desde el repo (esta migración no trae INSERT). Una base +-- recién clonada nace con la tabla VACÍA. Tabla vacía = identidad desconocida = +-- la herramienta se niega a escribir. La identidad se setea a mano por entorno +-- como paso explícito post-clon (US-E11 y el checklist de promoción US-E16). +-- ============================================================================ + +CREATE TABLE IF NOT EXISTS internal.entorno ( + id boolean DEFAULT true NOT NULL, + valor text NOT NULL, + CONSTRAINT entorno_pkey PRIMARY KEY (id), + CONSTRAINT entorno_fila_unica CHECK (id), + CONSTRAINT entorno_valor_valido CHECK (valor IN ('dev', 'prod')) +); + +ALTER TABLE internal.entorno ENABLE ROW LEVEL SECURITY; diff --git a/supabase/migrations/20260604155956_seed_app_config.sql b/supabase/migrations/20260604155956_seed_app_config.sql new file mode 100644 index 0000000..8a0f844 --- /dev/null +++ b/supabase/migrations/20260604155956_seed_app_config.sql @@ -0,0 +1,82 @@ +-- ============================================================================ +-- seed: internal.app_config (Carril 1 — migración de datos) +-- ============================================================================ +-- Pares clave/valor de configuración runtime. Cada clave es leída por las +-- funciones consumidoras vía internal.get_config_int(clave, default); si la +-- fila no existe, la función cae al default. Las filas de este seed existen +-- para que el operador pueda hacer override sin redeploy y para que la tabla +-- documente qué parámetros expone el sistema. +-- +-- ORIGEN: estos 9 valores se verificaron contra prod (xkmaysctkjsytgmxrkyo) el +-- 2026-06-04 y coinciden exactos — no hay override operativo en prod, el seed +-- es fiel a la realidad. Migración trasladada desde el archivo histórico +-- database/schema/seeds/internal/app_config.sql al Carril 1. +-- +-- Convención: +-- - Una sección por dominio (retencion.*, pagos.*, etc.). +-- - El valor seedeado debe coincidir con el default que el consumidor pasa +-- a get_config_int. Si los dos divergen, el seed manda. +-- - ON CONFLICT DO NOTHING: idempotente y preserva overrides operativos. +-- Promover esta migración a prod (que ya tiene las filas) es un no-op. +-- Para reescribir un valor, hacer UPDATE explícito. +-- +-- Stories asociadas: +-- - Documentation/Backlog/PoliticaRetencion.md US-R04 (sección retencion.*) +-- - Documentation/Backlog/EntornoDesarrollo.md US-E09 (criterio de seed) +-- ============================================================================ + +-- ─── Retención operativa ──────────────────────────────────────────────────── +-- Política: Documentation/PoliticaRetencion.md §3 (archivado) y §7 (higiene). +-- Unidad: meses. Consumidores: funciones de purga (US-R06..R09), validación +-- de registro de pagos (US-R10), y orquestación del pipeline mensual (US-R17). + +INSERT INTO internal.app_config (clave, valor, descripcion) VALUES + ('retencion.pagos_meses', '12', + 'Ventana operativa de pagos en meses. Al cumplirse, el pago migra al archivo XLSX y se borra de la base.'), + ('retencion.turnos_meses', '2', + 'Antigüedad máxima de turnos pasados antes de purgarse (CASCADE arrastra reservas asociadas).'), + ('retencion.eventos_pagos_meses', '3', + 'Antigüedad máxima de eventos de pagos (prefijo pago_) antes de purgarse.'), + ('retencion.eventos_otros_meses', '2', + 'Antigüedad máxima del resto de eventos antes de purgarse.'), + ('retencion.dias_especiales_meses', '1', + 'Antigüedad máxima de días especiales pasados antes de purgarse (CASCADE arrastra horario_actividad_especial).') +ON CONFLICT (clave) DO NOTHING; + +-- ─── Retención: cap de seguridad de eventos ───────────────────────────────── +-- Tope duro al tamaño de public.eventos. Unidad: filas (conteo, no meses). +-- Consumidor: internal.log_evento (US-R12). No es una ventana temporal: es un +-- freno contra un bug que dispare eventos en loop y consuma la cuota de la base +-- antes de la próxima purga mensual. Al alcanzarse, log_evento rechaza el insert +-- con excepción (no FIFO): el rechazo hace fallar la función que dispara el +-- evento y corta la cascada, en vez de borrar eventos legítimos en silencio. + +INSERT INTO internal.app_config (clave, valor, descripcion) VALUES + ('retencion.eventos_cap', '50000', + 'Tope de filas en public.eventos. Al alcanzarlo, internal.log_evento rechaza nuevos inserts con excepción (freno anti-loop, no FIFO).') +ON CONFLICT (clave) DO NOTHING; + +-- ─── Pagos: ventanas operativas ───────────────────────────────────────────── +-- Claves ya consumidas por funciones existentes (fc_editar_pago, fc_anular_pago, +-- fc_reservar_turno) que hasta ahora venían cayendo al default por ausencia de +-- fila. Sembradas acá para que queden explícitas y editables sin redeploy. + +INSERT INTO internal.app_config (clave, valor, descripcion) VALUES + ('pagos.ventana_edicion_minutos', '30', + 'Minutos desde el registro durante los cuales un pago admite edición o anulación sin disparar evento. Leída por fc_editar_pago y fc_anular_pago.'), + ('pagos.umbral_morosidad_meses', '2', + 'Cantidad de meses impagos a partir de los cuales se bloquea al cliente para reservar turnos. Leída por fc_reservar_turno.') +ON CONFLICT (clave) DO NOTHING; + +-- ─── Retención: huérfanas resueltas (ventana de seguridad) ────────────────── +-- Unidad: días (no meses). Consumidor: internal.limpiar_huerfanas_resueltas. +-- Es el piso de gracia para deshacer un cambio de estado por error: una +-- huérfana en estado terminal (reubicado/resuelta) recién se vuelve elegible +-- para purgar cuando pasaron al menos N días desde su `resuelto_en`. La purga +-- real corre en la cadencia del cron mensual; en la práctica las terminales +-- viven entre N+1 y N+31 días. + +INSERT INTO internal.app_config (clave, valor, descripcion) VALUES + ('retencion.huerfanas_resueltas_dias', '14', + 'Días de gracia mínimos que una reserva huérfana en estado terminal (reubicado/resuelta) debe tener desde su cambio de estado para ser elegible para purga.') +ON CONFLICT (clave) DO NOTHING; diff --git a/supabase/migrations/20260607204616_mover_timerange_a_internal.sql b/supabase/migrations/20260607204616_mover_timerange_a_internal.sql new file mode 100644 index 0000000..9c37360 --- /dev/null +++ b/supabase/migrations/20260607204616_mover_timerange_a_internal.sql @@ -0,0 +1,30 @@ +-- Mueve el range type timerange (y su multirange) de public a internal. +-- +-- Motivo: `supabase db reset` vacía el schema public objeto por objeto y no puede +-- dropear la función constructora que Postgres genera para un range type, así que el +-- reset se traba. En cambio borra los schemas no-public enteros con DROP SCHEMA +-- CASCADE, donde el tipo y su constructor se van juntos. Con timerange en internal, +-- el reset de dev funciona. +-- +-- Es seguro: ninguna función referencia el tipo; el único objeto que lo usa es la +-- constraint de no-solapamiento de horario_actividad, que se recrea acá apuntando a +-- internal.timerange. No cambia ningún dato. + +ALTER TABLE "public"."horario_actividad" + DROP CONSTRAINT "horario_actividad_no_solapamiento"; + +DROP TYPE "public"."timerange" CASCADE; -- arrastra public.timemultirange + +CREATE TYPE "internal"."timerange" AS RANGE ( + subtype = time without time zone, + multirange_type_name = "internal"."timemultirange" +); + +ALTER TABLE "public"."horario_actividad" + ADD CONSTRAINT "horario_actividad_no_solapamiento" + EXCLUDE USING "gist" ( + "dia_semana" WITH =, + "actividad_id" WITH =, + "internal"."timerange"("hora_inicio", "hora_fin") WITH &&, + "daterange"("valido_desde", COALESCE("valido_hasta", 'infinity'::"date"), '[]'::"text") WITH && + ); diff --git a/supabase/migrations/20260607211008_setup_retencion.sql b/supabase/migrations/20260607211008_setup_retencion.sql new file mode 100644 index 0000000..337d865 --- /dev/null +++ b/supabase/migrations/20260607211008_setup_retencion.sql @@ -0,0 +1,38 @@ +-- Setup del módulo de retención: las extensiones del cron y el job programado. +-- +-- Va como migración para que un `supabase db reset` reconstruya también el cron, no +-- solo el esquema. Antes esto se montaba a mano por entorno; al ponerlo acá, dev se +-- recupera entero después de un reset sin pasos manuales. +-- +-- Lo que sigue siendo manual y NO puede ir acá: +-- - El deploy del Edge Function `pipeline-mensual` (es otra superficie, no vive en +-- la base). +-- - Los secretos del Vault (`pipeline_mensual_url`, `pipeline_mensual_auth`). Son +-- secretos; además sobreviven al reset, así que solo hay que cargarlos a mano en +-- un proyecto nuevo o si se borran. El job los lee en runtime, no al programarse. + +CREATE EXTENSION IF NOT EXISTS "pg_net" WITH SCHEMA "extensions"; +CREATE EXTENSION IF NOT EXISTS "pg_cron"; + +-- Idempotente: si el job ya existe (prod, o una re-aplicación), lo saca antes de +-- volver a programarlo. Si no existe, no devuelve filas y no hace nada. +SELECT cron.unschedule(jobid) FROM cron.job WHERE jobname = 'pipeline_mensual_job'; + +SELECT cron.schedule( + 'pipeline_mensual_job', + '0 6 1 * *', -- 06:00 UTC = 03:00 AM Argentina (UTC-3, sin DST). Día 1. + $job$ + SELECT net.http_post( + url := (SELECT decrypted_secret FROM vault.decrypted_secrets + WHERE name = 'pipeline_mensual_url'), + headers := jsonb_build_object( + 'Content-Type', 'application/json', + 'Authorization', 'Bearer ' || (SELECT decrypted_secret + FROM vault.decrypted_secrets + WHERE name = 'pipeline_mensual_auth') + ), + body := '{}'::jsonb, + timeout_milliseconds := 300000 + ); + $job$ +); diff --git a/supabase/migrations/20260609005619_desplegar_iniciar_sesion_por_token.sql b/supabase/migrations/20260609005619_desplegar_iniciar_sesion_por_token.sql new file mode 100644 index 0000000..a134ae1 --- /dev/null +++ b/supabase/migrations/20260609005619_desplegar_iniciar_sesion_por_token.sql @@ -0,0 +1,29 @@ +-- Despliega fc_iniciar_sesion_por_token: reanuda la sesión desde el token guardado, +-- extiende su TTL +10 días y devuelve el rol. Reemplaza a fc_validar_token en el +-- arranque de la app. Función nueva (nombre nuevo) → CREATE OR REPLACE pelado, sin DROP. +-- Fuente canónica: database/functions/auth/fc_iniciar_sesion_por_token.sql + +CREATE OR REPLACE FUNCTION public.fc_iniciar_sesion_por_token(p_token UUID) +RETURNS TEXT +LANGUAGE plpgsql +SECURITY DEFINER +SET search_path = public +AS $$ +DECLARE + v_rol TEXT; +BEGIN + UPDATE internal.sesiones s + SET expires_at = NOW() + INTERVAL '10 days' + FROM public.usuarios u + WHERE s.token = p_token + AND s.expires_at > NOW() + AND u.id = s.usuario_id + RETURNING u.rol INTO v_rol; + + IF NOT FOUND THEN + RAISE EXCEPTION 'Sesión inválida o expirada.'; + END IF; + + RETURN v_rol; +END; +$$; diff --git a/supabase/migrations/20260622172104_feature_cambio_contrasena.sql b/supabase/migrations/20260622172104_feature_cambio_contrasena.sql new file mode 100644 index 0000000..d082f23 --- /dev/null +++ b/supabase/migrations/20260622172104_feature_cambio_contrasena.sql @@ -0,0 +1,304 @@ +-- Feature "cambio de contraseña": password_hash pasa a ser opcional (los +-- clientes no inician sesión en este panel, usan el bot de WhatsApp), por lo +-- que fc_insertar_usuario ya no exige password cuando rol = 'cliente'. +-- fc_modificar_usuario aprende a aceptar un campo opcional 'password' en el +-- PATCH (gateado por el permiso dedicado resetear_contrasena_usuario). Se +-- agregan dos funciones nuevas: fc_cambiar_propia_contrasena (autoservicio, +-- admin/superadmin cambian la suya confirmando la actual) y +-- fc_resetear_contrasena_usuario (reset administrativo, solo superadmin, +-- sobre cualquier no-cliente, sin pedir la actual del objetivo). +-- Fuentes canónicas: +-- database/schema/tables/public/usuarios.sql +-- database/functions/usuarios/fc_insertar_usuario.sql +-- database/functions/usuarios/fc_modificar_usuario.sql +-- database/functions/usuarios/fc_cambiar_propia_contrasena.sql (nuevo) +-- database/functions/usuarios/fc_resetear_contrasena_usuario.sql (nuevo) + +-- 1. password_hash ya no es NOT NULL +ALTER TABLE public.usuarios ALTER COLUMN password_hash DROP NOT NULL; + +-- 2. Permisos nuevos. +-- Ids explícitos 43/44 a propósito: en el db reset esta migración corre ANTES +-- del seed, que trae los permisos 1..42 con ids fijos. Si dejáramos que el id +-- lo genere la identity, en una base recién creada agarraría 1 y 2 y el seed +-- chocaría (permisos_pkey). En prod, donde ya existen 1..42, 43/44 quedan libres. +INSERT INTO internal.permisos OVERRIDING SYSTEM VALUE VALUES + (43, 'cambiar_propia_contrasena', ARRAY['superadmin','admin']), + (44, 'resetear_contrasena_usuario', ARRAY['superadmin']); +SELECT setval('internal.permisos_id_permiso_seq', 44, true); + +-- 3. fc_insertar_usuario: password obligatorio salvo para rol 'cliente'. +-- Misma firma -> CREATE OR REPLACE sin DROP. +CREATE OR REPLACE FUNCTION public.fc_insertar_usuario(p_datos jsonb, p_token uuid) + RETURNS void + LANGUAGE plpgsql + SECURITY DEFINER + SET search_path TO extensions, public +AS $function$ +DECLARE + v_password_hash TEXT; + v_rol TEXT; + + -- Campos del nuevo usuario + new_dni TEXT; + new_nombre TEXT; + new_apellido TEXT; + new_mail TEXT; + new_telefono TEXT; + new_peso DECIMAL(5,2); + new_altura INTEGER; + new_fuerza_max DECIMAL(10,2); + new_sexo TEXT; + new_rol TEXT; + new_password TEXT; + new_isactive BOOL; + new_tipo_cuota UUID; + +BEGIN + -- 1. Validar el token de sesión y obtener el rol del usuario que llama. + PERFORM internal.validate_permission(p_token := p_token, p_accion := 'modificar_usuarios'); + + -- 2. Validar que no esté intentando crear un admin o superadmin si no puede + + new_rol := p_datos->>'rol'; + + IF new_rol = 'superadmin' THEN + PERFORM internal.validate_permission(p_token := p_token, p_accion := 'agregar_superadmin'); + ELSIF new_rol = 'admin' THEN + PERFORM internal.validate_permission(p_token := p_token, p_accion := 'agregar_admin'); + END IF; + + -- 2.5 Extraer campos del JSONB + new_dni := p_datos->>'dni'; + new_nombre := p_datos->>'nombre'; + new_apellido := p_datos->>'apellido'; + new_mail := p_datos->>'mail'; + new_telefono := p_datos->>'telefono'; + new_peso := (p_datos->>'peso')::DECIMAL; + new_altura := (p_datos->>'altura')::INTEGER; + new_fuerza_max := (p_datos->>'fuerza_max')::DECIMAL; + new_sexo := COALESCE(p_datos->>'sexo', 'Hombre'); + + new_password := p_datos->>'password'; + new_isactive := (p_datos->>'isActive')::BOOLEAN; + + -- CORRECCIÓN 1: Validar que exista la key Y que NO sea null antes de buscar en la BD + IF p_datos ? 'tipo_cuota' AND (p_datos->>'tipo_cuota') IS NOT NULL THEN + new_tipo_cuota := (p_datos->>'tipo_cuota')::UUID; + + -- Validar que exista el tipo_cuota en la tabla padre + IF NOT EXISTS ( + SELECT 1 FROM tipos_cuota + WHERE id = new_tipo_cuota + ) THEN + RAISE EXCEPTION 'El tipo_cuota % no existe.', new_tipo_cuota; + END IF; + ELSE + -- Si no viene o es null, asignamos NULL explícitamente + new_tipo_cuota := NULL; + END IF; + + -- La contraseña es obligatoria salvo para clientes: no necesitan loguearse + -- en este panel (usan el bot de WhatsApp). Si es cliente y no la mandan, + -- password_hash queda NULL. + IF new_password IS NULL AND new_rol <> 'cliente' THEN + RAISE EXCEPTION 'La contraseña es obligatoria'; + END IF; + + -- 3. Hashear la contraseña solo si vino (clientes pueden no traerla) + IF new_password IS NOT NULL THEN + SELECT internal.create_password_hash(new_password) INTO v_password_hash; + IF v_password_hash IS NULL THEN + RAISE EXCEPTION 'Error al generar el hash de la contraseña'; + END IF; + ELSE + v_password_hash := NULL; + END IF; + + -- 4. Insertar el nuevo usuario + -- CORRECCIÓN 2: Agregué 'tipo_cuota' y 'new_tipo_cuota' al INSERT + INSERT INTO public.usuarios ( + dni, nombre, apellido, mail, telefono, peso, altura, fuerza_max, + sexo, rol, password_hash, isactive, tipo_cuota + ) VALUES ( + new_dni, new_nombre, new_apellido, new_mail, new_telefono, new_peso, new_altura, new_fuerza_max, + new_sexo, new_rol, v_password_hash, new_isactive, new_tipo_cuota + ); +END; +$function$; + +-- 4. fc_modificar_usuario: acepta password opcional en el PATCH, gateado por +-- el permiso dedicado resetear_contrasena_usuario. Misma firma -> CREATE +-- OR REPLACE sin DROP. +CREATE OR REPLACE FUNCTION public.fc_modificar_usuario(p_datos jsonb, p_token uuid) + RETURNS void + LANGUAGE plpgsql + SECURITY DEFINER + SET search_path TO extensions, public +AS $function$ +DECLARE + v_isActive_new BOOLEAN := NULL; + v_rol_actual TEXT; + v_uid UUID; + v_password_hash TEXT; +BEGIN + + -- Validar token + PERFORM internal.validate_permission(p_token := p_token, p_accion := 'modificar_usuarios'); + + -- Evaluamos primero si el JSON trae un ID válido + IF p_datos ? 'id' AND p_datos->>'id' IS NOT NULL THEN + SELECT u.id, u.rol INTO v_uid, v_rol_actual + FROM public.usuarios u + WHERE u.id = (p_datos->>'id')::UUID + FOR UPDATE; + + -- Si no hay ID, intentamos usar el DNI (fallback) + ELSIF p_datos ? 'dni' AND p_datos->>'dni' IS NOT NULL THEN + SELECT u.id, u.rol INTO v_uid, v_rol_actual + FROM public.usuarios u + WHERE u.dni = p_datos->>'dni' + FOR UPDATE; + + -- Si no mandaron ni ID ni DNI, no sabemos a quién modificar + ELSE + RAISE EXCEPTION 'Se requiere un ID o un DNI para identificar al usuario.'; + END IF; + + -- Si hicimos la búsqueda pero no encontramos coincidencias + IF NOT FOUND THEN + RAISE EXCEPTION 'Usuario no encontrado con los datos proporcionados.'; + END IF; + + -- Validar existencia del tipo_cuota SOLO si viene en el JSON y NO es null + IF p_datos ? 'tipo_cuota' AND (p_datos->>'tipo_cuota') IS NOT NULL THEN + IF NOT EXISTS ( + SELECT 1 FROM tipos_cuota + WHERE id = (p_datos->>'tipo_cuota')::UUID + ) THEN + RAISE EXCEPTION 'El tipo_cuota % no existe.', p_datos->>'tipo_cuota'; + END IF; + END IF; + + -- Validar si viene un rol en el JSON y si es distinto al que ya está en la DB + IF p_datos ? 'rol' AND (p_datos->>'rol') IS DISTINCT FROM v_rol_actual THEN + -- Delegamos la responsabilidad a la nueva función + PERFORM public.fc_modificar_rol_usuario(v_uid, p_datos->>'rol', p_token); + + -- Si llega hasta acá (no tiró excepción), eliminamos la key 'rol' del json + -- para que el UPDATE de abajo no lo sobreescriba innecesariamente. + p_datos := p_datos - 'rol'; + END IF; + + -- Password opcional: solo si viene la key Y no es null/vacía, se re-hashea + -- y se agrega al UPDATE. Acción sensible -> permiso dedicado, no alcanza + -- con 'modificar_usuarios' (mismo criterio que ya se usa para 'rol'). + IF p_datos ? 'password' AND COALESCE(p_datos->>'password', '') <> '' THEN + PERFORM internal.validate_permission(p_token := p_token, p_accion := 'resetear_contrasena_usuario'); + v_password_hash := internal.create_password_hash(p_datos->>'password'); + IF v_password_hash IS NULL THEN + RAISE EXCEPTION 'Error al generar el hash de la contraseña'; + END IF; + ELSE + v_password_hash := NULL; + END IF; + + UPDATE public.usuarios + SET + nombre = CASE WHEN p_datos ? 'nombre' THEN p_datos->>'nombre' ELSE nombre END, + apellido = CASE WHEN p_datos ? 'apellido' THEN p_datos->>'apellido' ELSE apellido END, + peso = CASE WHEN p_datos ? 'peso' THEN (p_datos->>'peso')::DECIMAL ELSE peso END, + altura = CASE WHEN p_datos ? 'altura' THEN (p_datos->>'altura')::DECIMAL ELSE altura END, + mail = CASE WHEN p_datos ? 'mail' THEN p_datos->>'mail' ELSE mail END, + telefono = CASE WHEN p_datos ? 'telefono' THEN p_datos->>'telefono' ELSE telefono END, + fuerza_max= CASE WHEN p_datos ? 'fuerza_max' THEN (p_datos->>'fuerza_max')::DECIMAL ELSE fuerza_max END, + sexo = CASE WHEN p_datos ? 'sexo' THEN p_datos->>'sexo' ELSE sexo END, + -- Esto ahora permite cambiar el tipo de cuota a NULL si mandas null, o cambiarlo a otro ID + tipo_cuota= CASE WHEN p_datos ? 'tipo_cuota' THEN (p_datos->>'tipo_cuota')::UUID ELSE tipo_cuota END, + password_hash = CASE WHEN v_password_hash IS NOT NULL THEN v_password_hash ELSE password_hash END, + fecha_modificacion = now() + WHERE id = v_uid; + +END; +$function$; + +-- 5. fc_cambiar_propia_contrasena: autoservicio (admin/superadmin cambian la +-- suya, confirmando la actual). Función nueva. +CREATE OR REPLACE FUNCTION public.fc_cambiar_propia_contrasena( + p_token UUID, + p_password_actual TEXT, + p_password_nueva TEXT +) +RETURNS void +LANGUAGE plpgsql +SECURITY DEFINER +SET search_path TO extensions, public +AS $function$ +DECLARE + v_user_id UUID; + v_stored_password_hash TEXT; +BEGIN + PERFORM internal.validate_permission(p_token := p_token, p_accion := 'cambiar_propia_contrasena'); + + IF p_password_nueva IS NULL OR length(p_password_nueva) < 8 THEN + RAISE EXCEPTION 'La contraseña nueva debe tener al menos 8 caracteres.'; + END IF; + + SELECT usuario_id INTO v_user_id FROM internal.sesiones WHERE token = p_token; + + SELECT password_hash INTO v_stored_password_hash + FROM public.usuarios + WHERE id = v_user_id + FOR UPDATE; + + IF v_stored_password_hash IS NULL + OR v_stored_password_hash <> crypt(p_password_actual, v_stored_password_hash) THEN + RAISE EXCEPTION 'La contraseña actual es incorrecta.'; + END IF; + + UPDATE public.usuarios + SET password_hash = internal.create_password_hash(p_password_nueva) + WHERE id = v_user_id; +END; +$function$; + +-- 6. fc_resetear_contrasena_usuario: reset administrativo (solo superadmin, +-- sobre cualquier no-cliente, sin pedir la actual del objetivo). Función +-- nueva. +CREATE OR REPLACE FUNCTION public.fc_resetear_contrasena_usuario( + p_token UUID, + p_usuario_id UUID, + p_password_nueva TEXT +) +RETURNS void +LANGUAGE plpgsql +SECURITY DEFINER +SET search_path TO extensions, public +AS $function$ +DECLARE + v_rol_objetivo TEXT; +BEGIN + PERFORM internal.validate_permission(p_token := p_token, p_accion := 'resetear_contrasena_usuario'); + + IF p_password_nueva IS NULL OR length(p_password_nueva) < 8 THEN + RAISE EXCEPTION 'La contraseña nueva debe tener al menos 8 caracteres.'; + END IF; + + SELECT rol INTO v_rol_objetivo + FROM public.usuarios + WHERE id = p_usuario_id + FOR UPDATE; + + IF NOT FOUND THEN + RAISE EXCEPTION 'Usuario no encontrado.'; + END IF; + + IF v_rol_objetivo = 'cliente' THEN + RAISE EXCEPTION 'No se puede resetear la contraseña de un cliente: no inician sesión en este panel.'; + END IF; + + UPDATE public.usuarios + SET password_hash = internal.create_password_hash(p_password_nueva) + WHERE id = p_usuario_id; +END; +$function$; diff --git a/supabase/seed.sql b/supabase/seed.sql new file mode 100644 index 0000000..faeeaad --- /dev/null +++ b/supabase/seed.sql @@ -0,0 +1,1931 @@ +-- supabase/seed.sql — datos de prueba de Desarrollo. +-- +-- `supabase db reset` corre este archivo automáticamente después de las migraciones, +-- así que un reset de dev recupera también los datos en un solo paso. NO lo corre +-- `supabase db push`, por lo que estos datos nunca llegan a Producción. +-- +-- Excluye internal.app_config a propósito: esos valores los siembra la migración +-- seed_app_config; duplicarlos acá daría conflicto. +-- +-- Tiene que ser INSERTs, no COPY: el seeder de Supabase no es psql y no entiende el +-- formato COPY ... FROM stdin. Por eso se genera con --inserts y se le quitan los +-- meta-comandos \restrict/\unrestrict que pg_dump 18 agrega (que tampoco entiende). +-- +-- Para regenerarlo desde el estado actual de dev (con la conexión de dev cargada): +-- pg_dump "$DATABASE_URL" --data-only --inserts --schema=public --schema=internal \ +-- --exclude-table=internal.app_config --no-owner --no-privileges -f supabase/seed.sql +-- sed -i '/^\\/d' supabase/seed.sql + +-- +-- PostgreSQL database dump +-- + + +-- Dumped from database version 17.6 +-- Dumped by pg_dump version 18.4 + +SET statement_timeout = 0; +SET lock_timeout = 0; +SET idle_in_transaction_session_timeout = 0; +SET transaction_timeout = 0; +SET client_encoding = 'UTF8'; +SET standard_conforming_strings = on; +SELECT pg_catalog.set_config('search_path', '', false); +SET check_function_bodies = false; +SET xmloption = content; +SET client_min_messages = warning; +SET row_security = off; + +-- +-- Data for Name: archivo_exports; Type: TABLE DATA; Schema: internal; Owner: - +-- + +INSERT INTO internal.archivo_exports OVERRIDING SYSTEM VALUE VALUES (1, NULL, 'pagos', '2026-06-05 21:33:24.915673+00', 'ok', NULL); +INSERT INTO internal.archivo_exports OVERRIDING SYSTEM VALUE VALUES (2, NULL, 'pagos', '2026-06-06 21:51:32.304843+00', 'ok', NULL); +INSERT INTO internal.archivo_exports OVERRIDING SYSTEM VALUE VALUES (3, '2025-01-01', 'pagos', '2026-06-06 22:00:52.858511+00', 'ok', NULL); +INSERT INTO internal.archivo_exports OVERRIDING SYSTEM VALUE VALUES (4, '2025-02-01', 'pagos', '2026-06-06 22:00:52.872582+00', 'ok', NULL); +INSERT INTO internal.archivo_exports OVERRIDING SYSTEM VALUE VALUES (5, '2025-03-01', 'pagos', '2026-06-06 22:00:52.884023+00', 'ok', NULL); +INSERT INTO internal.archivo_exports OVERRIDING SYSTEM VALUE VALUES (6, '2025-04-01', 'pagos', '2026-06-06 22:00:52.899536+00', 'ok', NULL); +INSERT INTO internal.archivo_exports OVERRIDING SYSTEM VALUE VALUES (7, '2025-03-01', 'agregado_reservas', '2026-06-06 22:00:52.914922+00', 'ok', NULL); +INSERT INTO internal.archivo_exports OVERRIDING SYSTEM VALUE VALUES (8, '2025-04-01', 'agregado_reservas', '2026-06-06 22:00:52.921787+00', 'ok', NULL); + + +-- +-- Data for Name: entorno; Type: TABLE DATA; Schema: internal; Owner: - +-- + +INSERT INTO internal.entorno VALUES (true, 'dev'); + + +-- +-- Data for Name: permisos; Type: TABLE DATA; Schema: internal; Owner: - +-- + +INSERT INTO internal.permisos OVERRIDING SYSTEM VALUE VALUES (1, 'ver_usuarios', '{superadmin,admin}'); +INSERT INTO internal.permisos OVERRIDING SYSTEM VALUE VALUES (2, 'modificar_usuarios', '{superadmin,admin}'); +INSERT INTO internal.permisos OVERRIDING SYSTEM VALUE VALUES (3, 'desactivar_usuarios', '{superadmin}'); +INSERT INTO internal.permisos OVERRIDING SYSTEM VALUE VALUES (4, 'eliminar_usuarios', '{superadmin}'); +INSERT INTO internal.permisos OVERRIDING SYSTEM VALUE VALUES (5, 'agregar_usuarios', '{superadmin,admin}'); +INSERT INTO internal.permisos OVERRIDING SYSTEM VALUE VALUES (6, 'ver_mi_usuario', '{superadmin,admin,cliente}'); +INSERT INTO internal.permisos OVERRIDING SYSTEM VALUE VALUES (8, 'ver_pagos', '{superadmin,admin}'); +INSERT INTO internal.permisos OVERRIDING SYSTEM VALUE VALUES (9, 'agregar_pagos', '{superadmin,admin}'); +INSERT INTO internal.permisos OVERRIDING SYSTEM VALUE VALUES (10, 'modificar_pagos', '{superadmin}'); +INSERT INTO internal.permisos OVERRIDING SYSTEM VALUE VALUES (11, 'ver_metodos_pago', '{superadmin,admin,cliente}'); +INSERT INTO internal.permisos OVERRIDING SYSTEM VALUE VALUES (13, 'modificar_metodos_pago', '{superadmin}'); +INSERT INTO internal.permisos OVERRIDING SYSTEM VALUE VALUES (14, 'ver_tipos_cuota', '{superadmin,admin,cliente}'); +INSERT INTO internal.permisos OVERRIDING SYSTEM VALUE VALUES (17, 'ver_mis_pagos', '{superadmin,admin,cliente}'); +INSERT INTO internal.permisos OVERRIDING SYSTEM VALUE VALUES (18, 'crear_actividad', '{superadmin,admin}'); +INSERT INTO internal.permisos OVERRIDING SYSTEM VALUE VALUES (19, 'ver_actividades', '{superadmin,admin,cliente}'); +INSERT INTO internal.permisos OVERRIDING SYSTEM VALUE VALUES (20, 'modificar_actividades', '{superadmin,admin}'); +INSERT INTO internal.permisos OVERRIDING SYSTEM VALUE VALUES (21, 'eliminar_actividad', '{superadmin,admin}'); +INSERT INTO internal.permisos OVERRIDING SYSTEM VALUE VALUES (22, 'ver_horarios', '{superadmin,admin,cliente}'); +INSERT INTO internal.permisos OVERRIDING SYSTEM VALUE VALUES (23, 'modificar_horarios', '{superadmin,admin}'); +INSERT INTO internal.permisos OVERRIDING SYSTEM VALUE VALUES (24, 'ver_horarios_apertura', '{superadmin,admin,cliente}'); +INSERT INTO internal.permisos OVERRIDING SYSTEM VALUE VALUES (25, 'modificar_horarios_apertura', '{superadmin,admin}'); +INSERT INTO internal.permisos OVERRIDING SYSTEM VALUE VALUES (26, 'ver_horarios_especiales', '{superadmin,admin,cliente}'); +INSERT INTO internal.permisos OVERRIDING SYSTEM VALUE VALUES (27, 'modificar_horarios_especiales', '{superadmin,admin}'); +INSERT INTO internal.permisos OVERRIDING SYSTEM VALUE VALUES (28, 'eliminar_horario_especial', '{superadmin,admin}'); +INSERT INTO internal.permisos OVERRIDING SYSTEM VALUE VALUES (29, 'generar_turnos', '{superadmin,admin}'); +INSERT INTO internal.permisos OVERRIDING SYSTEM VALUE VALUES (30, 'ver_turnos', '{superadmin,admin,cliente}'); +INSERT INTO internal.permisos OVERRIDING SYSTEM VALUE VALUES (31, 'mantenimiento_sistema', '{superadmin,admin}'); +INSERT INTO internal.permisos OVERRIDING SYSTEM VALUE VALUES (15, 'crear_tipo_cuota', '{superadmin,admin}'); +INSERT INTO internal.permisos OVERRIDING SYSTEM VALUE VALUES (33, 'eliminar_tipo_cuota', '{superadmin}'); +INSERT INTO internal.permisos OVERRIDING SYSTEM VALUE VALUES (16, 'modificar_tipo_cuota', '{superadmin}'); +INSERT INTO internal.permisos OVERRIDING SYSTEM VALUE VALUES (34, 'modificar_rol_usuarios', '{superadmin}'); +INSERT INTO internal.permisos OVERRIDING SYSTEM VALUE VALUES (36, 'agregar_admin', '{superadmin}'); +INSERT INTO internal.permisos OVERRIDING SYSTEM VALUE VALUES (38, 'agregar_superadmin', '{}'); +INSERT INTO internal.permisos OVERRIDING SYSTEM VALUE VALUES (39, 'gestionar_reservas', '{superadmin,admin}'); +INSERT INTO internal.permisos OVERRIDING SYSTEM VALUE VALUES (40, 'ver_reservas', '{superadmin,admin}'); +INSERT INTO internal.permisos OVERRIDING SYSTEM VALUE VALUES (41, 'gestionar_cualquier_pago', '{superadmin}'); +INSERT INTO internal.permisos OVERRIDING SYSTEM VALUE VALUES (42, 'ver_configuraciones_generales', '{cliente,admin,superadmin}'); +-- Permisos 43 y 44 (cambiar_propia_contrasena, resetear_contrasena_usuario) los +-- inserta la migración 20260622172104_feature_cambio_contrasena.sql, que corre +-- ANTES que este seed en el db reset. No duplicarlos acá: chocan con permisos_accion_key. + + +-- +-- Data for Name: tipos_cuota; Type: TABLE DATA; Schema: public; Owner: - +-- + +INSERT INTO public.tipos_cuota VALUES ('8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'Pase Libre', 'Acceso a todas las actividades', 7, 28000.00, false, 10, 4000.00); +INSERT INTO public.tipos_cuota VALUES ('8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', '4 días', 'Cuatro días por semana', 4, 22000.00, false, 10, 3000.00); +INSERT INTO public.tipos_cuota VALUES ('a7363f10-00ab-48ea-9437-dd408226b3df', '3 días', 'Tres días por semana', 3, 18000.00, false, 10, 2500.00); +INSERT INTO public.tipos_cuota VALUES ('d6af381b-5e27-428c-ba6d-4eea7be68ce6', '2 días', 'Dos días por semana', 2, 14000.00, false, 10, 2000.00); +INSERT INTO public.tipos_cuota VALUES ('fa7f0303-074f-4475-a4d7-91d34241a7cd', 'Solo Musculación', 'Sala de musculación libre', 6, 16000.00, false, 10, 2000.00); + + +-- +-- Data for Name: usuarios; Type: TABLE DATA; Schema: public; Owner: - +-- + +INSERT INTO public.usuarios VALUES ('8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', '10000000', 'Juani', 'Soma', NULL, NULL, 'superadmin', true, '2026-06-06 20:45:10.542062+00', '2026-06-06 20:45:10.542062+00', '$2a$06$HAp9jX8BOnVYjHrVtrTjUe1SxfoN1.T86cbb5RWuYXwDdTQMNH0/y', 'juani@soma.dev', '+5491100000000', NULL, 'Hombre', NULL); +INSERT INTO public.usuarios VALUES ('d08bd063-3fa7-4138-87b7-027a9b2a5945', '20000001', 'Lucía', 'Operadora', NULL, NULL, 'admin', true, '2026-06-06 20:46:08.238344+00', '2026-06-06 20:46:08.238344+00', '$2a$06$vKPTCV0oIdW23II8mSmW8uCkVWC1eVoegZ9TH6a1euNR0kLVqJVL6', 'admin1@soma.dev', '+5491120000001', NULL, 'Mujer', NULL); +INSERT INTO public.usuarios VALUES ('62ccbbea-5241-47e7-a753-8d118b6d9016', '20000002', 'Diego', 'Mostrador', NULL, NULL, 'admin', true, '2026-06-06 20:46:08.238344+00', '2026-06-06 20:46:08.238344+00', '$2a$06$4bu2UEHgZcr.21XlVj0Z2uXzMXrttGpA1PNbIUmHjEZbDdN/.hz8C', 'admin2@soma.dev', '+5491120000002', NULL, 'Hombre', NULL); +INSERT INTO public.usuarios VALUES ('e0dbab03-7cf4-4635-86cc-717b9bd0d5b7', '30000010', 'Joaquín', 'Sánchez', 65.00, 165, 'cliente', false, '2026-06-06 20:46:08.238344+00', '2026-06-06 20:46:08.238344+00', '$2a$06$.mMJe0OJMH7QNTd9O5SwguQaWP6Z/6EHxeYve81tUi/4EzeiwUnPK', 'cliente10@soma.dev', '+5491100000010', NULL, 'Mujer', 'd6af381b-5e27-428c-ba6d-4eea7be68ce6'); +INSERT INTO public.usuarios VALUES ('44b2e14d-b312-43cc-8089-e7c48a1ab451', '30000020', 'Tomás', 'Herrera', 75.00, 175, 'cliente', false, '2026-06-06 20:46:08.238344+00', '2026-06-06 20:46:08.238344+00', '$2a$06$5jlBqEiG.fLeBggBTG1Qg.OBE00OHDThJy9/70kJLu7aSQoO686zG', 'cliente20@soma.dev', '+5491100000020', NULL, 'Otro', 'd6af381b-5e27-428c-ba6d-4eea7be68ce6'); +INSERT INTO public.usuarios VALUES ('cc44d758-a2f1-4bff-a5bd-dea84f6852f0', '30000030', 'Mateo', 'González', 85.00, 185, 'cliente', false, '2026-06-06 20:46:08.238344+00', '2026-06-06 20:46:08.238344+00', '$2a$06$l/mt0W6Ng/wYeJ3BBoiRj.BYuLoGbOL/4hrMJ2zD0YsLiv4Rg5Lny', 'cliente30@soma.dev', '+5491100000030', NULL, 'Hombre', 'd6af381b-5e27-428c-ba6d-4eea7be68ce6'); +INSERT INTO public.usuarios VALUES ('b4cb82b9-163d-44b5-b1c1-2842630fa19d', '30000040', 'Joaquín', 'Sánchez', 95.00, 155, 'cliente', false, '2026-06-06 20:46:08.238344+00', '2026-06-06 20:46:08.238344+00', '$2a$06$gUpi0Fsd2rW195LwGSTVE.qLk.RDQ/O9NwzyhJuhHKQTlRUJl1PMy', 'cliente40@soma.dev', '+5491100000040', NULL, 'Mujer', 'd6af381b-5e27-428c-ba6d-4eea7be68ce6'); +INSERT INTO public.usuarios VALUES ('41cd5c64-54d4-4e4e-b006-a2992f412f90', '30000050', 'Tomás', 'Herrera', 60.00, 165, 'cliente', false, '2026-06-06 20:46:08.238344+00', '2026-06-06 20:46:08.238344+00', '$2a$06$N9IGS/AjU8SwfeYqZM0AfOsSSEStAXBIo9vgdPBEP7utyr4toASmS', 'cliente50@soma.dev', '+5491100000050', NULL, 'Otro', 'd6af381b-5e27-428c-ba6d-4eea7be68ce6'); +INSERT INTO public.usuarios VALUES ('12aaf98e-1b33-4aee-af7c-7350182c8757', '30000060', 'Mateo', 'González', 70.00, 175, 'cliente', false, '2026-06-06 20:46:08.238344+00', '2026-06-06 20:46:08.238344+00', '$2a$06$EZXRW7wCbTD/sSLhrajURO1/CtWvHRq16AnwGNpbocnMe2ihJ9zYe', 'cliente60@soma.dev', '+5491100000060', NULL, 'Hombre', 'd6af381b-5e27-428c-ba6d-4eea7be68ce6'); +INSERT INTO public.usuarios VALUES ('70e66128-cb05-4d19-b107-24aee00e563d', '30000070', 'Joaquín', 'Sánchez', 80.00, 185, 'cliente', false, '2026-06-06 20:46:08.238344+00', '2026-06-06 20:46:08.238344+00', '$2a$06$Zcjn5DoWQVPaXFqVI8RJf.UR/fuHmeiou4XgGXl9dWgpcnV1WddL.', 'cliente70@soma.dev', '+5491100000070', NULL, 'Mujer', 'd6af381b-5e27-428c-ba6d-4eea7be68ce6'); +INSERT INTO public.usuarios VALUES ('c486de13-2877-480f-ad96-336efc5d0124', '30000080', 'Tomás', 'Herrera', 90.00, 155, 'cliente', false, '2026-06-06 20:46:08.238344+00', '2026-06-06 20:46:08.238344+00', '$2a$06$jmNkLc95/wkM2l/rFUgia.1bEIOKB6agdRCdMbAXS/BHfXozZxasm', 'cliente80@soma.dev', '+5491100000080', NULL, 'Otro', 'd6af381b-5e27-428c-ba6d-4eea7be68ce6'); +INSERT INTO public.usuarios VALUES ('bd2b6fb5-1802-4bc0-9971-b874d82ed71c', '30000090', 'Mateo', 'González', 55.00, 165, 'cliente', false, '2026-06-06 20:46:08.238344+00', '2026-06-06 20:46:08.238344+00', '$2a$06$x8.IMcqHONDyGYuECl4jwOvliQm99HutRiWiC3LKZi/a1jVtL1tAO', 'cliente90@soma.dev', '+5491100000090', NULL, 'Hombre', 'd6af381b-5e27-428c-ba6d-4eea7be68ce6'); +INSERT INTO public.usuarios VALUES ('47175089-aae5-482d-8dbb-44d1fb21173d', '30000100', 'Joaquín', 'Sánchez', 65.00, 175, 'cliente', false, '2026-06-06 20:46:08.238344+00', '2026-06-06 20:46:08.238344+00', '$2a$06$wxtmOsjCpkPV4zuf4lLEiOpJSFtKo5Azjo7rdpOSl0AMafouyq3H.', 'cliente100@soma.dev', '+5491100000100', NULL, 'Mujer', 'd6af381b-5e27-428c-ba6d-4eea7be68ce6'); +INSERT INTO public.usuarios VALUES ('ea6df46a-38dc-411d-b23b-89e652653ea4', '30000001', 'Sofía', 'Pérez', 56.00, 156, 'cliente', true, '2026-06-06 20:46:08.238344+00', '2026-06-06 20:46:08.238344+00', '$2a$06$H4SYpbX1AzFrcJ.ku2WvWOpEeA/19iDEsL5JDyYwL.uZMAj0Bqwr6', 'cliente1@soma.dev', '+5491100000001', NULL, 'Mujer', 'a7363f10-00ab-48ea-9437-dd408226b3df'); +INSERT INTO public.usuarios VALUES ('5fcc2c21-eb18-4151-a5ca-f0f17cc4c2e5', '30000002', 'Juan', 'Ramírez', 57.00, 157, 'cliente', true, '2026-06-06 20:46:08.238344+00', '2026-06-06 20:46:08.238344+00', '$2a$06$qSxsVgrnD9O5twmAV1V9q.PUYVbgnjHJfAMDrydnUgS7tqeQp39M6', 'cliente2@soma.dev', '+5491100000002', NULL, 'Otro', '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49'); +INSERT INTO public.usuarios VALUES ('12f87197-a7b1-4f58-abe5-2129ac699b26', '30000003', 'Valentina', 'Aguirre', 58.00, 158, 'cliente', true, '2026-06-06 20:46:08.238344+00', '2026-06-06 20:46:08.238344+00', '$2a$06$hLaRBLe..X11N4Hd8rC9lui0Tr6r20shMfR8fHSjzOQs2K6bdJIh2', 'cliente3@soma.dev', '+5491100000003', NULL, 'Hombre', '8e591416-2e72-4a51-ae74-1b454cdaa2f9'); +INSERT INTO public.usuarios VALUES ('7133cbbf-0fb0-453a-9802-0ca72e742efd', '30000004', 'Lucas', 'Cabrera', 59.00, 159, 'cliente', true, '2026-06-06 20:46:08.238344+00', '2026-06-06 20:46:08.238344+00', '$2a$06$IStwsLKlv4FdEgLtiuAxJeJNMVp52AxPu9Qe.RGRE75TdxPUl..JO', 'cliente4@soma.dev', '+5491100000004', NULL, 'Mujer', 'fa7f0303-074f-4475-a4d7-91d34241a7cd'); +INSERT INTO public.usuarios VALUES ('b54e9586-a744-4b75-a0f2-2d25b0276b16', '30000005', 'Martina', 'Díaz', 60.00, 160, 'cliente', true, '2026-06-06 20:46:08.238344+00', '2026-06-06 20:46:08.238344+00', '$2a$06$BMQYIr4z4At59c0xSViOBOL2ViSbO6zZFC.lNdSbWL0eV9GQK6AQG', 'cliente5@soma.dev', '+5491100000005', NULL, 'Otro', 'd6af381b-5e27-428c-ba6d-4eea7be68ce6'); +INSERT INTO public.usuarios VALUES ('d9950f1c-3117-4460-b466-5a134ab504d6', '30000006', 'Benjamín', 'Álvarez', 61.00, 161, 'cliente', true, '2026-06-06 20:46:08.238344+00', '2026-06-06 20:46:08.238344+00', '$2a$06$jifm5bE9IkNugSApKzz4bOpUjzd2ZKMSWQcIAgLuT9QiX7BfESIVC', 'cliente6@soma.dev', '+5491100000006', NULL, 'Hombre', 'a7363f10-00ab-48ea-9437-dd408226b3df'); +INSERT INTO public.usuarios VALUES ('a92d2c3d-7ae6-4d82-9155-2eaeee6269ee', '30000007', 'Camila', 'Suárez', 62.00, 162, 'cliente', true, '2026-06-06 20:46:08.238344+00', '2026-06-06 20:46:08.238344+00', '$2a$06$uungP65PXt4BzoC93DR1PuuLZWcWnR.HPPaoWd0KpTRZzdDfZdYg.', 'cliente7@soma.dev', '+5491100000007', NULL, 'Mujer', '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49'); +INSERT INTO public.usuarios VALUES ('b0fd59a1-a705-4094-b1fc-b50ed2367235', '30000008', 'Thiago', 'Ortiz', 63.00, 163, 'cliente', true, '2026-06-06 20:46:08.238344+00', '2026-06-06 20:46:08.238344+00', '$2a$06$B0PN8FcexoDW/6V0RPBjMOPCy3ewmNKypeSA86j73u7We4Zt8liZa', 'cliente8@soma.dev', '+5491100000008', NULL, 'Otro', '8e591416-2e72-4a51-ae74-1b454cdaa2f9'); +INSERT INTO public.usuarios VALUES ('43ee54cd-a953-4a73-88f7-5a018043ac10', '30000009', 'Emma', 'Fernández', 64.00, 164, 'cliente', true, '2026-06-06 20:46:08.238344+00', '2026-06-06 20:46:08.238344+00', '$2a$06$3/1fON8SxkyL21RjXzm91eyQbTqLKuSlHn0bo1JJOoN4k5VIMwThO', 'cliente9@soma.dev', '+5491100000009', NULL, 'Hombre', 'fa7f0303-074f-4475-a4d7-91d34241a7cd'); +INSERT INTO public.usuarios VALUES ('bbb9d0ef-fb9a-4227-8a65-582a2cb2e20e', '30000011', 'Mía', 'Benítez', 66.00, 166, 'cliente', true, '2026-06-06 20:46:08.238344+00', '2026-06-06 20:46:08.238344+00', '$2a$06$Lg523H6Fy3RkOPuCEi3VFON9qTbmKoV/vSrCuYA6.dzkrV/9FkgT.', 'cliente11@soma.dev', '+5491100000011', NULL, 'Otro', 'a7363f10-00ab-48ea-9437-dd408226b3df'); +INSERT INTO public.usuarios VALUES ('d1d9471d-f484-4987-a55c-1910238310d1', '30000012', 'Bautista', 'Molina', 67.00, 167, 'cliente', true, '2026-06-06 20:46:08.238344+00', '2026-06-06 20:46:08.238344+00', '$2a$06$XFghNCf4fs.UwSSg3C8ntupDw9JdyY2DQQ/.waLwmTQiewcutjOza', 'cliente12@soma.dev', '+5491100000012', NULL, 'Hombre', '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49'); +INSERT INTO public.usuarios VALUES ('b26616a7-c6fa-4ac1-86c2-6e5093d32591', '30000013', 'Catalina', 'Rodríguez', 68.00, 168, 'cliente', true, '2026-06-06 20:46:08.238344+00', '2026-06-06 20:46:08.238344+00', '$2a$06$SzxF0qabm7bvr/cYMJtyGuxZNX8L.HL8srzPz9wlH4XDVGcmdLIa6', 'cliente13@soma.dev', '+5491100000013', NULL, 'Mujer', '8e591416-2e72-4a51-ae74-1b454cdaa2f9'); +INSERT INTO public.usuarios VALUES ('c9adee9b-a562-4503-b2de-44f8d0743a4f', '30000014', 'Felipe', 'García', 69.00, 169, 'cliente', true, '2026-06-06 20:46:08.238344+00', '2026-06-06 20:46:08.238344+00', '$2a$06$lj3/6QSaKoQJbbq2MRrABOQ90CHJntXLpIy9ls7IsiHIajDVODOly', 'cliente14@soma.dev', '+5491100000014', NULL, 'Otro', 'fa7f0303-074f-4475-a4d7-91d34241a7cd'); +INSERT INTO public.usuarios VALUES ('238e4169-968f-4c68-88d9-ca9ab7d0dfb5', '30000015', 'Isabella', 'Flores', 70.00, 170, 'cliente', true, '2026-06-06 20:46:08.238344+00', '2026-06-06 20:46:08.238344+00', '$2a$06$SIvVxfQhJ2Ofo1Nlx71BmuYSz7cjGZD7N0PLIuMHilFGH8bvpe2Pq', 'cliente15@soma.dev', '+5491100000015', NULL, 'Hombre', 'd6af381b-5e27-428c-ba6d-4eea7be68ce6'); +INSERT INTO public.usuarios VALUES ('0a1acb61-9e30-4291-9b73-fa92a65d616c', '30000016', 'Santino', 'Pereyra', 71.00, 171, 'cliente', true, '2026-06-06 20:46:08.238344+00', '2026-06-06 20:46:08.238344+00', '$2a$06$oGFIbj8nFgS3mcsu6TJysuQspCGIi03tc96xfm1F.8niIbV7XQqLC', 'cliente16@soma.dev', '+5491100000016', NULL, 'Mujer', 'a7363f10-00ab-48ea-9437-dd408226b3df'); +INSERT INTO public.usuarios VALUES ('e42d5ead-ad03-41f1-828f-8274dd014d9d', '30000017', 'Victoria', 'Vega', 72.00, 172, 'cliente', true, '2026-06-06 20:46:08.238344+00', '2026-06-06 20:46:08.238344+00', '$2a$06$RDszlczlo3b..bURy1Py0.qzBQK2ppzM.hT3ESWcNusfMbC.8G8am', 'cliente17@soma.dev', '+5491100000017', NULL, 'Otro', '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49'); +INSERT INTO public.usuarios VALUES ('8b4c532d-a16b-420a-aa3b-3cce781aa5ae', '30000018', 'Lautaro', 'Martínez', 73.00, 173, 'cliente', true, '2026-06-06 20:46:08.238344+00', '2026-06-06 20:46:08.238344+00', '$2a$06$H/M/LBXcawWRX7KXhI/CiuVkHWEL3C0FuxkGGqX2PNG4cR96XKkdi', 'cliente18@soma.dev', '+5491100000018', NULL, 'Hombre', '8e591416-2e72-4a51-ae74-1b454cdaa2f9'); +INSERT INTO public.usuarios VALUES ('a7d7b0a7-e5a2-417c-81d5-62ca2e3d9c16', '30000019', 'Renata', 'Ruiz', 74.00, 174, 'cliente', true, '2026-06-06 20:46:08.238344+00', '2026-06-06 20:46:08.238344+00', '$2a$06$XpCaV0GVn4qbvcLWA262PecZ3dVyaX0gRagcCIBfLry6H2Sh2gOgu', 'cliente19@soma.dev', '+5491100000019', NULL, 'Mujer', 'fa7f0303-074f-4475-a4d7-91d34241a7cd'); +INSERT INTO public.usuarios VALUES ('0ffa071a-d599-4fe7-8840-2ad430ca5447', '30000021', 'Delfina', 'Núñez', 76.00, 176, 'cliente', true, '2026-06-06 20:46:08.238344+00', '2026-06-06 20:46:08.238344+00', '$2a$06$oES999DUmMnazp/1fbVTQe5rUYTK4aIrnyqGlk.bTy4/WlMSUmDzu', 'cliente21@soma.dev', '+5491100000021', NULL, 'Hombre', 'a7363f10-00ab-48ea-9437-dd408226b3df'); +INSERT INTO public.usuarios VALUES ('72d62ab3-e1e6-4785-8089-25eb6c2a1a16', '30000022', 'Nicolás', 'López', 77.00, 177, 'cliente', true, '2026-06-06 20:46:08.238344+00', '2026-06-06 20:46:08.238344+00', '$2a$06$XMAIsAd0DxICqVMBK8h88eVOGS7DJbRy5qfs662h94hdJUpKTD38W', 'cliente22@soma.dev', '+5491100000022', NULL, 'Mujer', '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49'); +INSERT INTO public.usuarios VALUES ('9e7fc8d5-d4de-4c0d-a684-6d9f894911d3', '30000023', 'Julieta', 'Torres', 78.00, 178, 'cliente', true, '2026-06-06 20:46:08.238344+00', '2026-06-06 20:46:08.238344+00', '$2a$06$scbzJK5YCfAIrrdfemzWXOAboeOPyqRaiWSLDiMKtYdjaLxLuQ8B6', 'cliente23@soma.dev', '+5491100000023', NULL, 'Otro', '8e591416-2e72-4a51-ae74-1b454cdaa2f9'); +INSERT INTO public.usuarios VALUES ('2a96680e-2758-41b1-8256-8cc30c321ec3', '30000024', 'Agustín', 'Medina', 79.00, 179, 'cliente', true, '2026-06-06 20:46:08.238344+00', '2026-06-06 20:46:08.238344+00', '$2a$06$nqtMlln8hp1Ixee.f/6Zie5N2rk9.Ej6tywLD.WvczSbw1NHw7iTG', 'cliente24@soma.dev', '+5491100000024', NULL, 'Hombre', 'fa7f0303-074f-4475-a4d7-91d34241a7cd'); +INSERT INTO public.usuarios VALUES ('e32ff96e-c9f3-45eb-870a-75b5838d40dc', '30000025', 'Bianca', 'Castro', 80.00, 180, 'cliente', true, '2026-06-06 20:46:08.238344+00', '2026-06-06 20:46:08.238344+00', '$2a$06$q5jxHxqzChY24BXYdSUVTeJvjblD9sE4xmnvF3Pz9GUx1bRU6yPNq', 'cliente25@soma.dev', '+5491100000025', NULL, 'Mujer', 'd6af381b-5e27-428c-ba6d-4eea7be68ce6'); +INSERT INTO public.usuarios VALUES ('db195bd3-4078-4034-b92f-e2529211b92a', '30000026', 'Gael', 'Gómez', 81.00, 181, 'cliente', true, '2026-06-06 20:46:08.238344+00', '2026-06-06 20:46:08.238344+00', '$2a$06$ugavhzt6NX7KFihXjumj2.iIFlkt5of9zigXO8rUP8tRVUOuBrbPm', 'cliente26@soma.dev', '+5491100000026', NULL, 'Otro', 'a7363f10-00ab-48ea-9437-dd408226b3df'); +INSERT INTO public.usuarios VALUES ('ec361792-5d1e-4168-aa3d-8ba3e6efa501', '30000027', 'Olivia', 'Romero', 82.00, 182, 'cliente', true, '2026-06-06 20:46:08.238344+00', '2026-06-06 20:46:08.238344+00', '$2a$06$Tm.0bR.nQM0CByxuLZ9pU.bS3EmLTryBdMipFPuEk.oCH6l0b9Qqy', 'cliente27@soma.dev', '+5491100000027', NULL, 'Hombre', '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49'); +INSERT INTO public.usuarios VALUES ('eef92d4e-2b3f-40dd-a551-6eac210eb1df', '30000028', 'Dylan', 'Acosta', 83.00, 183, 'cliente', true, '2026-06-06 20:46:08.238344+00', '2026-06-06 20:46:08.238344+00', '$2a$06$VPYbZwthXMFMYqGj7CI8ceRLROwo/YJQR1R6prqSnODeJRUbfslK6', 'cliente28@soma.dev', '+5491100000028', NULL, 'Mujer', '8e591416-2e72-4a51-ae74-1b454cdaa2f9'); +INSERT INTO public.usuarios VALUES ('5bb27430-7d5a-4842-bb94-e564b68c0552', '30000029', 'Alma', 'Rojas', 84.00, 184, 'cliente', true, '2026-06-06 20:46:08.238344+00', '2026-06-06 20:46:08.238344+00', '$2a$06$k1sK7rKKmkkBFB2YTihUbuoBX4fCY2W2cuRz31oqU7/v2DxnmVZ6i', 'cliente29@soma.dev', '+5491100000029', NULL, 'Otro', 'fa7f0303-074f-4475-a4d7-91d34241a7cd'); +INSERT INTO public.usuarios VALUES ('74db756d-9c91-41e1-9073-a77fc3f00f6d', '30000031', 'Sofía', 'Pérez', 86.00, 186, 'cliente', true, '2026-06-06 20:46:08.238344+00', '2026-06-06 20:46:08.238344+00', '$2a$06$eDK5Ex59FO5Kif8sNOlZAuLD4ART6lIKKgXV3A8KDvCLcdojVR5X.', 'cliente31@soma.dev', '+5491100000031', NULL, 'Mujer', 'a7363f10-00ab-48ea-9437-dd408226b3df'); +INSERT INTO public.usuarios VALUES ('79e05bdc-3abb-44e2-a560-73254499ad61', '30000032', 'Juan', 'Ramírez', 87.00, 187, 'cliente', true, '2026-06-06 20:46:08.238344+00', '2026-06-06 20:46:08.238344+00', '$2a$06$kFa/w8iRGGvQf4yK3Lj/WePWfdU/GQTe1au3XWrLyhnULpYXfic.u', 'cliente32@soma.dev', '+5491100000032', NULL, 'Otro', '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49'); +INSERT INTO public.usuarios VALUES ('a1479992-2beb-4c26-8ac7-2a985f8d5c09', '30000033', 'Valentina', 'Aguirre', 88.00, 188, 'cliente', true, '2026-06-06 20:46:08.238344+00', '2026-06-06 20:46:08.238344+00', '$2a$06$nV2XwWgaRTKWX.fMDVcEUubMf.g8flVdcE5pYpe6enwEbNnDrD/G6', 'cliente33@soma.dev', '+5491100000033', NULL, 'Hombre', '8e591416-2e72-4a51-ae74-1b454cdaa2f9'); +INSERT INTO public.usuarios VALUES ('353e81dd-a5b7-458e-98e6-377b20bf27ef', '30000034', 'Lucas', 'Cabrera', 89.00, 189, 'cliente', true, '2026-06-06 20:46:08.238344+00', '2026-06-06 20:46:08.238344+00', '$2a$06$LXm5dnH/ilvgZAOOLk1wzeuqnRNd.Ii28icKP.JOT.DGZo/M25XZW', 'cliente34@soma.dev', '+5491100000034', NULL, 'Mujer', 'fa7f0303-074f-4475-a4d7-91d34241a7cd'); +INSERT INTO public.usuarios VALUES ('74c40cbd-88dd-4069-aa0b-4bd8ee17d97e', '30000035', 'Martina', 'Díaz', 90.00, 190, 'cliente', true, '2026-06-06 20:46:08.238344+00', '2026-06-06 20:46:08.238344+00', '$2a$06$3fzFH2RI8tcwBsAl6NWZou/wqS/km2Gwa3.BZ8wj8S/pXjfQcJKwm', 'cliente35@soma.dev', '+5491100000035', NULL, 'Otro', 'd6af381b-5e27-428c-ba6d-4eea7be68ce6'); +INSERT INTO public.usuarios VALUES ('ab476a85-4433-4791-ba98-f6f65a9e6812', '30000036', 'Benjamín', 'Álvarez', 91.00, 191, 'cliente', true, '2026-06-06 20:46:08.238344+00', '2026-06-06 20:46:08.238344+00', '$2a$06$.VHkPjOVutgcMg9Kp.DXteNInRdZVnjsPajHJ4q8e6ykclXCKYIWe', 'cliente36@soma.dev', '+5491100000036', NULL, 'Hombre', 'a7363f10-00ab-48ea-9437-dd408226b3df'); +INSERT INTO public.usuarios VALUES ('88d879ca-b155-4aa2-9c53-feeec0ce6216', '30000037', 'Camila', 'Suárez', 92.00, 192, 'cliente', true, '2026-06-06 20:46:08.238344+00', '2026-06-06 20:46:08.238344+00', '$2a$06$.w.pS1IZR128evZWVeYW/uj2R7w8zEJ0ushZHLysGh9EvYIwLA83K', 'cliente37@soma.dev', '+5491100000037', NULL, 'Mujer', '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49'); +INSERT INTO public.usuarios VALUES ('201855bb-c895-4b7f-990a-7fcda83c863a', '30000038', 'Thiago', 'Ortiz', 93.00, 193, 'cliente', true, '2026-06-06 20:46:08.238344+00', '2026-06-06 20:46:08.238344+00', '$2a$06$t9SdQ/wWVv8v7xjx0roMfObxO8uXP/947Cyd1dOaLiadk2tSZ546.', 'cliente38@soma.dev', '+5491100000038', NULL, 'Otro', '8e591416-2e72-4a51-ae74-1b454cdaa2f9'); +INSERT INTO public.usuarios VALUES ('9f3d94ed-64c6-4ba2-ab51-d0f1d76dcf6f', '30000039', 'Emma', 'Fernández', 94.00, 194, 'cliente', true, '2026-06-06 20:46:08.238344+00', '2026-06-06 20:46:08.238344+00', '$2a$06$OXsLcU9aBBBh4p/8OrTA9OZHgWzVMMSS3hIlD5huL.nZnyK8sAaMy', 'cliente39@soma.dev', '+5491100000039', NULL, 'Hombre', 'fa7f0303-074f-4475-a4d7-91d34241a7cd'); +INSERT INTO public.usuarios VALUES ('24ae546a-5831-4ba7-bc67-7b3394f10fe3', '30000041', 'Mía', 'Benítez', 96.00, 156, 'cliente', true, '2026-06-06 20:46:08.238344+00', '2026-06-06 20:46:08.238344+00', '$2a$06$824Trl5IyP9xIRH7u5WZceNV4RHUu3V0IhP9qk6AnRrS7FoZj66pu', 'cliente41@soma.dev', '+5491100000041', NULL, 'Otro', 'a7363f10-00ab-48ea-9437-dd408226b3df'); +INSERT INTO public.usuarios VALUES ('5515eddc-132d-4d91-ba8f-53aa4c32c3c2', '30000042', 'Bautista', 'Molina', 97.00, 157, 'cliente', true, '2026-06-06 20:46:08.238344+00', '2026-06-06 20:46:08.238344+00', '$2a$06$fgU1Wkrq7oHSGjFo3zDJWeXaal0MM5Gj4jY86WmtuQeyXFmGUw4S6', 'cliente42@soma.dev', '+5491100000042', NULL, 'Hombre', '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49'); +INSERT INTO public.usuarios VALUES ('595fa41c-3177-4913-8646-ce53e95564bf', '30000043', 'Catalina', 'Rodríguez', 98.00, 158, 'cliente', true, '2026-06-06 20:46:08.238344+00', '2026-06-06 20:46:08.238344+00', '$2a$06$OTzDqLronvOOfVg3IC57ku49kTck5UM0swIW24MaN9iuE4MhOE52K', 'cliente43@soma.dev', '+5491100000043', NULL, 'Mujer', '8e591416-2e72-4a51-ae74-1b454cdaa2f9'); +INSERT INTO public.usuarios VALUES ('0b37f5da-af88-4e21-a447-7c5d55888ec7', '30000044', 'Felipe', 'García', 99.00, 159, 'cliente', true, '2026-06-06 20:46:08.238344+00', '2026-06-06 20:46:08.238344+00', '$2a$06$Y5W8Dbs.4FFOn.xJBJURL.84q0/l393zgJQq6AYOIvR6UZ1XCXJc6', 'cliente44@soma.dev', '+5491100000044', NULL, 'Otro', 'fa7f0303-074f-4475-a4d7-91d34241a7cd'); +INSERT INTO public.usuarios VALUES ('cbe58515-28d6-485b-a476-5a97f3042f21', '30000045', 'Isabella', 'Flores', 55.00, 160, 'cliente', true, '2026-06-06 20:46:08.238344+00', '2026-06-06 20:46:08.238344+00', '$2a$06$AHcQJbY/m0dhJohCNqEbdORdhbjmFRqOK4R8ynYCQVhSG2Xgl.tbm', 'cliente45@soma.dev', '+5491100000045', NULL, 'Hombre', 'd6af381b-5e27-428c-ba6d-4eea7be68ce6'); +INSERT INTO public.usuarios VALUES ('825d188e-beda-4191-ba4b-e79439d0d502', '30000046', 'Santino', 'Pereyra', 56.00, 161, 'cliente', true, '2026-06-06 20:46:08.238344+00', '2026-06-06 20:46:08.238344+00', '$2a$06$W5YjqHsD3U6LHxOaMFkkS.hQvB4BuOkf3VQ2E55krWbARDHo2LbZ.', 'cliente46@soma.dev', '+5491100000046', NULL, 'Mujer', 'a7363f10-00ab-48ea-9437-dd408226b3df'); +INSERT INTO public.usuarios VALUES ('0f58ad98-99d5-4d47-969f-043f78fc1e48', '30000047', 'Victoria', 'Vega', 57.00, 162, 'cliente', true, '2026-06-06 20:46:08.238344+00', '2026-06-06 20:46:08.238344+00', '$2a$06$Kc0BKtH7Oq5N56./q2ul3e8njH95MkkgpekTYhGXpDBFvS5LbWfUG', 'cliente47@soma.dev', '+5491100000047', NULL, 'Otro', '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49'); +INSERT INTO public.usuarios VALUES ('71f56398-f3ff-4de0-89fa-0e2a1992d81f', '30000048', 'Lautaro', 'Martínez', 58.00, 163, 'cliente', true, '2026-06-06 20:46:08.238344+00', '2026-06-06 20:46:08.238344+00', '$2a$06$uJQfLJp1vMe6AmtWnzn2le/L/ctMWDpf77aTCQILyJHYoWXltFdk.', 'cliente48@soma.dev', '+5491100000048', NULL, 'Hombre', '8e591416-2e72-4a51-ae74-1b454cdaa2f9'); +INSERT INTO public.usuarios VALUES ('a44af168-1feb-4b0b-9a3c-f61c0f267854', '30000049', 'Renata', 'Ruiz', 59.00, 164, 'cliente', true, '2026-06-06 20:46:08.238344+00', '2026-06-06 20:46:08.238344+00', '$2a$06$nWI6TYjFXEyO6v3UI8vOieaB27BHCJG5mpgwQxpxJe6AGde69SLQ2', 'cliente49@soma.dev', '+5491100000049', NULL, 'Mujer', 'fa7f0303-074f-4475-a4d7-91d34241a7cd'); +INSERT INTO public.usuarios VALUES ('f061a5e5-cbee-465f-8494-049fdb0109a7', '30000051', 'Delfina', 'Núñez', 61.00, 166, 'cliente', true, '2026-06-06 20:46:08.238344+00', '2026-06-06 20:46:08.238344+00', '$2a$06$ychILXBBlVAQK8r68I.jaueIKjdBK5FV/C79UL9hQF8Zf/N4UEFKS', 'cliente51@soma.dev', '+5491100000051', NULL, 'Hombre', 'a7363f10-00ab-48ea-9437-dd408226b3df'); +INSERT INTO public.usuarios VALUES ('083f3ead-5766-492c-96a2-a17e05e9f98f', '30000052', 'Nicolás', 'López', 62.00, 167, 'cliente', true, '2026-06-06 20:46:08.238344+00', '2026-06-06 20:46:08.238344+00', '$2a$06$jy1TNTEd75cbx2xW9mkAWOxQhupRzvy3CctdiSDBF/kBxeZt7/Wqu', 'cliente52@soma.dev', '+5491100000052', NULL, 'Mujer', '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49'); +INSERT INTO public.usuarios VALUES ('ed3e9661-ebb8-42be-8dea-9252ca882723', '30000053', 'Julieta', 'Torres', 63.00, 168, 'cliente', true, '2026-06-06 20:46:08.238344+00', '2026-06-06 20:46:08.238344+00', '$2a$06$TX.ccDA1ko/mdtFRugOgOeWmfE9DTUsGOcdGZtyhB05XBnAM4DHUe', 'cliente53@soma.dev', '+5491100000053', NULL, 'Otro', '8e591416-2e72-4a51-ae74-1b454cdaa2f9'); +INSERT INTO public.usuarios VALUES ('c4f83b12-0b88-4ec8-a5db-0a3deacb4d29', '30000054', 'Agustín', 'Medina', 64.00, 169, 'cliente', true, '2026-06-06 20:46:08.238344+00', '2026-06-06 20:46:08.238344+00', '$2a$06$DzmaH7kbxbRb85T9g9wlu.e3ErtViAQ0w9BWPu.eRBnBanH91qoDe', 'cliente54@soma.dev', '+5491100000054', NULL, 'Hombre', 'fa7f0303-074f-4475-a4d7-91d34241a7cd'); +INSERT INTO public.usuarios VALUES ('9943c7f8-a3c8-4f7d-a55d-099559ad9fda', '30000055', 'Bianca', 'Castro', 65.00, 170, 'cliente', true, '2026-06-06 20:46:08.238344+00', '2026-06-06 20:46:08.238344+00', '$2a$06$DjdE3Jb7b1SthQ8DuOhiEuHfe.N40frQUHU9f5HfEZ9TrvEhBza/C', 'cliente55@soma.dev', '+5491100000055', NULL, 'Mujer', 'd6af381b-5e27-428c-ba6d-4eea7be68ce6'); +INSERT INTO public.usuarios VALUES ('9b042ac0-1f6b-4abb-a096-f2b0910930b4', '30000056', 'Gael', 'Gómez', 66.00, 171, 'cliente', true, '2026-06-06 20:46:08.238344+00', '2026-06-06 20:46:08.238344+00', '$2a$06$r388hb3wTlp69VSERk1HAOIOhazG4e/hJqYYofedzL4PRbjk/dsK.', 'cliente56@soma.dev', '+5491100000056', NULL, 'Otro', 'a7363f10-00ab-48ea-9437-dd408226b3df'); +INSERT INTO public.usuarios VALUES ('144c763b-b89e-471a-a98c-6c0122ecefa1', '30000057', 'Olivia', 'Romero', 67.00, 172, 'cliente', true, '2026-06-06 20:46:08.238344+00', '2026-06-06 20:46:08.238344+00', '$2a$06$vMFkTFBryID7a4lQd8fw0ulqORJMsK5vS3KU476AicvKIiW/CiNkS', 'cliente57@soma.dev', '+5491100000057', NULL, 'Hombre', '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49'); +INSERT INTO public.usuarios VALUES ('f351c4c2-1199-489f-9b43-32885b11cf22', '30000058', 'Dylan', 'Acosta', 68.00, 173, 'cliente', true, '2026-06-06 20:46:08.238344+00', '2026-06-06 20:46:08.238344+00', '$2a$06$qPcq87qkMa1bbVVvptLXb.cWGfDiGW68H4r4ExX1q4xKIqCoT9D2O', 'cliente58@soma.dev', '+5491100000058', NULL, 'Mujer', '8e591416-2e72-4a51-ae74-1b454cdaa2f9'); +INSERT INTO public.usuarios VALUES ('8e2969a0-cd00-441a-b7a8-47c06a3a1f2d', '30000059', 'Alma', 'Rojas', 69.00, 174, 'cliente', true, '2026-06-06 20:46:08.238344+00', '2026-06-06 20:46:08.238344+00', '$2a$06$z2FM01C65wFx.MZ02iB6oeeGp5DD5lTx2qyBMQCHyhJKwpb5MjPR2', 'cliente59@soma.dev', '+5491100000059', NULL, 'Otro', 'fa7f0303-074f-4475-a4d7-91d34241a7cd'); +INSERT INTO public.usuarios VALUES ('b8167be1-1133-4372-9daa-a3cd6ecc7df2', '30000061', 'Sofía', 'Pérez', 71.00, 176, 'cliente', true, '2026-06-06 20:46:08.238344+00', '2026-06-06 20:46:08.238344+00', '$2a$06$L2dAtkyJ57JJhJ4P5yZSrOyNc1uL4TrPxceeQxw4sMqBm0DjwZOne', 'cliente61@soma.dev', '+5491100000061', NULL, 'Mujer', 'a7363f10-00ab-48ea-9437-dd408226b3df'); +INSERT INTO public.usuarios VALUES ('2fcbd6c7-85a2-4abd-bbe0-fa87593862e8', '30000062', 'Juan', 'Ramírez', 72.00, 177, 'cliente', true, '2026-06-06 20:46:08.238344+00', '2026-06-06 20:46:08.238344+00', '$2a$06$V1MFaD3cnphV8pHlZwRle..bv9uTHTREXwST5BRuSi1gMRisn1KHi', 'cliente62@soma.dev', '+5491100000062', NULL, 'Otro', '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49'); +INSERT INTO public.usuarios VALUES ('9867ca58-96e8-4a91-8c2f-b6ecdc0837c9', '30000063', 'Valentina', 'Aguirre', 73.00, 178, 'cliente', true, '2026-06-06 20:46:08.238344+00', '2026-06-06 20:46:08.238344+00', '$2a$06$pN14Lo0nP8E1OUVn8Ez0nemcPNvQhP7E4c8LheU6kCparCmuYHeF.', 'cliente63@soma.dev', '+5491100000063', NULL, 'Hombre', '8e591416-2e72-4a51-ae74-1b454cdaa2f9'); +INSERT INTO public.usuarios VALUES ('198176d2-7923-46dc-b3b7-c95ccf091117', '30000064', 'Lucas', 'Cabrera', 74.00, 179, 'cliente', true, '2026-06-06 20:46:08.238344+00', '2026-06-06 20:46:08.238344+00', '$2a$06$xk4PQmOzTVoowXkXeOpx/eNq/sa10vIQpKyy69Kx0l8kRDIQeX3V6', 'cliente64@soma.dev', '+5491100000064', NULL, 'Mujer', 'fa7f0303-074f-4475-a4d7-91d34241a7cd'); +INSERT INTO public.usuarios VALUES ('1b604699-927f-4d03-80ae-e200ad0def10', '30000065', 'Martina', 'Díaz', 75.00, 180, 'cliente', true, '2026-06-06 20:46:08.238344+00', '2026-06-06 20:46:08.238344+00', '$2a$06$hpuClilruEDsKUFubU9m9OYEN3yZ8.rF4ReMena31X8wRsSsU8XRi', 'cliente65@soma.dev', '+5491100000065', NULL, 'Otro', 'd6af381b-5e27-428c-ba6d-4eea7be68ce6'); +INSERT INTO public.usuarios VALUES ('01af7976-13d2-43a3-bd97-cc3d4358ff29', '30000066', 'Benjamín', 'Álvarez', 76.00, 181, 'cliente', true, '2026-06-06 20:46:08.238344+00', '2026-06-06 20:46:08.238344+00', '$2a$06$hNVUeQzkdIUpDOU0xW/kmeqd9Ol1CKnRFZUkNvWSyuP.z0Wzrq4su', 'cliente66@soma.dev', '+5491100000066', NULL, 'Hombre', 'a7363f10-00ab-48ea-9437-dd408226b3df'); +INSERT INTO public.usuarios VALUES ('6e66deb4-5856-4637-a324-d9c0ab50fd58', '30000067', 'Camila', 'Suárez', 77.00, 182, 'cliente', true, '2026-06-06 20:46:08.238344+00', '2026-06-06 20:46:08.238344+00', '$2a$06$qU1a11IgsHqATJf2BSCfH.yhyXCnTCZSRIdw7CCamS7y4AusE6XKK', 'cliente67@soma.dev', '+5491100000067', NULL, 'Mujer', '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49'); +INSERT INTO public.usuarios VALUES ('070057f7-c8e2-4c54-a077-a1e393dedb47', '30000068', 'Thiago', 'Ortiz', 78.00, 183, 'cliente', true, '2026-06-06 20:46:08.238344+00', '2026-06-06 20:46:08.238344+00', '$2a$06$QVQIISlp0B9bKXbHI.fzt.zKKPsRPJX9188kzGHNfIoftRviC9uPO', 'cliente68@soma.dev', '+5491100000068', NULL, 'Otro', '8e591416-2e72-4a51-ae74-1b454cdaa2f9'); +INSERT INTO public.usuarios VALUES ('cefbed7b-30b7-4bb1-8445-030a532e00d7', '30000069', 'Emma', 'Fernández', 79.00, 184, 'cliente', true, '2026-06-06 20:46:08.238344+00', '2026-06-06 20:46:08.238344+00', '$2a$06$WHtq97mledhXE/Mg/lhsQurbEoHUY9Vg9FFWsRWe6/CUE7iSh693e', 'cliente69@soma.dev', '+5491100000069', NULL, 'Hombre', 'fa7f0303-074f-4475-a4d7-91d34241a7cd'); +INSERT INTO public.usuarios VALUES ('3020f110-325c-4f6a-afc8-790ffbc3fbe9', '30000071', 'Mía', 'Benítez', 81.00, 186, 'cliente', true, '2026-06-06 20:46:08.238344+00', '2026-06-06 20:46:08.238344+00', '$2a$06$mCyAGxkJq6uCo0mwIdi.DuxVi2nxfSJ00e7DYC7zuoLO1HLs8Zf0G', 'cliente71@soma.dev', '+5491100000071', NULL, 'Otro', 'a7363f10-00ab-48ea-9437-dd408226b3df'); +INSERT INTO public.usuarios VALUES ('8800fc42-5f40-4c35-ba8a-73f6fcaf54e6', '30000072', 'Bautista', 'Molina', 82.00, 187, 'cliente', true, '2026-06-06 20:46:08.238344+00', '2026-06-06 20:46:08.238344+00', '$2a$06$zIIsjM3TpOqueSFjOw18fuMnfsSZOch75YD6nCaO5cdqgDQTAtnYq', 'cliente72@soma.dev', '+5491100000072', NULL, 'Hombre', '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49'); +INSERT INTO public.usuarios VALUES ('5063176b-e3b3-4cf8-8fbe-7f6525ba32d5', '30000073', 'Catalina', 'Rodríguez', 83.00, 188, 'cliente', true, '2026-06-06 20:46:08.238344+00', '2026-06-06 20:46:08.238344+00', '$2a$06$eH2YHXHPnX3O6GMQYUjDLOA.N4I6hinxE7LZS.YcZD4eP7HAw7Boq', 'cliente73@soma.dev', '+5491100000073', NULL, 'Mujer', '8e591416-2e72-4a51-ae74-1b454cdaa2f9'); +INSERT INTO public.usuarios VALUES ('e160e04f-d8ad-4036-a62a-0d6c7dbfe46f', '30000074', 'Felipe', 'García', 84.00, 189, 'cliente', true, '2026-06-06 20:46:08.238344+00', '2026-06-06 20:46:08.238344+00', '$2a$06$whw6Pr6I.vqPGUgeLPjdTuoZ8QEYHA4bUfA1X4Zny8FJgyrl8oIDy', 'cliente74@soma.dev', '+5491100000074', NULL, 'Otro', 'fa7f0303-074f-4475-a4d7-91d34241a7cd'); +INSERT INTO public.usuarios VALUES ('ec574029-e9f2-45bd-a032-fc7a49ef04e4', '30000075', 'Isabella', 'Flores', 85.00, 190, 'cliente', true, '2026-06-06 20:46:08.238344+00', '2026-06-06 20:46:08.238344+00', '$2a$06$9CK0chzvj50M6Mit5la.leJwMAgB.3D23/6bACgXSrp1HNyBHQ9pu', 'cliente75@soma.dev', '+5491100000075', NULL, 'Hombre', 'd6af381b-5e27-428c-ba6d-4eea7be68ce6'); +INSERT INTO public.usuarios VALUES ('324a98da-78aa-4ffa-b0eb-029e85f85d76', '30000076', 'Santino', 'Pereyra', 86.00, 191, 'cliente', true, '2026-06-06 20:46:08.238344+00', '2026-06-06 20:46:08.238344+00', '$2a$06$Hj0MGpYhbUmUR392AOD22.JrDaK14KCV8bvd08HrPkjcH3HtDMVgq', 'cliente76@soma.dev', '+5491100000076', NULL, 'Mujer', 'a7363f10-00ab-48ea-9437-dd408226b3df'); +INSERT INTO public.usuarios VALUES ('f681a3ce-fd9f-41be-aa2e-e4da6c0c042c', '30000077', 'Victoria', 'Vega', 87.00, 192, 'cliente', true, '2026-06-06 20:46:08.238344+00', '2026-06-06 20:46:08.238344+00', '$2a$06$7Cs7toZgkAcLWvCmx/3ZOebtYTveKNpfgJ/LtjhGlQDC3Jre5G0oq', 'cliente77@soma.dev', '+5491100000077', NULL, 'Otro', '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49'); +INSERT INTO public.usuarios VALUES ('78323bb7-21cb-4965-a4d7-9c1b1d6660b7', '30000078', 'Lautaro', 'Martínez', 88.00, 193, 'cliente', true, '2026-06-06 20:46:08.238344+00', '2026-06-06 20:46:08.238344+00', '$2a$06$0zy2KXVZaJonl8DSCg06AuAHExmJqq006tb0PaQJgDZHrXFt1zdGS', 'cliente78@soma.dev', '+5491100000078', NULL, 'Hombre', '8e591416-2e72-4a51-ae74-1b454cdaa2f9'); +INSERT INTO public.usuarios VALUES ('74380d29-a357-40f5-ae1d-d9c72616dd74', '30000079', 'Renata', 'Ruiz', 89.00, 194, 'cliente', true, '2026-06-06 20:46:08.238344+00', '2026-06-06 20:46:08.238344+00', '$2a$06$TzdlG09WQdnFzybstK7pk.75BmVx9Llja0PYe0WHmZGh7T5SmZ5FW', 'cliente79@soma.dev', '+5491100000079', NULL, 'Mujer', 'fa7f0303-074f-4475-a4d7-91d34241a7cd'); +INSERT INTO public.usuarios VALUES ('f2919e7a-0e42-4650-88ff-b1ab1ae1d91a', '30000081', 'Delfina', 'Núñez', 91.00, 156, 'cliente', true, '2026-06-06 20:46:08.238344+00', '2026-06-06 20:46:08.238344+00', '$2a$06$M57ML3H8QyE/Txt10caUv.mwRDBAeTUoFNfV1HBdDYr9azoI/NePS', 'cliente81@soma.dev', '+5491100000081', NULL, 'Hombre', 'a7363f10-00ab-48ea-9437-dd408226b3df'); +INSERT INTO public.usuarios VALUES ('44364efa-ba85-499e-bfde-97cf19d26e53', '30000082', 'Nicolás', 'López', 92.00, 157, 'cliente', true, '2026-06-06 20:46:08.238344+00', '2026-06-06 20:46:08.238344+00', '$2a$06$w1KV0QwSSII88n4TUS6TRON8uUOAy0xPCQyl3wB5Uhgix01xbu2L6', 'cliente82@soma.dev', '+5491100000082', NULL, 'Mujer', '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49'); +INSERT INTO public.usuarios VALUES ('e3134bf8-19ad-4420-a837-de4cf2c34103', '30000083', 'Julieta', 'Torres', 93.00, 158, 'cliente', true, '2026-06-06 20:46:08.238344+00', '2026-06-06 20:46:08.238344+00', '$2a$06$g86q0J5sFZMKuXoZTdOE0eOJGaONYLTKlYL5C2snUqRvSfhlFPqe.', 'cliente83@soma.dev', '+5491100000083', NULL, 'Otro', '8e591416-2e72-4a51-ae74-1b454cdaa2f9'); +INSERT INTO public.usuarios VALUES ('f5a79227-8040-4dea-9b16-418b5def4de0', '30000084', 'Agustín', 'Medina', 94.00, 159, 'cliente', true, '2026-06-06 20:46:08.238344+00', '2026-06-06 20:46:08.238344+00', '$2a$06$f8g44h9iyfD/GtFEfFClOOlaxde.b7njuPAHwVVtw9ZeqvjWu8M8y', 'cliente84@soma.dev', '+5491100000084', NULL, 'Hombre', 'fa7f0303-074f-4475-a4d7-91d34241a7cd'); +INSERT INTO public.usuarios VALUES ('f7df642a-1976-49fc-bd71-e58fad664f4d', '30000085', 'Bianca', 'Castro', 95.00, 160, 'cliente', true, '2026-06-06 20:46:08.238344+00', '2026-06-06 20:46:08.238344+00', '$2a$06$kUPiVZl3mUbBWdSofT85QeHm6bv8Urz/hWy0JDw0CpwSKBF/7ELyW', 'cliente85@soma.dev', '+5491100000085', NULL, 'Mujer', 'd6af381b-5e27-428c-ba6d-4eea7be68ce6'); +INSERT INTO public.usuarios VALUES ('79e9578c-e4b8-4586-a122-7ae21731bbe7', '30000086', 'Gael', 'Gómez', 96.00, 161, 'cliente', true, '2026-06-06 20:46:08.238344+00', '2026-06-06 20:46:08.238344+00', '$2a$06$fTsMBGA8HaIRUEFeQ9WpP.KVPLgU4WxH499R/4AqOdOuzCNgjHdIe', 'cliente86@soma.dev', '+5491100000086', NULL, 'Otro', 'a7363f10-00ab-48ea-9437-dd408226b3df'); +INSERT INTO public.usuarios VALUES ('f1aab3ea-1cbc-4546-86e7-892973edc917', '30000087', 'Olivia', 'Romero', 97.00, 162, 'cliente', true, '2026-06-06 20:46:08.238344+00', '2026-06-06 20:46:08.238344+00', '$2a$06$lWcBQGXizcui45iyzIaTxexToLWlXnxauObuQxtgJ2uPRyE9eUg4G', 'cliente87@soma.dev', '+5491100000087', NULL, 'Hombre', '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49'); +INSERT INTO public.usuarios VALUES ('7644fc92-cfa0-4bd1-90cf-6b7d01081774', '30000088', 'Dylan', 'Acosta', 98.00, 163, 'cliente', true, '2026-06-06 20:46:08.238344+00', '2026-06-06 20:46:08.238344+00', '$2a$06$ASJ4mEKdRYvWJhrGkyXq5uqETlOif0KGiKu0.MjhVvrozswBKApme', 'cliente88@soma.dev', '+5491100000088', NULL, 'Mujer', '8e591416-2e72-4a51-ae74-1b454cdaa2f9'); +INSERT INTO public.usuarios VALUES ('6daa72d9-192c-4c98-8b76-74ee6416ff2b', '30000089', 'Alma', 'Rojas', 99.00, 164, 'cliente', true, '2026-06-06 20:46:08.238344+00', '2026-06-06 20:46:08.238344+00', '$2a$06$WYLkAmBvlUwKe6.wjJ65Y.OptFJpDv26GTv3Y8muFWj7zkJy2kLQS', 'cliente89@soma.dev', '+5491100000089', NULL, 'Otro', 'fa7f0303-074f-4475-a4d7-91d34241a7cd'); +INSERT INTO public.usuarios VALUES ('25f8aad9-58f1-4b8f-bd5b-cae7edd4f269', '30000091', 'Sofía', 'Pérez', 56.00, 166, 'cliente', true, '2026-06-06 20:46:08.238344+00', '2026-06-06 20:46:08.238344+00', '$2a$06$rvV7287F0zrv08rTGYBSXu9Gxpa4ve9R.bPfP8tYGmA5Hja2w38HG', 'cliente91@soma.dev', '+5491100000091', NULL, 'Mujer', 'a7363f10-00ab-48ea-9437-dd408226b3df'); +INSERT INTO public.usuarios VALUES ('5dc3949c-49f6-46e5-9687-d4de93fb57e4', '30000092', 'Juan', 'Ramírez', 57.00, 167, 'cliente', true, '2026-06-06 20:46:08.238344+00', '2026-06-06 20:46:08.238344+00', '$2a$06$HmdkSmmSl.SHVe1hpa.lE.eYMXbl6a0O/Yg94fFdvG8VEybEbXJUC', 'cliente92@soma.dev', '+5491100000092', NULL, 'Otro', '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49'); +INSERT INTO public.usuarios VALUES ('19c48d9d-936f-4321-a4bc-b1cb3d4b9960', '30000093', 'Valentina', 'Aguirre', 58.00, 168, 'cliente', true, '2026-06-06 20:46:08.238344+00', '2026-06-06 20:46:08.238344+00', '$2a$06$fXXBJP8m1UDtmUGWZqFGieLantsC8Vc7zKQ.i6ZbB/IkFBXVK5L2u', 'cliente93@soma.dev', '+5491100000093', NULL, 'Hombre', '8e591416-2e72-4a51-ae74-1b454cdaa2f9'); +INSERT INTO public.usuarios VALUES ('3b14568a-7b64-4cad-8cde-25ad30b27746', '30000094', 'Lucas', 'Cabrera', 59.00, 169, 'cliente', true, '2026-06-06 20:46:08.238344+00', '2026-06-06 20:46:08.238344+00', '$2a$06$fPyIHTt90TZ68GU2JdeXJ.0NQIoGjAmJNuJjRxXBxmebWhYGt5p3.', 'cliente94@soma.dev', '+5491100000094', NULL, 'Mujer', 'fa7f0303-074f-4475-a4d7-91d34241a7cd'); +INSERT INTO public.usuarios VALUES ('7a295fbb-a09a-4607-9f4c-e3e5fa45862c', '30000095', 'Martina', 'Díaz', 60.00, 170, 'cliente', true, '2026-06-06 20:46:08.238344+00', '2026-06-06 20:46:08.238344+00', '$2a$06$gL6a9PW66KZRTh4rkHLs6u8TkciI2gl8njZJJbKrzjuutH1eJvuGO', 'cliente95@soma.dev', '+5491100000095', NULL, 'Otro', 'd6af381b-5e27-428c-ba6d-4eea7be68ce6'); +INSERT INTO public.usuarios VALUES ('21730ee3-9b66-4328-8851-c0e47edeb873', '30000096', 'Benjamín', 'Álvarez', 61.00, 171, 'cliente', true, '2026-06-06 20:46:08.238344+00', '2026-06-06 20:46:08.238344+00', '$2a$06$Y5pX.9afTW0kAu7RhybanufyGOOkhOfi6S7BLi7b7xeCIYXYAOWFi', 'cliente96@soma.dev', '+5491100000096', NULL, 'Hombre', 'a7363f10-00ab-48ea-9437-dd408226b3df'); +INSERT INTO public.usuarios VALUES ('0994395d-dfe6-4897-842d-e39771d8eab9', '30000097', 'Camila', 'Suárez', 62.00, 172, 'cliente', true, '2026-06-06 20:46:08.238344+00', '2026-06-06 20:46:08.238344+00', '$2a$06$nb7tCEofS9fBBT3Wb1g68u89peA30QE2P9hdKT9hogE19USoLJM6G', 'cliente97@soma.dev', '+5491100000097', NULL, 'Mujer', '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49'); +INSERT INTO public.usuarios VALUES ('854a0ff0-dbd7-42ea-8d14-9724828f20b7', '30000098', 'Thiago', 'Ortiz', 63.00, 173, 'cliente', true, '2026-06-06 20:46:08.238344+00', '2026-06-06 20:46:08.238344+00', '$2a$06$fDWzYDFC7uzNvGE..tIQhuLeaG1J8XIGWT4f2A0kOTP66WF9PJH8O', 'cliente98@soma.dev', '+5491100000098', NULL, 'Otro', '8e591416-2e72-4a51-ae74-1b454cdaa2f9'); +INSERT INTO public.usuarios VALUES ('3bc4d101-8b75-42cc-b790-2df83be052a0', '30000099', 'Emma', 'Fernández', 64.00, 174, 'cliente', true, '2026-06-06 20:46:08.238344+00', '2026-06-06 20:46:08.238344+00', '$2a$06$y2tqiBbqM5d1364do6z5Wu3NfNJwFmx77KrKKPYjrMEuzCcz4wKYK', 'cliente99@soma.dev', '+5491100000099', NULL, 'Hombre', 'fa7f0303-074f-4475-a4d7-91d34241a7cd'); + + +-- +-- Data for Name: sesiones; Type: TABLE DATA; Schema: internal; Owner: - +-- + +INSERT INTO internal.sesiones VALUES ('2be97b0d-d739-4e00-8a11-745639afd18b', 'ea6df46a-38dc-411d-b23b-89e652653ea4', 'cb8a57c3-3bb7-44d0-89b6-f2339c26889c', '2026-06-16 20:48:41.842069+00'); +INSERT INTO internal.sesiones VALUES ('0340e008-4701-4a7c-acdf-a7d35ce0e29e', 'd08bd063-3fa7-4138-87b7-027a9b2a5945', '3676c172-15f6-4a06-a557-7d07ee3aa0b8', '2026-06-16 20:48:42.203217+00'); +INSERT INTO internal.sesiones VALUES ('1f8dcab9-24c3-4039-ab0d-e8c8cefedc5f', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', '8334122a-6767-46a7-9536-468594b2e67a', '2026-06-16 21:00:14.14058+00'); + + +-- +-- Data for Name: actividades; Type: TABLE DATA; Schema: public; Owner: - +-- + +INSERT INTO public.actividades OVERRIDING SYSTEM VALUE VALUES (1, 'Funcional', 60, 15, false, true); +INSERT INTO public.actividades OVERRIDING SYSTEM VALUE VALUES (2, 'Crossfit', 60, 12, false, true); +INSERT INTO public.actividades OVERRIDING SYSTEM VALUE VALUES (3, 'Spinning', 45, 20, false, true); +INSERT INTO public.actividades OVERRIDING SYSTEM VALUE VALUES (4, 'Yoga', 60, 18, false, true); +INSERT INTO public.actividades OVERRIDING SYSTEM VALUE VALUES (6, 'Pilates', 55, 12, false, true); +INSERT INTO public.actividades OVERRIDING SYSTEM VALUE VALUES (7, 'Musculación', 60, 30, true, true); +INSERT INTO public.actividades OVERRIDING SYSTEM VALUE VALUES (5, 'Boxeo', 60, 14, false, false); + + +-- +-- Data for Name: actividades_tipos_cuota; Type: TABLE DATA; Schema: public; Owner: - +-- + +INSERT INTO public.actividades_tipos_cuota VALUES ('8e591416-2e72-4a51-ae74-1b454cdaa2f9', 1); +INSERT INTO public.actividades_tipos_cuota VALUES ('8e591416-2e72-4a51-ae74-1b454cdaa2f9', 2); +INSERT INTO public.actividades_tipos_cuota VALUES ('8e591416-2e72-4a51-ae74-1b454cdaa2f9', 3); +INSERT INTO public.actividades_tipos_cuota VALUES ('8e591416-2e72-4a51-ae74-1b454cdaa2f9', 4); +INSERT INTO public.actividades_tipos_cuota VALUES ('8e591416-2e72-4a51-ae74-1b454cdaa2f9', 5); +INSERT INTO public.actividades_tipos_cuota VALUES ('8e591416-2e72-4a51-ae74-1b454cdaa2f9', 6); +INSERT INTO public.actividades_tipos_cuota VALUES ('8e591416-2e72-4a51-ae74-1b454cdaa2f9', 7); +INSERT INTO public.actividades_tipos_cuota VALUES ('8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 1); +INSERT INTO public.actividades_tipos_cuota VALUES ('8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 3); +INSERT INTO public.actividades_tipos_cuota VALUES ('8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 4); +INSERT INTO public.actividades_tipos_cuota VALUES ('8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 5); +INSERT INTO public.actividades_tipos_cuota VALUES ('a7363f10-00ab-48ea-9437-dd408226b3df', 1); +INSERT INTO public.actividades_tipos_cuota VALUES ('a7363f10-00ab-48ea-9437-dd408226b3df', 3); +INSERT INTO public.actividades_tipos_cuota VALUES ('a7363f10-00ab-48ea-9437-dd408226b3df', 4); +INSERT INTO public.actividades_tipos_cuota VALUES ('d6af381b-5e27-428c-ba6d-4eea7be68ce6', 4); +INSERT INTO public.actividades_tipos_cuota VALUES ('d6af381b-5e27-428c-ba6d-4eea7be68ce6', 6); +INSERT INTO public.actividades_tipos_cuota VALUES ('fa7f0303-074f-4475-a4d7-91d34241a7cd', 7); + + +-- +-- Data for Name: avisos_pago; Type: TABLE DATA; Schema: public; Owner: - +-- + + + +-- +-- Data for Name: dias_especiales; Type: TABLE DATA; Schema: public; Owner: - +-- + + + +-- +-- Data for Name: ejercicios; Type: TABLE DATA; Schema: public; Owner: - +-- + + + +-- +-- Data for Name: eventos; Type: TABLE DATA; Schema: public; Owner: - +-- + +INSERT INTO public.eventos VALUES ('feb18998-5b09-4007-95f7-4357dc510507', 'pago_anulado', 'error de monto', 'ea6df46a-38dc-411d-b23b-89e652653ea4', '{"tipo": "cuota_mensual", "metodo_id": 1, "monto_total": 18000.00, "tipo_cuota_id": "a7363f10-00ab-48ea-9437-dd408226b3df", "anio_mes_pagado": "2025-11-01"}', NULL, '2026-06-06 20:47:11.219594+00', 'bdc9f691-2c41-498e-b8a7-176ff3756eab', 'pagos', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969'); +INSERT INTO public.eventos VALUES ('605d5d42-14ef-4566-950f-3406d3c43f86', 'pago_editado', NULL, 'd9950f1c-3117-4460-b466-5a134ab504d6', '{"monto_total": 18000.00}', '{"monto_total": 18500.00}', '2026-06-06 20:47:11.219594+00', '05a0fa8d-114e-4b7e-8eb9-dce4620e487f', 'pagos', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969'); +INSERT INTO public.eventos VALUES ('eba14af5-4e12-46f1-90c4-9bea2dbe61fb', 'pago_editado', NULL, '238e4169-968f-4c68-88d9-ca9ab7d0dfb5', '{"monto_total": 16000.00}', '{"monto_total": 16500.00}', '2026-06-06 20:47:11.219594+00', 'e55ed77b-4c2f-4d33-adbb-aca442e51b12', 'pagos', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969'); +INSERT INTO public.eventos VALUES ('a45ad332-1d5c-40ec-9815-ed7bd23bfd75', 'pago_anulado', 'error de monto', '0a1acb61-9e30-4291-9b73-fa92a65d616c', '{"tipo": "cuota_mensual", "metodo_id": 1, "monto_total": 18000.00, "tipo_cuota_id": "a7363f10-00ab-48ea-9437-dd408226b3df", "anio_mes_pagado": "2026-04-01"}', NULL, '2026-06-06 20:47:11.219594+00', 'cb72813a-6856-43c7-85a9-bfe5df587f17', 'pagos', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969'); +INSERT INTO public.eventos VALUES ('fbcb10a3-5112-4ba0-9587-957eab9ccaad', 'pago_editado', NULL, '0a1acb61-9e30-4291-9b73-fa92a65d616c', '{"monto_total": 18000.00}', '{"monto_total": 18500.00}', '2026-06-06 20:47:11.219594+00', '6d7970ee-dd22-40af-9b30-42ab2c8b8587', 'pagos', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969'); +INSERT INTO public.eventos VALUES ('ff0b611e-152e-4511-9e55-286a0f2015ba', 'pago_anulado', 'cobro no acreditado', '2a96680e-2758-41b1-8256-8cc30c321ec3', '{"tipo": "cuota_mensual", "metodo_id": 1, "monto_total": 16000.00, "tipo_cuota_id": "fa7f0303-074f-4475-a4d7-91d34241a7cd", "anio_mes_pagado": "2026-05-01"}', NULL, '2026-06-06 20:47:11.219594+00', '91787c2a-49be-4587-b201-29088ec2d894', 'pagos', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969'); +INSERT INTO public.eventos VALUES ('49da25b7-f2bd-44b0-983f-d901ebe5fdaa', 'pago_anulado', 'error de monto', 'e32ff96e-c9f3-45eb-870a-75b5838d40dc', '{"tipo": "cuota_mensual", "metodo_id": 1, "monto_total": 14000.00, "tipo_cuota_id": "d6af381b-5e27-428c-ba6d-4eea7be68ce6", "anio_mes_pagado": "2026-05-01"}', NULL, '2026-06-06 20:47:11.219594+00', 'b8e01ff9-7076-479d-989f-74021bc94ab4', 'pagos', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969'); +INSERT INTO public.eventos VALUES ('8049c879-f334-41c1-a841-fbc0fce53bba', 'pago_anulado', 'cliente equivocado', 'ec361792-5d1e-4168-aa3d-8ba3e6efa501', '{"tipo": "cuota_mensual", "metodo_id": 3, "monto_total": 25000.00, "tipo_cuota_id": "8ee18d4d-272a-4e09-a5d3-431fa5cd0f49", "anio_mes_pagado": "2025-12-01"}', NULL, '2026-06-06 20:47:11.219594+00', '59fd92b8-c62f-4387-825e-2f7f9a769ffb', 'pagos', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969'); +INSERT INTO public.eventos VALUES ('802c7f92-dbfe-4f1f-abe2-70580b25a8bf', 'pago_anulado', 'cobro no acreditado', '353e81dd-a5b7-458e-98e6-377b20bf27ef', '{"tipo": "cuota_mensual", "metodo_id": 3, "monto_total": 16000.00, "tipo_cuota_id": "fa7f0303-074f-4475-a4d7-91d34241a7cd", "anio_mes_pagado": "2025-10-01"}', NULL, '2026-06-06 20:47:11.219594+00', 'cddc2a67-3aea-4776-a0c2-cb23e8c10c97', 'pagos', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969'); +INSERT INTO public.eventos VALUES ('4a16fe11-34e4-4c86-95cd-2dbe93de5e2a', 'pago_anulado', 'cobro no acreditado', '201855bb-c895-4b7f-990a-7fcda83c863a', '{"tipo": "cuota_mensual", "metodo_id": 3, "monto_total": 28000.00, "tipo_cuota_id": "8e591416-2e72-4a51-ae74-1b454cdaa2f9", "anio_mes_pagado": "2026-03-01"}', NULL, '2026-06-06 20:47:11.219594+00', '1eb4e98e-17f7-4e45-92e2-2cf9eaf1b80b', 'pagos', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969'); +INSERT INTO public.eventos VALUES ('f0411809-ba11-49a4-9c83-a952c218af3c', 'pago_editado', NULL, '201855bb-c895-4b7f-990a-7fcda83c863a', '{"monto_total": 32000.00}', '{"monto_total": 32500.00}', '2026-06-06 20:47:11.219594+00', '11b5e7fc-8a75-42c7-a453-3a54f3692cdc', 'pagos', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969'); +INSERT INTO public.eventos VALUES ('6137b118-9456-4e14-b8d9-26195c34232a', 'pago_anulado', 'cobro no acreditado', '24ae546a-5831-4ba7-bc67-7b3394f10fe3', '{"tipo": "cuota_mensual", "metodo_id": 1, "monto_total": 18000.00, "tipo_cuota_id": "a7363f10-00ab-48ea-9437-dd408226b3df", "anio_mes_pagado": "2026-02-01"}', NULL, '2026-06-06 20:47:11.219594+00', 'f8910cba-be2c-4581-8cbb-22b6009437b4', 'pagos', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969'); +INSERT INTO public.eventos VALUES ('4d229bd5-ac46-4430-9f5c-3eec32649fc6', 'pago_anulado', 'cobro no acreditado', '5515eddc-132d-4d91-ba8f-53aa4c32c3c2', '{"tipo": "cuota_mensual", "metodo_id": 2, "monto_total": 22000.00, "tipo_cuota_id": "8ee18d4d-272a-4e09-a5d3-431fa5cd0f49", "anio_mes_pagado": "2026-05-01"}', NULL, '2026-06-06 20:47:11.219594+00', 'f090e8ca-10e6-471d-99d5-c65fea16a63a', 'pagos', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969'); +INSERT INTO public.eventos VALUES ('5b47db73-faad-4b7c-b680-b3584856f5b5', 'pago_editado', NULL, '5515eddc-132d-4d91-ba8f-53aa4c32c3c2', '{"monto_total": 22000.00}', '{"monto_total": 22500.00}', '2026-06-06 20:47:11.219594+00', '2fc24101-e196-465f-a853-be759e0b3ded', 'pagos', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969'); +INSERT INTO public.eventos VALUES ('b27a9904-4117-48d6-bd7b-0f26bc064c5b', 'pago_anulado', 'cliente equivocado', '595fa41c-3177-4913-8646-ce53e95564bf', '{"tipo": "cuota_mensual", "metodo_id": 1, "monto_total": 28000.00, "tipo_cuota_id": "8e591416-2e72-4a51-ae74-1b454cdaa2f9", "anio_mes_pagado": "2025-11-01"}', NULL, '2026-06-06 20:47:11.219594+00', '33716790-2029-41ec-bf65-5a416c2e6c09', 'pagos', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969'); +INSERT INTO public.eventos VALUES ('b1a60294-b3f6-4c5d-a586-1bd6661a38e1', 'pago_editado', NULL, 'a44af168-1feb-4b0b-9a3c-f61c0f267854', '{"monto_total": 16000.00}', '{"monto_total": 16500.00}', '2026-06-06 20:47:11.219594+00', '38812b95-f973-4a8b-b51c-098d3adb8199', 'pagos', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969'); +INSERT INTO public.eventos VALUES ('f4558051-3717-43af-a01f-212021ba08b7', 'pago_editado', NULL, 'a44af168-1feb-4b0b-9a3c-f61c0f267854', '{"monto_total": 16000.00}', '{"monto_total": 16500.00}', '2026-06-06 20:47:11.219594+00', '833e96a4-a42c-421c-9cd4-f6790e304867', 'pagos', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969'); +INSERT INTO public.eventos VALUES ('f5503667-2ac2-469b-b666-e0cf99ec5287', 'pago_anulado', 'error de monto', 'ed3e9661-ebb8-42be-8dea-9252ca882723', '{"tipo": "cuota_mensual", "metodo_id": 1, "monto_total": 28000.00, "tipo_cuota_id": "8e591416-2e72-4a51-ae74-1b454cdaa2f9", "anio_mes_pagado": "2025-11-01"}', NULL, '2026-06-06 20:47:11.219594+00', '21998c8c-e088-447b-81c7-feb14cec40a2', 'pagos', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969'); +INSERT INTO public.eventos VALUES ('f93dcc68-19b4-41d1-a1f5-ee1307433281', 'pago_anulado', 'cobro no acreditado', 'c4f83b12-0b88-4ec8-a5db-0a3deacb4d29', '{"tipo": "cuota_mensual", "metodo_id": 2, "monto_total": 16000.00, "tipo_cuota_id": "fa7f0303-074f-4475-a4d7-91d34241a7cd", "anio_mes_pagado": "2025-12-01"}', NULL, '2026-06-06 20:47:11.219594+00', '2462190e-676b-4005-8f63-a5f9ccdc935a', 'pagos', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969'); +INSERT INTO public.eventos VALUES ('7f103828-50eb-4a55-915b-4944c012db57', 'pago_editado', NULL, '9b042ac0-1f6b-4abb-a096-f2b0910930b4', '{"monto_total": 18000.00}', '{"monto_total": 18500.00}', '2026-06-06 20:47:11.219594+00', '0745f39e-14bc-4527-bdee-c5b824ffdb96', 'pagos', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969'); +INSERT INTO public.eventos VALUES ('1df8481c-119f-40f0-af93-05e9522e8868', 'pago_anulado', 'cliente equivocado', 'b8167be1-1133-4372-9daa-a3cd6ecc7df2', '{"tipo": "cuota_mensual", "metodo_id": 2, "monto_total": 18000.00, "tipo_cuota_id": "a7363f10-00ab-48ea-9437-dd408226b3df", "anio_mes_pagado": "2026-04-01"}', NULL, '2026-06-06 20:47:11.219594+00', 'cddf6a9c-2a19-4a86-acac-53a8accd2dca', 'pagos', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969'); +INSERT INTO public.eventos VALUES ('ca66f562-87d4-442a-9a7d-c729186a333c', 'pago_anulado', 'error de monto', '2fcbd6c7-85a2-4abd-bbe0-fa87593862e8', '{"tipo": "cuota_mensual", "metodo_id": 2, "monto_total": 22000.00, "tipo_cuota_id": "8ee18d4d-272a-4e09-a5d3-431fa5cd0f49", "anio_mes_pagado": "2026-05-01"}', NULL, '2026-06-06 20:47:11.219594+00', '4cbe5346-eb13-431e-b4d3-ec9878400e71', 'pagos', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969'); +INSERT INTO public.eventos VALUES ('789872ce-da4c-48a0-9ad9-04e038d6263f', 'pago_editado', NULL, '9867ca58-96e8-4a91-8c2f-b6ecdc0837c9', '{"monto_total": 28000.00}', '{"monto_total": 28500.00}', '2026-06-06 20:47:11.219594+00', '01e71a0f-7509-4a72-9898-922e709da717', 'pagos', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969'); +INSERT INTO public.eventos VALUES ('adce725f-12c3-4f8e-bbed-e56b9044ff90', 'pago_editado', NULL, '198176d2-7923-46dc-b3b7-c95ccf091117', '{"monto_total": 16000.00}', '{"monto_total": 16500.00}', '2026-06-06 20:47:11.219594+00', 'd7d334fc-ba74-4724-b0e8-4fb821641c02', 'pagos', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969'); +INSERT INTO public.eventos VALUES ('e35cd72f-b32c-4c66-8a7d-30b3f77cedc5', 'pago_editado', NULL, 'cefbed7b-30b7-4bb1-8445-030a532e00d7', '{"monto_total": 18000.00}', '{"monto_total": 18500.00}', '2026-06-06 20:47:11.219594+00', 'f055ae85-df89-483a-94f7-1cac7ac1f266', 'pagos', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969'); +INSERT INTO public.eventos VALUES ('22031393-c613-475b-bdbd-ee73372f259f', 'pago_editado', NULL, '3020f110-325c-4f6a-afc8-790ffbc3fbe9', '{"monto_total": 18000.00}', '{"monto_total": 18500.00}', '2026-06-06 20:47:11.219594+00', '7ecf091f-efbe-4b00-b400-8f6020996920', 'pagos', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969'); +INSERT INTO public.eventos VALUES ('626dd1e4-829e-44c2-b4a6-0c30d30a6aa4', 'pago_anulado', 'cliente equivocado', '3020f110-325c-4f6a-afc8-790ffbc3fbe9', '{"tipo": "cuota_mensual", "metodo_id": 1, "monto_total": 18000.00, "tipo_cuota_id": "a7363f10-00ab-48ea-9437-dd408226b3df", "anio_mes_pagado": "2025-11-01"}', NULL, '2026-06-06 20:47:11.219594+00', 'b5539190-4e0a-4195-ac1f-56721cd04ca8', 'pagos', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969'); +INSERT INTO public.eventos VALUES ('0d3b3df2-f9a5-427e-8550-3b5d143fca55', 'pago_editado', NULL, '5063176b-e3b3-4cf8-8fbe-7f6525ba32d5', '{"monto_total": 28000.00}', '{"monto_total": 28500.00}', '2026-06-06 20:47:11.219594+00', '790a76ef-cfba-47ef-81c0-f2ce237d3331', 'pagos', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969'); +INSERT INTO public.eventos VALUES ('07b1f4d3-80ce-4f72-b6ba-fcf916e85add', 'pago_editado', NULL, 'ec574029-e9f2-45bd-a032-fc7a49ef04e4', '{"monto_total": 16000.00}', '{"monto_total": 16500.00}', '2026-06-06 20:47:11.219594+00', '9264ab35-c382-46f4-8f86-417da43a6497', 'pagos', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969'); +INSERT INTO public.eventos VALUES ('0efa2b85-5499-456f-8c17-c1abf4991a23', 'pago_anulado', 'cobro no acreditado', '324a98da-78aa-4ffa-b0eb-029e85f85d76', '{"tipo": "cuota_mensual", "metodo_id": 3, "monto_total": 18000.00, "tipo_cuota_id": "a7363f10-00ab-48ea-9437-dd408226b3df", "anio_mes_pagado": "2026-01-01"}', NULL, '2026-06-06 20:47:11.219594+00', '437e9877-bedd-4475-8e39-b46476e15bb8', 'pagos', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969'); +INSERT INTO public.eventos VALUES ('b78d95a7-7038-401f-a208-026f6e362450', 'pago_editado', NULL, 'f681a3ce-fd9f-41be-aa2e-e4da6c0c042c', '{"monto_total": 25000.00}', '{"monto_total": 25500.00}', '2026-06-06 20:47:11.219594+00', '48108375-e66f-46f1-9fa9-90ebd6f04362', 'pagos', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969'); +INSERT INTO public.eventos VALUES ('310d1135-2c66-4cae-91a1-a459a94a3b40', 'pago_anulado', 'error de monto', 'e3134bf8-19ad-4420-a837-de4cf2c34103', '{"tipo": "cuota_mensual", "metodo_id": 1, "monto_total": 28000.00, "tipo_cuota_id": "8e591416-2e72-4a51-ae74-1b454cdaa2f9", "anio_mes_pagado": "2026-01-01"}', NULL, '2026-06-06 20:47:11.219594+00', 'ca328eaf-6cba-46c8-a0ff-dde8f573ae1e', 'pagos', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969'); +INSERT INTO public.eventos VALUES ('2a3949fd-ef50-4448-9867-11df1d1e167c', 'pago_editado', NULL, 'e3134bf8-19ad-4420-a837-de4cf2c34103', '{"monto_total": 32000.00}', '{"monto_total": 32500.00}', '2026-06-06 20:47:11.219594+00', 'c480639c-56f7-41bb-9857-da6362fffb06', 'pagos', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969'); +INSERT INTO public.eventos VALUES ('3ecce436-d6fa-43ca-b618-bbca09285c67', 'pago_editado', NULL, 'f1aab3ea-1cbc-4546-86e7-892973edc917', '{"monto_total": 22000.00}', '{"monto_total": 22500.00}', '2026-06-06 20:47:11.219594+00', '730176c2-aebc-4f85-bf3f-e0bc05dea992', 'pagos', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969'); +INSERT INTO public.eventos VALUES ('9933b80d-d79e-470a-a5ae-b8994cb36052', 'pago_editado', NULL, 'f1aab3ea-1cbc-4546-86e7-892973edc917', '{"monto_total": 25000.00}', '{"monto_total": 25500.00}', '2026-06-06 20:47:11.219594+00', '5a9b201b-ad84-4ddd-b3c1-d428a0bb6857', 'pagos', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969'); +INSERT INTO public.eventos VALUES ('db3728f4-8491-4469-b65c-f6ee8ff75c5b', 'pago_anulado', 'error de monto', 'f1aab3ea-1cbc-4546-86e7-892973edc917', '{"tipo": "cuota_mensual", "metodo_id": 2, "monto_total": 22000.00, "tipo_cuota_id": "8ee18d4d-272a-4e09-a5d3-431fa5cd0f49", "anio_mes_pagado": "2025-10-01"}', NULL, '2026-06-06 20:47:11.219594+00', 'e65fed06-70d6-4dea-9e03-4e0f4cd25551', 'pagos', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969'); +INSERT INTO public.eventos VALUES ('9a1ed058-6544-4cce-887c-3a29eda0d336', 'pago_editado', NULL, '7644fc92-cfa0-4bd1-90cf-6b7d01081774', '{"monto_total": 28000.00}', '{"monto_total": 28500.00}', '2026-06-06 20:47:11.219594+00', 'b395174f-3d90-475b-bcff-d3eeb1bdabe0', 'pagos', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969'); +INSERT INTO public.eventos VALUES ('1cf34f22-1914-4ce9-ac44-597e7b58af08', 'pago_anulado', 'cliente equivocado', '7644fc92-cfa0-4bd1-90cf-6b7d01081774', '{"tipo": "cuota_mensual", "metodo_id": 2, "monto_total": 28000.00, "tipo_cuota_id": "8e591416-2e72-4a51-ae74-1b454cdaa2f9", "anio_mes_pagado": "2025-10-01"}', NULL, '2026-06-06 20:47:11.219594+00', 'ae1f7926-90e9-41e4-86e1-ea494026880f', 'pagos', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969'); +INSERT INTO public.eventos VALUES ('c45e092a-6e8a-4732-8f9d-e699248fd86f', 'pago_anulado', 'cobro no acreditado', '6daa72d9-192c-4c98-8b76-74ee6416ff2b', '{"tipo": "cuota_mensual", "metodo_id": 1, "monto_total": 16000.00, "tipo_cuota_id": "fa7f0303-074f-4475-a4d7-91d34241a7cd", "anio_mes_pagado": "2026-04-01"}', NULL, '2026-06-06 20:47:11.219594+00', '9c46bf8b-ed68-43a8-b4db-250bd7c0387f', 'pagos', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969'); +INSERT INTO public.eventos VALUES ('9f399180-123d-4aeb-994e-9725602d0518', 'pago_editado', NULL, '25f8aad9-58f1-4b8f-bd5b-cae7edd4f269', '{"monto_total": 18000.00}', '{"monto_total": 18500.00}', '2026-06-06 20:47:11.219594+00', '73b9defe-6270-489e-b36c-8f5ab127d52b', 'pagos', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969'); +INSERT INTO public.eventos VALUES ('6472cc11-d164-4807-8b7a-fa973481f9ea', 'pago_anulado', 'cobro no acreditado', '25f8aad9-58f1-4b8f-bd5b-cae7edd4f269', '{"tipo": "cuota_mensual", "metodo_id": 3, "monto_total": 18000.00, "tipo_cuota_id": "a7363f10-00ab-48ea-9437-dd408226b3df", "anio_mes_pagado": "2025-10-01"}', NULL, '2026-06-06 20:47:11.219594+00', '150cd7b3-74ea-47b3-9afb-d6865da9ac54', 'pagos', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969'); +INSERT INTO public.eventos VALUES ('61cc1381-32c3-492f-ab7a-e95f662fa27b', 'pago_anulado', 'cobro no acreditado', '19c48d9d-936f-4321-a4bc-b1cb3d4b9960', '{"tipo": "cuota_mensual", "metodo_id": 1, "monto_total": 28000.00, "tipo_cuota_id": "8e591416-2e72-4a51-ae74-1b454cdaa2f9", "anio_mes_pagado": "2025-11-01"}', NULL, '2026-06-06 20:47:11.219594+00', '22e33315-1d03-4218-9cd7-72a91ad206fd', 'pagos', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969'); +INSERT INTO public.eventos VALUES ('c8e98747-adbe-4ddf-b844-481002020264', 'pago_anulado', 'cliente equivocado', '3b14568a-7b64-4cad-8cde-25ad30b27746', '{"tipo": "cuota_mensual", "metodo_id": 3, "monto_total": 16000.00, "tipo_cuota_id": "fa7f0303-074f-4475-a4d7-91d34241a7cd", "anio_mes_pagado": "2026-04-01"}', NULL, '2026-06-06 20:47:11.219594+00', '2608483b-d8af-44d6-a525-61baeaadd98a', 'pagos', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969'); +INSERT INTO public.eventos VALUES ('e1327cf1-d4b5-42bf-a93a-6fec50ce8a9b', 'pago_editado', NULL, '0994395d-dfe6-4897-842d-e39771d8eab9', '{"monto_total": 25000.00}', '{"monto_total": 25500.00}', '2026-06-06 20:47:11.219594+00', 'f0f91574-8811-41a0-a925-7ddd83a3e93a', 'pagos', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969'); +INSERT INTO public.eventos VALUES ('583ae1f8-156c-4f88-9b46-cf058eab0fa9', 'pago_anulado', 'error de monto', '0994395d-dfe6-4897-842d-e39771d8eab9', '{"tipo": "cuota_mensual", "metodo_id": 4, "monto_total": 22000.00, "tipo_cuota_id": "8ee18d4d-272a-4e09-a5d3-431fa5cd0f49", "anio_mes_pagado": "2025-11-01"}', NULL, '2026-06-06 20:47:11.219594+00', '7128f850-a330-4070-b769-989acbad6164', 'pagos', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969'); +INSERT INTO public.eventos VALUES ('3bdb303a-a735-4cb9-8c35-88683eb2227d', 'actividad_suspendida', NULL, NULL, '{"activo": true, "nombre": "Boxeo", "actividad_id": 5}', '{"activo": false, "nombre": "Boxeo", "actividad_id": 5}', '2026-06-06 20:48:20.873645+00', NULL, 'actividades', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969'); + + +-- +-- Data for Name: fotos_perfil; Type: TABLE DATA; Schema: public; Owner: - +-- + + + +-- +-- Data for Name: horario_actividad; Type: TABLE DATA; Schema: public; Owner: - +-- + +INSERT INTO public.horario_actividad OVERRIDING SYSTEM VALUE VALUES (1, 1, 1, '08:00:00', '09:00:00', '2026-04-07', NULL); +INSERT INTO public.horario_actividad OVERRIDING SYSTEM VALUE VALUES (2, 1, 1, '18:00:00', '19:00:00', '2026-04-07', NULL); +INSERT INTO public.horario_actividad OVERRIDING SYSTEM VALUE VALUES (3, 1, 1, '19:00:00', '20:00:00', '2026-04-07', NULL); +INSERT INTO public.horario_actividad OVERRIDING SYSTEM VALUE VALUES (4, 2, 1, '09:00:00', '10:00:00', '2026-04-07', NULL); +INSERT INTO public.horario_actividad OVERRIDING SYSTEM VALUE VALUES (5, 2, 1, '19:00:00', '20:00:00', '2026-04-07', NULL); +INSERT INTO public.horario_actividad OVERRIDING SYSTEM VALUE VALUES (6, 2, 1, '20:00:00', '21:00:00', '2026-04-07', NULL); +INSERT INTO public.horario_actividad OVERRIDING SYSTEM VALUE VALUES (7, 3, 1, '07:00:00', '07:45:00', '2026-04-07', NULL); +INSERT INTO public.horario_actividad OVERRIDING SYSTEM VALUE VALUES (8, 3, 1, '18:30:00', '19:15:00', '2026-04-07', NULL); +INSERT INTO public.horario_actividad OVERRIDING SYSTEM VALUE VALUES (9, 3, 1, '19:30:00', '20:15:00', '2026-04-07', NULL); +INSERT INTO public.horario_actividad OVERRIDING SYSTEM VALUE VALUES (10, 4, 1, '10:00:00', '11:00:00', '2026-04-07', NULL); +INSERT INTO public.horario_actividad OVERRIDING SYSTEM VALUE VALUES (11, 4, 1, '17:00:00', '18:00:00', '2026-04-07', NULL); +INSERT INTO public.horario_actividad OVERRIDING SYSTEM VALUE VALUES (14, 6, 1, '09:00:00', '09:55:00', '2026-04-07', NULL); +INSERT INTO public.horario_actividad OVERRIDING SYSTEM VALUE VALUES (15, 6, 1, '16:00:00', '16:55:00', '2026-04-07', NULL); +INSERT INTO public.horario_actividad OVERRIDING SYSTEM VALUE VALUES (16, 1, 2, '08:00:00', '09:00:00', '2026-04-07', NULL); +INSERT INTO public.horario_actividad OVERRIDING SYSTEM VALUE VALUES (17, 1, 2, '18:00:00', '19:00:00', '2026-04-07', NULL); +INSERT INTO public.horario_actividad OVERRIDING SYSTEM VALUE VALUES (18, 1, 2, '19:00:00', '20:00:00', '2026-04-07', NULL); +INSERT INTO public.horario_actividad OVERRIDING SYSTEM VALUE VALUES (19, 2, 2, '09:00:00', '10:00:00', '2026-04-07', NULL); +INSERT INTO public.horario_actividad OVERRIDING SYSTEM VALUE VALUES (20, 2, 2, '19:00:00', '20:00:00', '2026-04-07', NULL); +INSERT INTO public.horario_actividad OVERRIDING SYSTEM VALUE VALUES (21, 2, 2, '20:00:00', '21:00:00', '2026-04-07', NULL); +INSERT INTO public.horario_actividad OVERRIDING SYSTEM VALUE VALUES (22, 3, 2, '07:00:00', '07:45:00', '2026-04-07', NULL); +INSERT INTO public.horario_actividad OVERRIDING SYSTEM VALUE VALUES (23, 3, 2, '18:30:00', '19:15:00', '2026-04-07', NULL); +INSERT INTO public.horario_actividad OVERRIDING SYSTEM VALUE VALUES (24, 3, 2, '19:30:00', '20:15:00', '2026-04-07', NULL); +INSERT INTO public.horario_actividad OVERRIDING SYSTEM VALUE VALUES (25, 4, 2, '10:00:00', '11:00:00', '2026-04-07', NULL); +INSERT INTO public.horario_actividad OVERRIDING SYSTEM VALUE VALUES (26, 4, 2, '17:00:00', '18:00:00', '2026-04-07', NULL); +INSERT INTO public.horario_actividad OVERRIDING SYSTEM VALUE VALUES (29, 6, 2, '09:00:00', '09:55:00', '2026-04-07', NULL); +INSERT INTO public.horario_actividad OVERRIDING SYSTEM VALUE VALUES (30, 6, 2, '16:00:00', '16:55:00', '2026-04-07', NULL); +INSERT INTO public.horario_actividad OVERRIDING SYSTEM VALUE VALUES (31, 1, 3, '08:00:00', '09:00:00', '2026-04-07', NULL); +INSERT INTO public.horario_actividad OVERRIDING SYSTEM VALUE VALUES (32, 1, 3, '18:00:00', '19:00:00', '2026-04-07', NULL); +INSERT INTO public.horario_actividad OVERRIDING SYSTEM VALUE VALUES (33, 1, 3, '19:00:00', '20:00:00', '2026-04-07', NULL); +INSERT INTO public.horario_actividad OVERRIDING SYSTEM VALUE VALUES (34, 2, 3, '09:00:00', '10:00:00', '2026-04-07', NULL); +INSERT INTO public.horario_actividad OVERRIDING SYSTEM VALUE VALUES (35, 2, 3, '19:00:00', '20:00:00', '2026-04-07', NULL); +INSERT INTO public.horario_actividad OVERRIDING SYSTEM VALUE VALUES (36, 2, 3, '20:00:00', '21:00:00', '2026-04-07', NULL); +INSERT INTO public.horario_actividad OVERRIDING SYSTEM VALUE VALUES (37, 3, 3, '07:00:00', '07:45:00', '2026-04-07', NULL); +INSERT INTO public.horario_actividad OVERRIDING SYSTEM VALUE VALUES (38, 3, 3, '18:30:00', '19:15:00', '2026-04-07', NULL); +INSERT INTO public.horario_actividad OVERRIDING SYSTEM VALUE VALUES (39, 3, 3, '19:30:00', '20:15:00', '2026-04-07', NULL); +INSERT INTO public.horario_actividad OVERRIDING SYSTEM VALUE VALUES (40, 4, 3, '10:00:00', '11:00:00', '2026-04-07', NULL); +INSERT INTO public.horario_actividad OVERRIDING SYSTEM VALUE VALUES (41, 4, 3, '17:00:00', '18:00:00', '2026-04-07', NULL); +INSERT INTO public.horario_actividad OVERRIDING SYSTEM VALUE VALUES (44, 6, 3, '09:00:00', '09:55:00', '2026-04-07', NULL); +INSERT INTO public.horario_actividad OVERRIDING SYSTEM VALUE VALUES (45, 6, 3, '16:00:00', '16:55:00', '2026-04-07', NULL); +INSERT INTO public.horario_actividad OVERRIDING SYSTEM VALUE VALUES (46, 1, 4, '08:00:00', '09:00:00', '2026-04-07', NULL); +INSERT INTO public.horario_actividad OVERRIDING SYSTEM VALUE VALUES (47, 1, 4, '18:00:00', '19:00:00', '2026-04-07', NULL); +INSERT INTO public.horario_actividad OVERRIDING SYSTEM VALUE VALUES (48, 1, 4, '19:00:00', '20:00:00', '2026-04-07', NULL); +INSERT INTO public.horario_actividad OVERRIDING SYSTEM VALUE VALUES (49, 2, 4, '09:00:00', '10:00:00', '2026-04-07', NULL); +INSERT INTO public.horario_actividad OVERRIDING SYSTEM VALUE VALUES (50, 2, 4, '19:00:00', '20:00:00', '2026-04-07', NULL); +INSERT INTO public.horario_actividad OVERRIDING SYSTEM VALUE VALUES (51, 2, 4, '20:00:00', '21:00:00', '2026-04-07', NULL); +INSERT INTO public.horario_actividad OVERRIDING SYSTEM VALUE VALUES (52, 3, 4, '07:00:00', '07:45:00', '2026-04-07', NULL); +INSERT INTO public.horario_actividad OVERRIDING SYSTEM VALUE VALUES (53, 3, 4, '18:30:00', '19:15:00', '2026-04-07', NULL); +INSERT INTO public.horario_actividad OVERRIDING SYSTEM VALUE VALUES (54, 3, 4, '19:30:00', '20:15:00', '2026-04-07', NULL); +INSERT INTO public.horario_actividad OVERRIDING SYSTEM VALUE VALUES (55, 4, 4, '10:00:00', '11:00:00', '2026-04-07', NULL); +INSERT INTO public.horario_actividad OVERRIDING SYSTEM VALUE VALUES (56, 4, 4, '17:00:00', '18:00:00', '2026-04-07', NULL); +INSERT INTO public.horario_actividad OVERRIDING SYSTEM VALUE VALUES (59, 6, 4, '09:00:00', '09:55:00', '2026-04-07', NULL); +INSERT INTO public.horario_actividad OVERRIDING SYSTEM VALUE VALUES (60, 6, 4, '16:00:00', '16:55:00', '2026-04-07', NULL); +INSERT INTO public.horario_actividad OVERRIDING SYSTEM VALUE VALUES (61, 1, 5, '08:00:00', '09:00:00', '2026-04-07', NULL); +INSERT INTO public.horario_actividad OVERRIDING SYSTEM VALUE VALUES (62, 1, 5, '18:00:00', '19:00:00', '2026-04-07', NULL); +INSERT INTO public.horario_actividad OVERRIDING SYSTEM VALUE VALUES (63, 1, 5, '19:00:00', '20:00:00', '2026-04-07', NULL); +INSERT INTO public.horario_actividad OVERRIDING SYSTEM VALUE VALUES (64, 2, 5, '09:00:00', '10:00:00', '2026-04-07', NULL); +INSERT INTO public.horario_actividad OVERRIDING SYSTEM VALUE VALUES (65, 2, 5, '19:00:00', '20:00:00', '2026-04-07', NULL); +INSERT INTO public.horario_actividad OVERRIDING SYSTEM VALUE VALUES (66, 2, 5, '20:00:00', '21:00:00', '2026-04-07', NULL); +INSERT INTO public.horario_actividad OVERRIDING SYSTEM VALUE VALUES (67, 3, 5, '07:00:00', '07:45:00', '2026-04-07', NULL); +INSERT INTO public.horario_actividad OVERRIDING SYSTEM VALUE VALUES (68, 3, 5, '18:30:00', '19:15:00', '2026-04-07', NULL); +INSERT INTO public.horario_actividad OVERRIDING SYSTEM VALUE VALUES (69, 3, 5, '19:30:00', '20:15:00', '2026-04-07', NULL); +INSERT INTO public.horario_actividad OVERRIDING SYSTEM VALUE VALUES (70, 4, 5, '10:00:00', '11:00:00', '2026-04-07', NULL); +INSERT INTO public.horario_actividad OVERRIDING SYSTEM VALUE VALUES (71, 4, 5, '17:00:00', '18:00:00', '2026-04-07', NULL); +INSERT INTO public.horario_actividad OVERRIDING SYSTEM VALUE VALUES (74, 6, 5, '09:00:00', '09:55:00', '2026-04-07', NULL); +INSERT INTO public.horario_actividad OVERRIDING SYSTEM VALUE VALUES (75, 6, 5, '16:00:00', '16:55:00', '2026-04-07', NULL); +INSERT INTO public.horario_actividad OVERRIDING SYSTEM VALUE VALUES (76, 1, 6, '10:00:00', '11:00:00', '2026-04-07', NULL); +INSERT INTO public.horario_actividad OVERRIDING SYSTEM VALUE VALUES (77, 2, 6, '11:00:00', '12:00:00', '2026-04-07', NULL); +INSERT INTO public.horario_actividad OVERRIDING SYSTEM VALUE VALUES (78, 4, 6, '09:00:00', '10:00:00', '2026-04-07', NULL); +INSERT INTO public.horario_actividad OVERRIDING SYSTEM VALUE VALUES (12, 5, 1, '18:00:00', '19:00:00', '2026-04-07', '2026-06-05'); +INSERT INTO public.horario_actividad OVERRIDING SYSTEM VALUE VALUES (13, 5, 1, '20:00:00', '21:00:00', '2026-04-07', '2026-06-05'); +INSERT INTO public.horario_actividad OVERRIDING SYSTEM VALUE VALUES (27, 5, 2, '18:00:00', '19:00:00', '2026-04-07', '2026-06-05'); +INSERT INTO public.horario_actividad OVERRIDING SYSTEM VALUE VALUES (28, 5, 2, '20:00:00', '21:00:00', '2026-04-07', '2026-06-05'); +INSERT INTO public.horario_actividad OVERRIDING SYSTEM VALUE VALUES (42, 5, 3, '18:00:00', '19:00:00', '2026-04-07', '2026-06-05'); +INSERT INTO public.horario_actividad OVERRIDING SYSTEM VALUE VALUES (43, 5, 3, '20:00:00', '21:00:00', '2026-04-07', '2026-06-05'); +INSERT INTO public.horario_actividad OVERRIDING SYSTEM VALUE VALUES (57, 5, 4, '18:00:00', '19:00:00', '2026-04-07', '2026-06-05'); +INSERT INTO public.horario_actividad OVERRIDING SYSTEM VALUE VALUES (58, 5, 4, '20:00:00', '21:00:00', '2026-04-07', '2026-06-05'); +INSERT INTO public.horario_actividad OVERRIDING SYSTEM VALUE VALUES (72, 5, 5, '18:00:00', '19:00:00', '2026-04-07', '2026-06-05'); +INSERT INTO public.horario_actividad OVERRIDING SYSTEM VALUE VALUES (73, 5, 5, '20:00:00', '21:00:00', '2026-04-07', '2026-06-05'); + + +-- +-- Data for Name: horario_actividad_especial; Type: TABLE DATA; Schema: public; Owner: - +-- + + + +-- +-- Data for Name: metodos_pago; Type: TABLE DATA; Schema: public; Owner: - +-- + +INSERT INTO public.metodos_pago OVERRIDING SYSTEM VALUE VALUES (1, 'Efectivo', true, 'cash'); +INSERT INTO public.metodos_pago OVERRIDING SYSTEM VALUE VALUES (2, 'Transferencia', true, 'bank'); +INSERT INTO public.metodos_pago OVERRIDING SYSTEM VALUE VALUES (3, 'Mercado Pago', true, 'wallet'); +INSERT INTO public.metodos_pago OVERRIDING SYSTEM VALUE VALUES (4, 'Débito automático', true, 'card'); + + +-- +-- Data for Name: notificaciones; Type: TABLE DATA; Schema: public; Owner: - +-- + + + +-- +-- Data for Name: pagos; Type: TABLE DATA; Schema: public; Owner: - +-- + +INSERT INTO public.pagos VALUES ('dfc33ff4-9c42-4588-b418-2de1411c0863', 'ea6df46a-38dc-411d-b23b-89e652653ea4', '2026-04-01', '2026-04-08 03:00:00+00', 20500.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 2, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('40405b3f-8e7f-4bf0-b651-c1ab26047172', 'ea6df46a-38dc-411d-b23b-89e652653ea4', '2026-03-01', '2026-03-19 03:00:00+00', 18000.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 1, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('08aa5734-4a38-4d21-ab06-e306d49c2295', 'ea6df46a-38dc-411d-b23b-89e652653ea4', '2026-02-01', '2026-02-15 03:00:00+00', 18000.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 3, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('56365cf0-0da6-4352-b865-0b218a1bc517', 'ea6df46a-38dc-411d-b23b-89e652653ea4', '2026-01-01', '2026-01-12 03:00:00+00', 18000.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 2, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('8ea5fc72-5299-4e56-8b2f-bcef7805a8e2', 'ea6df46a-38dc-411d-b23b-89e652653ea4', '2025-12-01', '2025-12-08 03:00:00+00', 18000.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 1, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('bdc9f691-2c41-498e-b8a7-176ff3756eab', 'ea6df46a-38dc-411d-b23b-89e652653ea4', '2025-11-01', '2025-11-14 03:00:00+00', 18000.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 1, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', 'error de monto'); +INSERT INTO public.pagos VALUES ('5975240a-72c4-469e-9fe5-36f1358571bb', 'ea6df46a-38dc-411d-b23b-89e652653ea4', '2025-10-01', '2025-10-08 03:00:00+00', 20500.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 3, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('37914c1b-6ed2-47bc-a578-6f3ec7d25f89', '5fcc2c21-eb18-4151-a5ca-f0f17cc4c2e5', '2026-05-01', '2026-05-14 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 4, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('fd50c3a0-2fcc-43d3-b1b2-51dfadc2401a', '5fcc2c21-eb18-4151-a5ca-f0f17cc4c2e5', '2026-04-01', '2026-04-11 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 1, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('bd60812d-744c-4d79-afb0-6bbd8778c3ab', '5fcc2c21-eb18-4151-a5ca-f0f17cc4c2e5', '2026-03-01', '2026-03-15 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 1, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('5ad57481-1161-44f2-ab53-4e4c2706b4b8', '5fcc2c21-eb18-4151-a5ca-f0f17cc4c2e5', '2026-02-01', '2026-02-19 03:00:00+00', 25000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 2, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('af10a401-88de-4b7c-96ff-39cacd2a3874', '5fcc2c21-eb18-4151-a5ca-f0f17cc4c2e5', '2026-01-01', '2026-01-16 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 4, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('4d7ad949-7bda-4ffd-9288-3d6156ccb501', '5fcc2c21-eb18-4151-a5ca-f0f17cc4c2e5', '2025-12-01', '2025-12-11 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 4, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('6eaea17b-c2ad-4fb4-b5d4-48d17e6b7e9f', '5fcc2c21-eb18-4151-a5ca-f0f17cc4c2e5', '2025-11-01', '2025-11-16 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 3, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('5a1d6d38-0a2d-4a6b-ac25-2f608ffe3a79', '12f87197-a7b1-4f58-abe5-2129ac699b26', '2026-05-01', '2026-05-09 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 3, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('62dd5b68-c8b3-4da7-a94d-edf08716590c', '12f87197-a7b1-4f58-abe5-2129ac699b26', '2026-04-01', '2026-04-15 03:00:00+00', 32000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 2, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('04d51e83-9d0c-4320-a2a9-fb8a6ce0a1b9', '12f87197-a7b1-4f58-abe5-2129ac699b26', '2026-03-01', '2026-03-17 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 3, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('a9fa621c-2fdf-4bf3-b2d5-b68c761df8a3', '12f87197-a7b1-4f58-abe5-2129ac699b26', '2026-02-01', '2026-02-16 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 1, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('266fdb7d-3258-4d8d-b75e-72742b26a875', '12f87197-a7b1-4f58-abe5-2129ac699b26', '2026-01-01', '2026-01-06 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 2, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('40e5067a-2af8-4636-ae6e-82cba57d8f0a', '12f87197-a7b1-4f58-abe5-2129ac699b26', '2025-12-01', '2025-12-15 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 4, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('dc7b85df-fd97-4279-88e3-097183567956', '7133cbbf-0fb0-453a-9802-0ca72e742efd', '2026-05-01', '2026-05-13 03:00:00+00', 16000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 3, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('a41dfd3e-b84f-49fa-b8c9-df8992b229e6', '7133cbbf-0fb0-453a-9802-0ca72e742efd', '2026-04-01', '2026-04-17 03:00:00+00', 16000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 3, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('c74cbeaf-dca9-4033-b484-fa72ac601cde', '7133cbbf-0fb0-453a-9802-0ca72e742efd', '2026-03-01', '2026-03-14 03:00:00+00', 16000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 3, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('52485fb9-82f2-4eb3-9148-3bfb07c87c14', '7133cbbf-0fb0-453a-9802-0ca72e742efd', '2026-02-01', '2026-02-05 03:00:00+00', 16000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 2, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('eda5b6f9-0c2c-43fd-84f5-5a786824dd10', '7133cbbf-0fb0-453a-9802-0ca72e742efd', '2026-01-01', '2026-01-13 03:00:00+00', 16000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 1, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('46dc5645-7d09-445b-a0a9-9fbf9bfb9600', '7133cbbf-0fb0-453a-9802-0ca72e742efd', '2025-12-01', '2025-12-08 03:00:00+00', 16000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 4, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('f5f723d9-441a-4e79-939d-2e25499f0da9', '7133cbbf-0fb0-453a-9802-0ca72e742efd', '2025-10-01', '2025-10-17 03:00:00+00', 16000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 2, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('c798f211-66d5-4d31-86e4-42c04204077b', 'b54e9586-a744-4b75-a0f2-2d25b0276b16', '2026-05-01', '2026-05-10 03:00:00+00', 14000.00, '{"cuota_nombre": "2 días", "cuota_precio": 14000.00, "cuota_dias_semana": 2}', 1, 'd6af381b-5e27-428c-ba6d-4eea7be68ce6', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('ab6f59b9-8f65-43a3-9415-fb4404f28077', 'b54e9586-a744-4b75-a0f2-2d25b0276b16', '2026-04-01', '2026-04-11 03:00:00+00', 14000.00, '{"cuota_nombre": "2 días", "cuota_precio": 14000.00, "cuota_dias_semana": 2}', 4, 'd6af381b-5e27-428c-ba6d-4eea7be68ce6', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('c0adfb7f-aa3d-44b1-80b6-69357870a63a', 'b54e9586-a744-4b75-a0f2-2d25b0276b16', '2026-03-01', '2026-03-19 03:00:00+00', 14000.00, '{"cuota_nombre": "2 días", "cuota_precio": 14000.00, "cuota_dias_semana": 2}', 4, 'd6af381b-5e27-428c-ba6d-4eea7be68ce6', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('ef96847d-751e-4cbf-82b4-04a60bb89253', 'b54e9586-a744-4b75-a0f2-2d25b0276b16', '2026-02-01', '2026-02-16 03:00:00+00', 16000.00, '{"cuota_nombre": "2 días", "cuota_precio": 14000.00, "cuota_dias_semana": 2}', 3, 'd6af381b-5e27-428c-ba6d-4eea7be68ce6', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('3bc4fa03-4aa4-4511-8431-88b37500925c', 'b54e9586-a744-4b75-a0f2-2d25b0276b16', '2026-01-01', '2026-01-15 03:00:00+00', 14000.00, '{"cuota_nombre": "2 días", "cuota_precio": 14000.00, "cuota_dias_semana": 2}', 2, 'd6af381b-5e27-428c-ba6d-4eea7be68ce6', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('85400c10-74dd-4abf-b3ad-46a0343544c6', 'b54e9586-a744-4b75-a0f2-2d25b0276b16', '2025-12-01', '2025-12-08 03:00:00+00', 14000.00, '{"cuota_nombre": "2 días", "cuota_precio": 14000.00, "cuota_dias_semana": 2}', 4, 'd6af381b-5e27-428c-ba6d-4eea7be68ce6', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('ab4c7f34-e918-4c88-a708-38c459e785e4', 'b54e9586-a744-4b75-a0f2-2d25b0276b16', '2025-11-01', '2025-11-12 03:00:00+00', 14000.00, '{"cuota_nombre": "2 días", "cuota_precio": 14000.00, "cuota_dias_semana": 2}', 1, 'd6af381b-5e27-428c-ba6d-4eea7be68ce6', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('51e0087b-0e97-4c11-a8d9-d34b06d7c941', 'd9950f1c-3117-4460-b466-5a134ab504d6', '2026-04-01', '2026-04-07 03:00:00+00', 20500.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 3, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('efdfcc75-1d83-4a37-bba7-1c757fffc9f1', 'd9950f1c-3117-4460-b466-5a134ab504d6', '2026-03-01', '2026-03-12 03:00:00+00', 20500.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 4, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('86f0123a-a10a-4eaf-ae8d-c34161ebe54d', 'd9950f1c-3117-4460-b466-5a134ab504d6', '2026-02-01', '2026-02-17 03:00:00+00', 18000.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 4, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('31717c4c-4420-4500-b80e-30baa14d6fec', 'd9950f1c-3117-4460-b466-5a134ab504d6', '2026-01-01', '2026-01-10 03:00:00+00', 18000.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 4, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('4470875e-75d8-4c9f-8ccd-164518e297d6', 'd9950f1c-3117-4460-b466-5a134ab504d6', '2025-11-01', '2025-11-14 03:00:00+00', 20500.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 2, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('05a0fa8d-114e-4b7e-8eb9-dce4620e487f', 'd9950f1c-3117-4460-b466-5a134ab504d6', '2025-10-01', '2025-10-05 03:00:00+00', 18500.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 3, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('cab4b627-123a-4669-b4df-289b6f78670d', 'a92d2c3d-7ae6-4d82-9155-2eaeee6269ee', '2026-05-01', '2026-05-13 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 1, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('4877b9ff-032e-43aa-8f90-e5b35c80d262', 'a92d2c3d-7ae6-4d82-9155-2eaeee6269ee', '2026-04-01', '2026-04-11 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 1, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('7579378a-9069-4004-9d33-795ee60ce825', 'a92d2c3d-7ae6-4d82-9155-2eaeee6269ee', '2026-02-01', '2026-02-10 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 1, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('8c31d523-ac7c-42ab-9f2c-a8c3283bc9d4', 'a92d2c3d-7ae6-4d82-9155-2eaeee6269ee', '2026-01-01', '2026-01-17 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 3, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('165ed482-d7e5-4458-b605-93a9964337fc', 'a92d2c3d-7ae6-4d82-9155-2eaeee6269ee', '2025-12-01', '2025-12-13 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 3, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('49ec7ca1-613a-49b0-aecb-dd3d58f122f4', 'a92d2c3d-7ae6-4d82-9155-2eaeee6269ee', '2025-11-01', '2025-11-11 03:00:00+00', 25000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 2, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('f58187e9-70e6-4300-ba2c-484d6e9ec231', 'a92d2c3d-7ae6-4d82-9155-2eaeee6269ee', '2025-10-01', '2025-10-12 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 4, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('7b5c59dd-e67a-41d1-aa2b-71e9758d7284', 'b0fd59a1-a705-4094-b1fc-b50ed2367235', '2026-05-01', '2026-05-10 03:00:00+00', 32000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 1, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('019ce45b-a9df-491c-a359-176249e042fc', 'b0fd59a1-a705-4094-b1fc-b50ed2367235', '2026-04-01', '2026-04-19 03:00:00+00', 32000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 1, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('ad2f06ff-c269-4e17-b4a0-6972788de25b', 'b0fd59a1-a705-4094-b1fc-b50ed2367235', '2026-03-01', '2026-03-13 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 1, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('3442818e-3884-473f-9f9e-c1f56b0a2dc8', 'b0fd59a1-a705-4094-b1fc-b50ed2367235', '2026-01-01', '2026-01-17 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 1, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('bbbea020-41a0-4881-8e6b-3e192eca1fd7', 'b0fd59a1-a705-4094-b1fc-b50ed2367235', '2025-12-01', '2025-12-20 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 1, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('178066c4-3758-4a00-a885-a52133b6195c', 'b0fd59a1-a705-4094-b1fc-b50ed2367235', '2025-11-01', '2025-11-14 03:00:00+00', 32000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 3, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('4bd9f2b3-7352-498a-bc65-5771cf9769ea', 'b0fd59a1-a705-4094-b1fc-b50ed2367235', '2025-10-01', '2025-10-20 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 1, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('aab51b96-8ae7-40a6-9856-f93581bd76fe', '43ee54cd-a953-4a73-88f7-5a018043ac10', '2026-05-01', '2026-05-10 03:00:00+00', 16000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 1, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('7423df5d-6426-4d13-bb38-96bd6e7689ab', '43ee54cd-a953-4a73-88f7-5a018043ac10', '2026-02-01', '2026-02-05 03:00:00+00', 16000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 4, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('efd9885f-7dd4-4d00-b019-e86e4057bfc8', '43ee54cd-a953-4a73-88f7-5a018043ac10', '2025-10-01', '2025-10-14 03:00:00+00', 16000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 4, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('17cc8711-235c-4390-b26a-58ace9176fba', 'bbb9d0ef-fb9a-4227-8a65-582a2cb2e20e', '2026-05-01', '2026-05-19 03:00:00+00', 18000.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 1, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('955a987a-cf66-45a6-8955-638e54db6b01', 'bbb9d0ef-fb9a-4227-8a65-582a2cb2e20e', '2026-04-01', '2026-04-05 03:00:00+00', 18000.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 4, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('082aa779-87af-4300-8628-da907f702527', 'bbb9d0ef-fb9a-4227-8a65-582a2cb2e20e', '2026-03-01', '2026-03-15 03:00:00+00', 20500.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 2, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('72770674-dcb4-4c73-9ae2-d319c7a4eb9f', 'bbb9d0ef-fb9a-4227-8a65-582a2cb2e20e', '2026-02-01', '2026-02-19 03:00:00+00', 20500.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 3, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('1c7f06da-6a88-4322-82d7-8f45b047a162', 'bbb9d0ef-fb9a-4227-8a65-582a2cb2e20e', '2026-01-01', '2026-01-13 03:00:00+00', 18000.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 4, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('8be64f87-25ac-4fa3-9cbb-3019d826d185', 'bbb9d0ef-fb9a-4227-8a65-582a2cb2e20e', '2025-12-01', '2025-12-05 03:00:00+00', 18000.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 1, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('acb21f35-2c18-47b9-811c-2fd8a20c994e', 'bbb9d0ef-fb9a-4227-8a65-582a2cb2e20e', '2025-11-01', '2025-11-17 03:00:00+00', 18000.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 3, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('7bf21dd9-1e40-4c2c-b5b7-cf7c24b44b03', 'd1d9471d-f484-4987-a55c-1910238310d1', '2026-05-01', '2026-05-19 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 1, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('e7380891-5a27-46bc-86cc-e8249d128eb1', 'd1d9471d-f484-4987-a55c-1910238310d1', '2026-03-01', '2026-03-19 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 2, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('145869a8-3ed6-4613-8808-e846a0af0339', 'd1d9471d-f484-4987-a55c-1910238310d1', '2026-01-01', '2026-01-13 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 2, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('60038e15-1915-4dc4-8b26-5e850e4dad89', 'd1d9471d-f484-4987-a55c-1910238310d1', '2025-12-01', '2025-12-09 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 4, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('bcc3bdeb-bab9-48b8-b786-ece39d62808f', 'd1d9471d-f484-4987-a55c-1910238310d1', '2025-11-01', '2025-11-18 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 2, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('7aa13e0a-68ec-4b60-ab8f-25542595d28b', 'b26616a7-c6fa-4ac1-86c2-6e5093d32591', '2026-04-01', '2026-04-20 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 1, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('4b846dda-4409-41ec-b89e-d37686be40b6', 'b26616a7-c6fa-4ac1-86c2-6e5093d32591', '2026-03-01', '2026-03-17 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 2, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('6c54fff0-fc6d-4fcd-a090-15a2e10d6afc', 'b26616a7-c6fa-4ac1-86c2-6e5093d32591', '2026-01-01', '2026-01-12 03:00:00+00', 32000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 4, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('3a77a695-a3c0-4a6a-a227-949955fe43a0', 'b26616a7-c6fa-4ac1-86c2-6e5093d32591', '2025-11-01', '2025-11-12 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 1, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('68183536-72a4-4972-ba8f-594f4be98d7c', 'b26616a7-c6fa-4ac1-86c2-6e5093d32591', '2025-10-01', '2025-10-18 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 4, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('c3c1b1c5-402e-44a2-97ba-70243ce6c72f', 'c9adee9b-a562-4503-b2de-44f8d0743a4f', '2026-05-01', '2026-05-16 03:00:00+00', 16000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 1, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('135f25eb-7d56-4a29-833a-631f7129df88', 'c9adee9b-a562-4503-b2de-44f8d0743a4f', '2026-04-01', '2026-04-06 03:00:00+00', 16000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 3, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('e6a10b2b-65de-484f-b8e8-752fb4b6da71', 'c9adee9b-a562-4503-b2de-44f8d0743a4f', '2025-11-01', '2025-11-17 03:00:00+00', 16000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 4, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('cbeec782-23f4-4291-afd8-a48535e5fdf9', 'c9adee9b-a562-4503-b2de-44f8d0743a4f', '2025-10-01', '2025-10-07 03:00:00+00', 16000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 1, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('0c9ba9f2-e2af-4535-b073-383e8d2681a9', '238e4169-968f-4c68-88d9-ca9ab7d0dfb5', '2026-05-01', '2026-05-17 03:00:00+00', 14000.00, '{"cuota_nombre": "2 días", "cuota_precio": 14000.00, "cuota_dias_semana": 2}', 1, 'd6af381b-5e27-428c-ba6d-4eea7be68ce6', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('b01b9727-4d70-4a10-9652-549c597e64cb', '238e4169-968f-4c68-88d9-ca9ab7d0dfb5', '2026-04-01', '2026-04-13 03:00:00+00', 16000.00, '{"cuota_nombre": "2 días", "cuota_precio": 14000.00, "cuota_dias_semana": 2}', 2, 'd6af381b-5e27-428c-ba6d-4eea7be68ce6', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('e55ed77b-4c2f-4d33-adbb-aca442e51b12', '238e4169-968f-4c68-88d9-ca9ab7d0dfb5', '2026-03-01', '2026-03-05 03:00:00+00', 16500.00, '{"cuota_nombre": "2 días", "cuota_precio": 14000.00, "cuota_dias_semana": 2}', 2, 'd6af381b-5e27-428c-ba6d-4eea7be68ce6', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('3f1367d1-0e61-4ce5-b674-473ba80ff1d7', '238e4169-968f-4c68-88d9-ca9ab7d0dfb5', '2026-01-01', '2026-01-05 03:00:00+00', 14000.00, '{"cuota_nombre": "2 días", "cuota_precio": 14000.00, "cuota_dias_semana": 2}', 3, 'd6af381b-5e27-428c-ba6d-4eea7be68ce6', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('aae056c2-c18d-4656-b32d-6a95dbfb606f', '238e4169-968f-4c68-88d9-ca9ab7d0dfb5', '2025-12-01', '2025-12-19 03:00:00+00', 14000.00, '{"cuota_nombre": "2 días", "cuota_precio": 14000.00, "cuota_dias_semana": 2}', 1, 'd6af381b-5e27-428c-ba6d-4eea7be68ce6', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('8b936004-c85e-407c-bb92-a2689bcfc01e', '238e4169-968f-4c68-88d9-ca9ab7d0dfb5', '2025-11-01', '2025-11-18 03:00:00+00', 14000.00, '{"cuota_nombre": "2 días", "cuota_precio": 14000.00, "cuota_dias_semana": 2}', 4, 'd6af381b-5e27-428c-ba6d-4eea7be68ce6', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('c12cbfab-056d-4f63-8392-0a6cece83d33', '238e4169-968f-4c68-88d9-ca9ab7d0dfb5', '2025-10-01', '2025-10-13 03:00:00+00', 14000.00, '{"cuota_nombre": "2 días", "cuota_precio": 14000.00, "cuota_dias_semana": 2}', 3, 'd6af381b-5e27-428c-ba6d-4eea7be68ce6', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('59921ddb-a396-4787-b8d5-68f8cc90b445', '0a1acb61-9e30-4291-9b73-fa92a65d616c', '2026-05-01', '2026-05-18 03:00:00+00', 18000.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 2, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('cb72813a-6856-43c7-85a9-bfe5df587f17', '0a1acb61-9e30-4291-9b73-fa92a65d616c', '2026-04-01', '2026-04-12 03:00:00+00', 18000.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 1, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', 'error de monto'); +INSERT INTO public.pagos VALUES ('aa15fe11-5e4e-46e6-818e-a58f06421182', '0a1acb61-9e30-4291-9b73-fa92a65d616c', '2026-03-01', '2026-03-09 03:00:00+00', 18000.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 4, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('769a96a6-cf50-413a-8ee6-e553a84043df', '0a1acb61-9e30-4291-9b73-fa92a65d616c', '2026-02-01', '2026-02-07 03:00:00+00', 18000.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 3, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('6d7970ee-dd22-40af-9b30-42ab2c8b8587', '0a1acb61-9e30-4291-9b73-fa92a65d616c', '2026-01-01', '2026-01-08 03:00:00+00', 18500.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 1, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('abab366e-a7bb-44aa-bfaf-ff3103b5f6d7', '0a1acb61-9e30-4291-9b73-fa92a65d616c', '2025-11-01', '2025-11-08 03:00:00+00', 18000.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 3, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('0edb88dd-1d0d-4c50-a92d-961bb23cc0e2', '0a1acb61-9e30-4291-9b73-fa92a65d616c', '2025-10-01', '2025-10-06 03:00:00+00', 18000.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 3, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('bf61d1bf-1b65-4324-bbb5-d6e2d418c548', 'e42d5ead-ad03-41f1-828f-8274dd014d9d', '2026-05-01', '2026-05-17 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 1, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('aa581468-c5e2-41ae-8a55-5f61b049ff63', 'e42d5ead-ad03-41f1-828f-8274dd014d9d', '2026-04-01', '2026-04-16 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 1, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('bb38da75-f502-4695-8780-333bf1821fc2', 'e42d5ead-ad03-41f1-828f-8274dd014d9d', '2026-03-01', '2026-03-19 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 2, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('69e8e733-d569-48dd-a617-a1aeee105be2', 'e42d5ead-ad03-41f1-828f-8274dd014d9d', '2026-01-01', '2026-01-05 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 4, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('46b9afe8-80dd-4c93-8d66-c30eb96be23b', 'e42d5ead-ad03-41f1-828f-8274dd014d9d', '2025-12-01', '2025-12-05 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 4, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('dda7d16f-fa29-4796-9ea5-4fb225cd6486', 'e42d5ead-ad03-41f1-828f-8274dd014d9d', '2025-11-01', '2025-11-09 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 1, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('cc9df442-aa9a-497f-a11c-4de32313eec1', '8b4c532d-a16b-420a-aa3b-3cce781aa5ae', '2026-05-01', '2026-05-10 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 3, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('e8770600-0ffb-4965-b9e8-7f6fa15c5875', '8b4c532d-a16b-420a-aa3b-3cce781aa5ae', '2026-04-01', '2026-04-18 03:00:00+00', 32000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 3, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('6d2d76a4-aefc-42ac-8e4a-d947ffe238e6', '8b4c532d-a16b-420a-aa3b-3cce781aa5ae', '2026-03-01', '2026-03-15 03:00:00+00', 32000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 4, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('676a4934-7cfd-4b7e-88f4-d870af50dae4', '8b4c532d-a16b-420a-aa3b-3cce781aa5ae', '2026-02-01', '2026-02-12 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 4, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('e9274aae-bbf1-4279-80ed-c45c5380d81d', '8b4c532d-a16b-420a-aa3b-3cce781aa5ae', '2026-01-01', '2026-01-10 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 1, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('7129f6ea-7a50-45ad-86c0-4f857ed4b682', '8b4c532d-a16b-420a-aa3b-3cce781aa5ae', '2025-12-01', '2025-12-20 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 1, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('d0c39926-94cc-48a0-99c2-476428f6832b', '8b4c532d-a16b-420a-aa3b-3cce781aa5ae', '2025-10-01', '2025-10-08 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 1, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('89233ab6-079e-46a0-934d-64ab1255e371', 'a7d7b0a7-e5a2-417c-81d5-62ca2e3d9c16', '2026-05-01', '2026-05-12 03:00:00+00', 16000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 2, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('93f6c5c2-f7a7-41a9-a809-aefa3c4ef603', 'a7d7b0a7-e5a2-417c-81d5-62ca2e3d9c16', '2026-03-01', '2026-03-10 03:00:00+00', 16000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 1, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('272f687e-0fc7-447e-87ea-b6fe328f94d1', 'a7d7b0a7-e5a2-417c-81d5-62ca2e3d9c16', '2026-02-01', '2026-02-15 03:00:00+00', 18000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 3, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('d720d05b-52a5-4846-a06b-2bf868a04fde', 'a7d7b0a7-e5a2-417c-81d5-62ca2e3d9c16', '2026-01-01', '2026-01-16 03:00:00+00', 18000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 1, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('1ded468c-e90f-4ed0-993f-5b3bfb3d60b5', 'a7d7b0a7-e5a2-417c-81d5-62ca2e3d9c16', '2025-11-01', '2025-11-20 03:00:00+00', 16000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 1, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('5af746f9-93ba-4c8b-bcab-4e17381bd49e', '0ffa071a-d599-4fe7-8840-2ad430ca5447', '2026-05-01', '2026-05-06 03:00:00+00', 18000.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 1, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('c2d71093-3fa8-415b-93dd-8a111ca00b25', '0ffa071a-d599-4fe7-8840-2ad430ca5447', '2026-02-01', '2026-02-05 03:00:00+00', 18000.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 3, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('989c195f-06bf-40d1-b683-bd36515c0306', '0ffa071a-d599-4fe7-8840-2ad430ca5447', '2026-01-01', '2026-01-06 03:00:00+00', 18000.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 1, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('3ab8ed35-1af2-475a-bff8-52c0640c8fb1', '0ffa071a-d599-4fe7-8840-2ad430ca5447', '2025-12-01', '2025-12-18 03:00:00+00', 18000.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 1, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('7cf2ad36-5ea3-40b5-9e5a-31535cb45ae3', '0ffa071a-d599-4fe7-8840-2ad430ca5447', '2025-11-01', '2025-11-08 03:00:00+00', 18000.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 2, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('f0783ccc-84f8-4a67-b0a5-9da4821604b6', '0ffa071a-d599-4fe7-8840-2ad430ca5447', '2025-10-01', '2025-10-05 03:00:00+00', 20500.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 3, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('a52e5996-a270-4199-903a-6c07e0604873', '72d62ab3-e1e6-4785-8089-25eb6c2a1a16', '2026-03-01', '2026-03-13 03:00:00+00', 25000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 3, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('a5d9fbfe-1968-4727-aa78-87aec84c5037', '72d62ab3-e1e6-4785-8089-25eb6c2a1a16', '2026-02-01', '2026-02-14 03:00:00+00', 25000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 1, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('5a8daa97-dcf6-46bd-82dc-ac33aada028e', '72d62ab3-e1e6-4785-8089-25eb6c2a1a16', '2026-01-01', '2026-01-20 03:00:00+00', 25000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 3, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('37adf0db-6107-45fa-ba13-92d334815198', '72d62ab3-e1e6-4785-8089-25eb6c2a1a16', '2025-12-01', '2025-12-08 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 4, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('4b884df3-efb2-4af6-9b71-c9beed430195', '72d62ab3-e1e6-4785-8089-25eb6c2a1a16', '2025-10-01', '2025-10-05 03:00:00+00', 25000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 2, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('7b7a6b06-3dd5-4ca1-a039-c7ad72a7f818', '9e7fc8d5-d4de-4c0d-a684-6d9f894911d3', '2026-05-01', '2026-05-19 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 1, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('86c24fea-81e7-4d8a-a640-c91135d95f8b', '9e7fc8d5-d4de-4c0d-a684-6d9f894911d3', '2026-04-01', '2026-04-11 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 4, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('a9b22bc5-74b0-4c06-94ba-ebdce012a590', '9e7fc8d5-d4de-4c0d-a684-6d9f894911d3', '2026-03-01', '2026-03-17 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 4, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('5a6dee6c-c92a-4422-9597-76f1955fd1e0', '9e7fc8d5-d4de-4c0d-a684-6d9f894911d3', '2026-01-01', '2026-01-20 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 4, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('5dcd5f79-4fa0-43bf-95b6-3780738cb555', '9e7fc8d5-d4de-4c0d-a684-6d9f894911d3', '2025-12-01', '2025-12-09 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 4, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('91787c2a-49be-4587-b201-29088ec2d894', '2a96680e-2758-41b1-8256-8cc30c321ec3', '2026-05-01', '2026-05-14 03:00:00+00', 16000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 1, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', 'cobro no acreditado'); +INSERT INTO public.pagos VALUES ('bbf12087-e7eb-4e0e-a06f-1f23a59e221b', '2a96680e-2758-41b1-8256-8cc30c321ec3', '2026-04-01', '2026-04-19 03:00:00+00', 16000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 1, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('6f33864c-a3ce-46d1-8515-15ab43022a55', '2a96680e-2758-41b1-8256-8cc30c321ec3', '2026-03-01', '2026-03-08 03:00:00+00', 16000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 2, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('03341e72-28b0-4867-8e14-a0134383926d', '2a96680e-2758-41b1-8256-8cc30c321ec3', '2026-02-01', '2026-02-17 03:00:00+00', 16000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 4, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('22318886-3651-4d55-9571-f725bf0e150e', '2a96680e-2758-41b1-8256-8cc30c321ec3', '2026-01-01', '2026-01-10 03:00:00+00', 16000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 3, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('bb958369-ce65-4bf7-b70e-b6d49fd8aeee', '2a96680e-2758-41b1-8256-8cc30c321ec3', '2025-12-01', '2025-12-11 03:00:00+00', 16000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 3, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('f062fa27-78c0-4a9e-9c9b-3e0fdb9dd267', '2a96680e-2758-41b1-8256-8cc30c321ec3', '2025-11-01', '2025-11-15 03:00:00+00', 16000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 2, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('b7b96029-3abf-4e05-b62e-3c50d5e8ca54', '2a96680e-2758-41b1-8256-8cc30c321ec3', '2025-10-01', '2025-10-05 03:00:00+00', 16000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 1, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('b8e01ff9-7076-479d-989f-74021bc94ab4', 'e32ff96e-c9f3-45eb-870a-75b5838d40dc', '2026-05-01', '2026-05-13 03:00:00+00', 14000.00, '{"cuota_nombre": "2 días", "cuota_precio": 14000.00, "cuota_dias_semana": 2}', 1, 'd6af381b-5e27-428c-ba6d-4eea7be68ce6', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', 'error de monto'); +INSERT INTO public.pagos VALUES ('34e59c90-a0fd-4c31-b3ac-20fed5a9257d', 'e32ff96e-c9f3-45eb-870a-75b5838d40dc', '2026-04-01', '2026-04-05 03:00:00+00', 14000.00, '{"cuota_nombre": "2 días", "cuota_precio": 14000.00, "cuota_dias_semana": 2}', 4, 'd6af381b-5e27-428c-ba6d-4eea7be68ce6', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('7a19ffd5-a2e3-41f4-b1f8-e8a185fb16dc', 'e32ff96e-c9f3-45eb-870a-75b5838d40dc', '2026-03-01', '2026-03-06 03:00:00+00', 14000.00, '{"cuota_nombre": "2 días", "cuota_precio": 14000.00, "cuota_dias_semana": 2}', 2, 'd6af381b-5e27-428c-ba6d-4eea7be68ce6', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('e9d48b9c-e09a-4129-afb4-133e44181604', 'e32ff96e-c9f3-45eb-870a-75b5838d40dc', '2026-02-01', '2026-02-05 03:00:00+00', 14000.00, '{"cuota_nombre": "2 días", "cuota_precio": 14000.00, "cuota_dias_semana": 2}', 3, 'd6af381b-5e27-428c-ba6d-4eea7be68ce6', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('5ae223ce-186d-450b-8edb-0d8f97ff978b', 'e32ff96e-c9f3-45eb-870a-75b5838d40dc', '2026-01-01', '2026-01-17 03:00:00+00', 14000.00, '{"cuota_nombre": "2 días", "cuota_precio": 14000.00, "cuota_dias_semana": 2}', 3, 'd6af381b-5e27-428c-ba6d-4eea7be68ce6', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('b6bf628d-91fe-4942-b53d-7aed738ebb13', 'e32ff96e-c9f3-45eb-870a-75b5838d40dc', '2025-12-01', '2025-12-05 03:00:00+00', 14000.00, '{"cuota_nombre": "2 días", "cuota_precio": 14000.00, "cuota_dias_semana": 2}', 3, 'd6af381b-5e27-428c-ba6d-4eea7be68ce6', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('e23cba48-612f-4316-b283-aba47b843f73', 'e32ff96e-c9f3-45eb-870a-75b5838d40dc', '2025-11-01', '2025-11-11 03:00:00+00', 14000.00, '{"cuota_nombre": "2 días", "cuota_precio": 14000.00, "cuota_dias_semana": 2}', 2, 'd6af381b-5e27-428c-ba6d-4eea7be68ce6', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('8f1a8055-e26c-4927-bb46-ee4a45351eb3', 'db195bd3-4078-4034-b92f-e2529211b92a', '2026-04-01', '2026-04-09 03:00:00+00', 18000.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 4, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('25bbc932-0fea-4daa-9a26-8548475e2bd8', 'db195bd3-4078-4034-b92f-e2529211b92a', '2026-03-01', '2026-03-06 03:00:00+00', 18000.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 1, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('55688e28-1406-4f01-9957-b36e38baee0d', 'db195bd3-4078-4034-b92f-e2529211b92a', '2025-11-01', '2025-11-14 03:00:00+00', 18000.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 2, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('a2c65d1e-9d39-4859-b262-2936058cc658', 'db195bd3-4078-4034-b92f-e2529211b92a', '2025-10-01', '2025-10-14 03:00:00+00', 20500.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 4, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('7c34c5c1-734d-47a9-bc0b-620c15970aae', 'ec361792-5d1e-4168-aa3d-8ba3e6efa501', '2026-05-01', '2026-05-09 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 1, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('3112f4d1-6509-4fb9-84e8-a5a640e739c9', 'ec361792-5d1e-4168-aa3d-8ba3e6efa501', '2026-04-01', '2026-04-16 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 3, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('59fd92b8-c62f-4387-825e-2f7f9a769ffb', 'ec361792-5d1e-4168-aa3d-8ba3e6efa501', '2025-12-01', '2025-12-16 03:00:00+00', 25000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 3, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', 'cliente equivocado'); +INSERT INTO public.pagos VALUES ('df0b5b56-f357-4370-946d-0a1dd9043b4c', 'ec361792-5d1e-4168-aa3d-8ba3e6efa501', '2025-10-01', '2025-10-14 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 4, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('556b347f-e60c-464e-99f9-307f22c8cd7c', 'eef92d4e-2b3f-40dd-a551-6eac210eb1df', '2026-05-01', '2026-05-11 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 4, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('81c7d7fe-94c9-43fc-b68b-b0c6b41ced74', 'eef92d4e-2b3f-40dd-a551-6eac210eb1df', '2026-04-01', '2026-04-06 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 1, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('9468b8a7-92f9-4734-b413-117a986dac3e', 'eef92d4e-2b3f-40dd-a551-6eac210eb1df', '2026-03-01', '2026-03-20 03:00:00+00', 32000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 2, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('17ef683b-ec1a-4904-abd9-75630f7f584a', 'eef92d4e-2b3f-40dd-a551-6eac210eb1df', '2026-02-01', '2026-02-07 03:00:00+00', 32000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 3, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('d74c5417-6f17-4606-8906-94a35e97ce6d', 'eef92d4e-2b3f-40dd-a551-6eac210eb1df', '2026-01-01', '2026-01-14 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 3, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('fe878bb6-5581-4ec8-9121-965d73a7e735', 'eef92d4e-2b3f-40dd-a551-6eac210eb1df', '2025-11-01', '2025-11-06 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 2, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('bf3c6b30-60ae-40bb-95b3-6b61df300ca0', 'eef92d4e-2b3f-40dd-a551-6eac210eb1df', '2025-10-01', '2025-10-12 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 2, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('b8b39493-e6c4-4387-b54e-96a26d369fad', '5bb27430-7d5a-4842-bb94-e564b68c0552', '2026-05-01', '2026-05-18 03:00:00+00', 16000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 2, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('f457e027-a368-4270-ae5a-a0495f15da60', '5bb27430-7d5a-4842-bb94-e564b68c0552', '2026-03-01', '2026-03-15 03:00:00+00', 16000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 3, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('a80bc307-810b-4af4-8cc4-a9b8fc59cbbc', '5bb27430-7d5a-4842-bb94-e564b68c0552', '2026-02-01', '2026-02-12 03:00:00+00', 16000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 2, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('7cb03d8d-e839-4c9a-b03e-98d5b4036eb7', '5bb27430-7d5a-4842-bb94-e564b68c0552', '2026-01-01', '2026-01-12 03:00:00+00', 18000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 3, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('495f8986-1195-4a6c-b471-dc95fafba790', '5bb27430-7d5a-4842-bb94-e564b68c0552', '2025-12-01', '2025-12-10 03:00:00+00', 18000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 1, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('7581071f-baa4-4754-87d2-d553b057f490', '5bb27430-7d5a-4842-bb94-e564b68c0552', '2025-10-01', '2025-10-20 03:00:00+00', 16000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 1, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('c246727d-c0bd-46bd-9d51-dd41772e3fd8', '74db756d-9c91-41e1-9073-a77fc3f00f6d', '2026-05-01', '2026-05-08 03:00:00+00', 18000.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 4, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('96f2e9c7-d07a-4184-80ef-e842174cae23', '74db756d-9c91-41e1-9073-a77fc3f00f6d', '2026-04-01', '2026-04-14 03:00:00+00', 18000.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 2, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('fc1b638c-f7d3-4675-88ef-7a6c2343277d', '74db756d-9c91-41e1-9073-a77fc3f00f6d', '2026-03-01', '2026-03-06 03:00:00+00', 18000.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 3, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('8ba79d72-fda9-42ae-ac44-849476f7fe5a', '74db756d-9c91-41e1-9073-a77fc3f00f6d', '2026-02-01', '2026-02-07 03:00:00+00', 18000.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 3, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('1448bf5d-a4c0-430f-94d1-0967f2fb9358', '74db756d-9c91-41e1-9073-a77fc3f00f6d', '2026-01-01', '2026-01-14 03:00:00+00', 20500.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 4, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('3a58762d-d4b2-4e73-9ae8-6557ce688e51', '74db756d-9c91-41e1-9073-a77fc3f00f6d', '2025-12-01', '2025-12-05 03:00:00+00', 20500.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 3, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('3a017244-d034-40f4-a0ac-f44aef5ebd00', '74db756d-9c91-41e1-9073-a77fc3f00f6d', '2025-11-01', '2025-11-13 03:00:00+00', 18000.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 2, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('b08d25f0-66bf-471d-8327-08585f30b516', '79e05bdc-3abb-44e2-a560-73254499ad61', '2026-05-01', '2026-05-13 03:00:00+00', 25000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 3, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('49e531c8-d03d-47fd-861b-6ff81b2a8593', '79e05bdc-3abb-44e2-a560-73254499ad61', '2026-04-01', '2026-04-20 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 1, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('a005e9b1-c502-4c86-b637-c63279b35209', '79e05bdc-3abb-44e2-a560-73254499ad61', '2026-01-01', '2026-01-15 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 3, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('3c870440-00f1-40fb-95f0-7ffa8ade1f76', '79e05bdc-3abb-44e2-a560-73254499ad61', '2025-10-01', '2025-10-05 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 4, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('3e722e66-401c-486e-9040-ea3cfa6e6269', 'a1479992-2beb-4c26-8ac7-2a985f8d5c09', '2026-05-01', '2026-05-09 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 4, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('246632af-6d75-4c3b-9727-0e29f7e2698a', 'a1479992-2beb-4c26-8ac7-2a985f8d5c09', '2026-04-01', '2026-04-05 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 2, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('ed612dd4-62df-4792-b670-bc4a5e535573', 'a1479992-2beb-4c26-8ac7-2a985f8d5c09', '2026-03-01', '2026-03-12 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 1, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('c5b888ec-3c3b-4a86-8153-578a8554c276', 'a1479992-2beb-4c26-8ac7-2a985f8d5c09', '2026-02-01', '2026-02-11 03:00:00+00', 32000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 4, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('96388673-a707-4c60-927f-01b888cb8329', 'a1479992-2beb-4c26-8ac7-2a985f8d5c09', '2026-01-01', '2026-01-08 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 3, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('843a5326-b225-46ec-a768-0b3ec9351fbe', 'a1479992-2beb-4c26-8ac7-2a985f8d5c09', '2025-12-01', '2025-12-09 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 2, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('e20e50b8-3b80-4bed-a417-fbf632485c96', 'a1479992-2beb-4c26-8ac7-2a985f8d5c09', '2025-11-01', '2025-11-06 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 2, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('ff83235b-a0c5-45f1-8d6d-07f98f3b4ec2', 'a1479992-2beb-4c26-8ac7-2a985f8d5c09', '2025-10-01', '2025-10-16 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 2, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('53075e2a-78ee-4c03-b00c-99afec1dcd8d', '353e81dd-a5b7-458e-98e6-377b20bf27ef', '2026-05-01', '2026-05-15 03:00:00+00', 16000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 4, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('5ecb91c0-d3bf-4307-af7c-a13128180f29', '353e81dd-a5b7-458e-98e6-377b20bf27ef', '2025-11-01', '2025-11-07 03:00:00+00', 16000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 3, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('cddc2a67-3aea-4776-a0c2-cb23e8c10c97', '353e81dd-a5b7-458e-98e6-377b20bf27ef', '2025-10-01', '2025-10-12 03:00:00+00', 16000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 3, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', 'cobro no acreditado'); +INSERT INTO public.pagos VALUES ('9f958803-62e7-4371-aef2-2973dbd099c1', '74c40cbd-88dd-4069-aa0b-4bd8ee17d97e', '2026-05-01', '2026-05-05 03:00:00+00', 14000.00, '{"cuota_nombre": "2 días", "cuota_precio": 14000.00, "cuota_dias_semana": 2}', 1, 'd6af381b-5e27-428c-ba6d-4eea7be68ce6', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('f8e8add1-d5cc-4af2-91e8-26cc783df9da', '74c40cbd-88dd-4069-aa0b-4bd8ee17d97e', '2026-04-01', '2026-04-15 03:00:00+00', 14000.00, '{"cuota_nombre": "2 días", "cuota_precio": 14000.00, "cuota_dias_semana": 2}', 1, 'd6af381b-5e27-428c-ba6d-4eea7be68ce6', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('a1e4506b-a218-4fa7-a0d7-6f9ce47fffea', '74c40cbd-88dd-4069-aa0b-4bd8ee17d97e', '2026-02-01', '2026-02-12 03:00:00+00', 14000.00, '{"cuota_nombre": "2 días", "cuota_precio": 14000.00, "cuota_dias_semana": 2}', 4, 'd6af381b-5e27-428c-ba6d-4eea7be68ce6', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('c01db50b-8351-4d99-9a91-70358fd3d555', '74c40cbd-88dd-4069-aa0b-4bd8ee17d97e', '2026-01-01', '2026-01-11 03:00:00+00', 14000.00, '{"cuota_nombre": "2 días", "cuota_precio": 14000.00, "cuota_dias_semana": 2}', 2, 'd6af381b-5e27-428c-ba6d-4eea7be68ce6', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('4f47e5b5-3f06-4ce4-b7df-57061edb3311', '74c40cbd-88dd-4069-aa0b-4bd8ee17d97e', '2025-11-01', '2025-11-14 03:00:00+00', 16000.00, '{"cuota_nombre": "2 días", "cuota_precio": 14000.00, "cuota_dias_semana": 2}', 1, 'd6af381b-5e27-428c-ba6d-4eea7be68ce6', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('e220bbd4-beba-4083-b010-c78c131524ac', '74c40cbd-88dd-4069-aa0b-4bd8ee17d97e', '2025-10-01', '2025-10-08 03:00:00+00', 14000.00, '{"cuota_nombre": "2 días", "cuota_precio": 14000.00, "cuota_dias_semana": 2}', 1, 'd6af381b-5e27-428c-ba6d-4eea7be68ce6', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('2c1eb9e4-e755-4cb8-8b79-5fba3a05fb07', 'ab476a85-4433-4791-ba98-f6f65a9e6812', '2026-05-01', '2026-05-17 03:00:00+00', 20500.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 1, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('e9956904-cefe-4b5e-b067-17bf9932b149', 'ab476a85-4433-4791-ba98-f6f65a9e6812', '2026-03-01', '2026-03-19 03:00:00+00', 18000.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 3, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('b7eacb60-e58e-4a6d-99d7-9b68adfd5d3a', 'ab476a85-4433-4791-ba98-f6f65a9e6812', '2026-02-01', '2026-02-17 03:00:00+00', 18000.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 1, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('69fa4bc5-2b60-4e30-aa77-2f83a8f6fcc1', 'ab476a85-4433-4791-ba98-f6f65a9e6812', '2026-01-01', '2026-01-15 03:00:00+00', 18000.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 2, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('74144990-5d1d-41f4-ac84-c1df8cc07855', 'ab476a85-4433-4791-ba98-f6f65a9e6812', '2025-12-01', '2025-12-12 03:00:00+00', 18000.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 1, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('b3e57802-3446-4cb1-bc5c-15c6133520f0', 'ab476a85-4433-4791-ba98-f6f65a9e6812', '2025-11-01', '2025-11-06 03:00:00+00', 20500.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 4, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('08dfc0a8-f4a2-4281-8fa8-04892e556369', 'ab476a85-4433-4791-ba98-f6f65a9e6812', '2025-10-01', '2025-10-14 03:00:00+00', 18000.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 4, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('c43b5792-a207-4543-9c87-de09d91afdb5', '88d879ca-b155-4aa2-9c53-feeec0ce6216', '2026-05-01', '2026-05-14 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 1, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('5b601bfe-9b1f-411a-9640-30371906b408', '88d879ca-b155-4aa2-9c53-feeec0ce6216', '2026-04-01', '2026-04-15 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 1, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('2d56033f-4352-4cf5-9172-b25050f5f498', '88d879ca-b155-4aa2-9c53-feeec0ce6216', '2026-01-01', '2026-01-12 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 3, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('23857c97-6802-4181-b6a3-7e133366055a', '88d879ca-b155-4aa2-9c53-feeec0ce6216', '2025-12-01', '2025-12-08 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 1, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('00eaffea-f0dd-4337-827e-8c6a66d70891', '88d879ca-b155-4aa2-9c53-feeec0ce6216', '2025-11-01', '2025-11-11 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 3, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('584011dd-0ad7-4bb0-80a2-39d38f72b849', '88d879ca-b155-4aa2-9c53-feeec0ce6216', '2025-10-01', '2025-10-14 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 1, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('30aea13a-bd29-4e67-9e94-a42be7e93574', '201855bb-c895-4b7f-990a-7fcda83c863a', '2026-05-01', '2026-05-08 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 1, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('8034aa43-6036-4d25-86e8-ce484ae1d091', '201855bb-c895-4b7f-990a-7fcda83c863a', '2026-04-01', '2026-04-11 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 4, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('1eb4e98e-17f7-4e45-92e2-2cf9eaf1b80b', '201855bb-c895-4b7f-990a-7fcda83c863a', '2026-03-01', '2026-03-06 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 3, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', 'cobro no acreditado'); +INSERT INTO public.pagos VALUES ('33ade559-6e62-43b3-983f-fc984ee8918e', '201855bb-c895-4b7f-990a-7fcda83c863a', '2026-02-01', '2026-02-17 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 2, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('794f0acf-ccaa-4530-87d6-825d46a9ebc1', '201855bb-c895-4b7f-990a-7fcda83c863a', '2026-01-01', '2026-01-10 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 4, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('11b5e7fc-8a75-42c7-a453-3a54f3692cdc', '201855bb-c895-4b7f-990a-7fcda83c863a', '2025-12-01', '2025-12-11 03:00:00+00', 32500.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 4, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('ab159d3f-ecbb-4901-9206-7e6616a775da', '201855bb-c895-4b7f-990a-7fcda83c863a', '2025-11-01', '2025-11-08 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 4, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('0fee6bfc-8510-4565-9272-baa072198a03', '201855bb-c895-4b7f-990a-7fcda83c863a', '2025-10-01', '2025-10-10 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 2, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('1c1a0459-e171-4a7f-a4eb-550c4c5d4cea', '9f3d94ed-64c6-4ba2-ab51-d0f1d76dcf6f', '2026-04-01', '2026-04-09 03:00:00+00', 16000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 4, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('fafd40ad-c2f0-4eaf-8118-ea091821fd7f', '9f3d94ed-64c6-4ba2-ab51-d0f1d76dcf6f', '2026-03-01', '2026-03-13 03:00:00+00', 16000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 2, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('ba7a7ddf-b439-4177-a31e-dd4b199a9cd8', '9f3d94ed-64c6-4ba2-ab51-d0f1d76dcf6f', '2026-01-01', '2026-01-05 03:00:00+00', 16000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 3, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('ebed5573-730b-4804-b5ba-b1c1b8e507bd', '9f3d94ed-64c6-4ba2-ab51-d0f1d76dcf6f', '2025-12-01', '2025-12-13 03:00:00+00', 16000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 3, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('b15d0a39-4e8e-4e55-9805-6084b22b859b', '9f3d94ed-64c6-4ba2-ab51-d0f1d76dcf6f', '2025-11-01', '2025-11-14 03:00:00+00', 18000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 4, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('1baf298c-e0d3-40fd-bf41-608e619bba6d', '9f3d94ed-64c6-4ba2-ab51-d0f1d76dcf6f', '2025-10-01', '2025-10-05 03:00:00+00', 18000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 3, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('4a71fca8-329a-4025-921f-fde44669c789', '24ae546a-5831-4ba7-bc67-7b3394f10fe3', '2026-05-01', '2026-05-19 03:00:00+00', 18000.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 1, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('3f829513-1c64-4c34-90cb-64af8386d30e', '24ae546a-5831-4ba7-bc67-7b3394f10fe3', '2026-03-01', '2026-03-14 03:00:00+00', 20500.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 4, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('f8910cba-be2c-4581-8cbb-22b6009437b4', '24ae546a-5831-4ba7-bc67-7b3394f10fe3', '2026-02-01', '2026-02-06 03:00:00+00', 18000.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 1, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', 'cobro no acreditado'); +INSERT INTO public.pagos VALUES ('e3248603-f4a1-46f9-8a35-4e03641bb1fc', '24ae546a-5831-4ba7-bc67-7b3394f10fe3', '2026-01-01', '2026-01-17 03:00:00+00', 18000.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 1, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('fff20d9b-40f3-470f-b464-848726126196', '24ae546a-5831-4ba7-bc67-7b3394f10fe3', '2025-11-01', '2025-11-14 03:00:00+00', 18000.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 3, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('2aad6679-6dce-4a23-961a-535e4a1e2100', '24ae546a-5831-4ba7-bc67-7b3394f10fe3', '2025-10-01', '2025-10-10 03:00:00+00', 18000.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 1, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('f090e8ca-10e6-471d-99d5-c65fea16a63a', '5515eddc-132d-4d91-ba8f-53aa4c32c3c2', '2026-05-01', '2026-05-14 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 2, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', 'cobro no acreditado'); +INSERT INTO public.pagos VALUES ('99edd979-3232-4e30-974a-21b03b1a56bd', '5515eddc-132d-4d91-ba8f-53aa4c32c3c2', '2026-04-01', '2026-04-20 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 3, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('2fc24101-e196-465f-a853-be759e0b3ded', '5515eddc-132d-4d91-ba8f-53aa4c32c3c2', '2026-03-01', '2026-03-16 03:00:00+00', 22500.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 4, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('d284970e-83e4-43a7-972e-a8fd084b8b8d', '5515eddc-132d-4d91-ba8f-53aa4c32c3c2', '2026-01-01', '2026-01-08 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 4, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('93fe1adf-c321-4bc9-a880-b74eec4174a2', '5515eddc-132d-4d91-ba8f-53aa4c32c3c2', '2025-12-01', '2025-12-15 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 3, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('0ad98d7d-ad40-4cf3-9578-8ece067a7ae7', '5515eddc-132d-4d91-ba8f-53aa4c32c3c2', '2025-11-01', '2025-11-09 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 2, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('9661bbb3-bda4-45f5-85bf-b966443c1380', '5515eddc-132d-4d91-ba8f-53aa4c32c3c2', '2025-10-01', '2025-10-05 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 3, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('e5262c3f-d220-43bb-8138-6c67ed2ae791', '595fa41c-3177-4913-8646-ce53e95564bf', '2026-05-01', '2026-05-11 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 4, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('854fde44-9968-4197-b8d8-90171902d552', '595fa41c-3177-4913-8646-ce53e95564bf', '2026-04-01', '2026-04-09 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 4, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('668f57fb-afac-4848-8ec8-a989933e8915', '595fa41c-3177-4913-8646-ce53e95564bf', '2026-03-01', '2026-03-09 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 3, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('4f31fc89-a0ab-4245-bb51-30a50a2e2bcc', '595fa41c-3177-4913-8646-ce53e95564bf', '2026-02-01', '2026-02-09 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 2, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('15f5fcee-836b-4a64-96aa-c975965e4888', '595fa41c-3177-4913-8646-ce53e95564bf', '2025-12-01', '2025-12-16 03:00:00+00', 32000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 1, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('33716790-2029-41ec-bf65-5a416c2e6c09', '595fa41c-3177-4913-8646-ce53e95564bf', '2025-11-01', '2025-11-15 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 1, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', 'cliente equivocado'); +INSERT INTO public.pagos VALUES ('ba8afda4-717f-4915-a286-2e02846327b0', '595fa41c-3177-4913-8646-ce53e95564bf', '2025-10-01', '2025-10-10 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 2, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('f6a968d3-c365-49c4-8d50-cecdc44189a2', '0b37f5da-af88-4e21-a447-7c5d55888ec7', '2026-05-01', '2026-05-18 03:00:00+00', 16000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 2, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('02e0fe6d-953e-4a29-be21-eb5e2f10e10e', '0b37f5da-af88-4e21-a447-7c5d55888ec7', '2026-04-01', '2026-04-13 03:00:00+00', 16000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 2, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('89440d0f-bdb7-40fe-8312-52f336fd99f4', '0b37f5da-af88-4e21-a447-7c5d55888ec7', '2026-02-01', '2026-02-09 03:00:00+00', 18000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 3, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('52f3c9eb-7df7-49a8-ae85-07843fdc735f', '0b37f5da-af88-4e21-a447-7c5d55888ec7', '2026-01-01', '2026-01-09 03:00:00+00', 16000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 4, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('c9fd951d-ce8a-4e34-a02a-a51580829285', '0b37f5da-af88-4e21-a447-7c5d55888ec7', '2025-12-01', '2025-12-17 03:00:00+00', 18000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 4, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('b049d104-1102-4d3e-9cf8-c961d2629f66', '0b37f5da-af88-4e21-a447-7c5d55888ec7', '2025-10-01', '2025-10-17 03:00:00+00', 18000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 1, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('db9ffd28-d008-4335-a04c-3428fb49c947', 'cbe58515-28d6-485b-a476-5a97f3042f21', '2026-05-01', '2026-05-05 03:00:00+00', 14000.00, '{"cuota_nombre": "2 días", "cuota_precio": 14000.00, "cuota_dias_semana": 2}', 4, 'd6af381b-5e27-428c-ba6d-4eea7be68ce6', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('f98e85c9-c14f-45f8-b7e0-b93d0e17748d', 'cbe58515-28d6-485b-a476-5a97f3042f21', '2026-04-01', '2026-04-09 03:00:00+00', 14000.00, '{"cuota_nombre": "2 días", "cuota_precio": 14000.00, "cuota_dias_semana": 2}', 4, 'd6af381b-5e27-428c-ba6d-4eea7be68ce6', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('39323b23-6c39-408e-9868-690f36805389', 'cbe58515-28d6-485b-a476-5a97f3042f21', '2026-03-01', '2026-03-15 03:00:00+00', 14000.00, '{"cuota_nombre": "2 días", "cuota_precio": 14000.00, "cuota_dias_semana": 2}', 3, 'd6af381b-5e27-428c-ba6d-4eea7be68ce6', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('4b1497d4-0773-4530-930a-e718ef8c207b', 'cbe58515-28d6-485b-a476-5a97f3042f21', '2026-02-01', '2026-02-08 03:00:00+00', 14000.00, '{"cuota_nombre": "2 días", "cuota_precio": 14000.00, "cuota_dias_semana": 2}', 3, 'd6af381b-5e27-428c-ba6d-4eea7be68ce6', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('8374d3f1-cc16-4ca8-9050-ad106d2ecdc3', 'cbe58515-28d6-485b-a476-5a97f3042f21', '2026-01-01', '2026-01-09 03:00:00+00', 14000.00, '{"cuota_nombre": "2 días", "cuota_precio": 14000.00, "cuota_dias_semana": 2}', 3, 'd6af381b-5e27-428c-ba6d-4eea7be68ce6', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('773cf148-c380-470d-9892-ebe92c78e3b6', 'cbe58515-28d6-485b-a476-5a97f3042f21', '2025-12-01', '2025-12-17 03:00:00+00', 14000.00, '{"cuota_nombre": "2 días", "cuota_precio": 14000.00, "cuota_dias_semana": 2}', 2, 'd6af381b-5e27-428c-ba6d-4eea7be68ce6', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('a2347385-c72e-4e77-be51-8c1b3df3ad43', 'cbe58515-28d6-485b-a476-5a97f3042f21', '2025-11-01', '2025-11-09 03:00:00+00', 14000.00, '{"cuota_nombre": "2 días", "cuota_precio": 14000.00, "cuota_dias_semana": 2}', 1, 'd6af381b-5e27-428c-ba6d-4eea7be68ce6', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('253faba0-c30a-4002-adf0-6e4d03cf1f1e', 'cbe58515-28d6-485b-a476-5a97f3042f21', '2025-10-01', '2025-10-07 03:00:00+00', 16000.00, '{"cuota_nombre": "2 días", "cuota_precio": 14000.00, "cuota_dias_semana": 2}', 3, 'd6af381b-5e27-428c-ba6d-4eea7be68ce6', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('00439f4f-5650-450b-a211-fc7300b9f9c6', '825d188e-beda-4191-ba4b-e79439d0d502', '2026-04-01', '2026-04-09 03:00:00+00', 18000.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 4, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('655a5238-2644-4757-ac45-83ba9ffa7c33', '825d188e-beda-4191-ba4b-e79439d0d502', '2026-03-01', '2026-03-20 03:00:00+00', 20500.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 4, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('fe57fed4-bdfc-437d-8075-2de3c8ad4908', '825d188e-beda-4191-ba4b-e79439d0d502', '2026-02-01', '2026-02-13 03:00:00+00', 18000.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 3, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('27acaaa3-81fd-4b26-8eec-16ed33bb7599', '825d188e-beda-4191-ba4b-e79439d0d502', '2026-01-01', '2026-01-05 03:00:00+00', 20500.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 1, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('ed767aba-e75c-4259-986d-b65ad7c5d404', '825d188e-beda-4191-ba4b-e79439d0d502', '2025-12-01', '2025-12-11 03:00:00+00', 18000.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 4, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('9e427774-45b1-4725-8d52-aff9268cd35d', '825d188e-beda-4191-ba4b-e79439d0d502', '2025-11-01', '2025-11-07 03:00:00+00', 18000.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 4, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('02124d18-19a0-4911-ac3e-3bd7eb8658fc', '0f58ad98-99d5-4d47-969f-043f78fc1e48', '2026-05-01', '2026-05-18 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 3, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('ce86822c-4a33-47ae-b912-58802d020436', '0f58ad98-99d5-4d47-969f-043f78fc1e48', '2026-04-01', '2026-04-09 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 1, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('47aead97-f38b-4adc-9311-a54e4abc017d', '0f58ad98-99d5-4d47-969f-043f78fc1e48', '2026-03-01', '2026-03-11 03:00:00+00', 25000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 2, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('07253ddd-1581-4aef-8ed7-5bccb2575cea', '0f58ad98-99d5-4d47-969f-043f78fc1e48', '2026-02-01', '2026-02-09 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 3, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('34a1a837-6c48-4d45-8a66-6a320d8317cb', '0f58ad98-99d5-4d47-969f-043f78fc1e48', '2026-01-01', '2026-01-05 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 2, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('0335bd1e-2c23-4fc1-9111-851b49881b5a', '0f58ad98-99d5-4d47-969f-043f78fc1e48', '2025-12-01', '2025-12-07 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 3, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('c8c54995-ad73-42b3-877e-69f8ca110246', '0f58ad98-99d5-4d47-969f-043f78fc1e48', '2025-11-01', '2025-11-13 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 1, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('2ff0ee0e-6d22-4ca3-90f1-31aa7510da5e', '0f58ad98-99d5-4d47-969f-043f78fc1e48', '2025-10-01', '2025-10-13 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 2, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('2ecb52ae-3fc7-48d6-be58-0715871d32b1', '71f56398-f3ff-4de0-89fa-0e2a1992d81f', '2026-05-01', '2026-05-11 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 2, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('20ef9742-aef5-461c-8480-5b40d307c579', '71f56398-f3ff-4de0-89fa-0e2a1992d81f', '2026-04-01', '2026-04-17 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 1, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('66b4b68a-b16d-4f0b-bb59-7682a522ca79', '71f56398-f3ff-4de0-89fa-0e2a1992d81f', '2026-03-01', '2026-03-15 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 2, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('6ca39b36-bd21-474b-9b50-1471244c3636', '71f56398-f3ff-4de0-89fa-0e2a1992d81f', '2026-02-01', '2026-02-16 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 4, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('76f70c25-2c64-4356-b0b4-0e05e88b0237', '71f56398-f3ff-4de0-89fa-0e2a1992d81f', '2026-01-01', '2026-01-15 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 3, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('ac5791ae-52a9-49a8-afc9-38ffabcd0434', '71f56398-f3ff-4de0-89fa-0e2a1992d81f', '2025-12-01', '2025-12-10 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 3, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('cc3f5461-314b-4803-9925-5e1aa6ffffe8', '71f56398-f3ff-4de0-89fa-0e2a1992d81f', '2025-11-01', '2025-11-08 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 3, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('a4f479c7-5319-4b07-beee-9f9f45eb8479', '71f56398-f3ff-4de0-89fa-0e2a1992d81f', '2025-10-01', '2025-10-09 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 3, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('38812b95-f973-4a8b-b51c-098d3adb8199', 'a44af168-1feb-4b0b-9a3c-f61c0f267854', '2026-05-01', '2026-05-07 03:00:00+00', 16500.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 3, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('cd25ac5c-91eb-41f2-9ebb-cf671a7d1cdd', 'a44af168-1feb-4b0b-9a3c-f61c0f267854', '2026-04-01', '2026-04-05 03:00:00+00', 16000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 4, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('b4670949-4367-49c9-8229-adfeeeeacc15', 'a44af168-1feb-4b0b-9a3c-f61c0f267854', '2026-03-01', '2026-03-18 03:00:00+00', 16000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 1, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('8fba3530-83a4-4f6e-a0dc-56e35cb09f45', 'a44af168-1feb-4b0b-9a3c-f61c0f267854', '2026-02-01', '2026-02-15 03:00:00+00', 16000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 1, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('5aa4fc38-769b-450e-a878-a38b1e7588aa', 'a44af168-1feb-4b0b-9a3c-f61c0f267854', '2026-01-01', '2026-01-17 03:00:00+00', 16000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 1, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('833e96a4-a42c-421c-9cd4-f6790e304867', 'a44af168-1feb-4b0b-9a3c-f61c0f267854', '2025-11-01', '2025-11-13 03:00:00+00', 16500.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 2, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('71e543d0-bff8-47e3-8d0e-fc27d5fa4497', 'a44af168-1feb-4b0b-9a3c-f61c0f267854', '2025-10-01', '2025-10-10 03:00:00+00', 16000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 4, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('157b5da4-b207-43fb-8ccf-284a1762d8ee', 'f061a5e5-cbee-465f-8494-049fdb0109a7', '2026-05-01', '2026-05-18 03:00:00+00', 18000.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 1, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('48f91efc-b63c-47fa-a41c-6b960eed7d21', 'f061a5e5-cbee-465f-8494-049fdb0109a7', '2026-04-01', '2026-04-19 03:00:00+00', 20500.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 3, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('551adcce-6f0c-437a-ad90-d4e4028ab0af', 'f061a5e5-cbee-465f-8494-049fdb0109a7', '2026-03-01', '2026-03-11 03:00:00+00', 18000.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 4, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('fd61c619-e36f-4e1b-ad6d-f0f3c332cbcc', 'f061a5e5-cbee-465f-8494-049fdb0109a7', '2026-02-01', '2026-02-12 03:00:00+00', 18000.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 3, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('476c288c-c8b6-46a0-9e01-ed27c564a23a', 'f061a5e5-cbee-465f-8494-049fdb0109a7', '2026-01-01', '2026-01-10 03:00:00+00', 18000.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 4, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('74166bec-c142-4989-861e-5715385b240e', '083f3ead-5766-492c-96a2-a17e05e9f98f', '2026-05-01', '2026-05-09 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 4, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('801d11b5-1615-470f-a432-38a32879bae6', '083f3ead-5766-492c-96a2-a17e05e9f98f', '2026-04-01', '2026-04-17 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 2, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('39a199e4-3506-4562-8379-60856ec7cd54', '083f3ead-5766-492c-96a2-a17e05e9f98f', '2026-03-01', '2026-03-20 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 4, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('13925fa5-7dd2-4743-be4a-1df5f2bf14fa', '083f3ead-5766-492c-96a2-a17e05e9f98f', '2026-02-01', '2026-02-06 03:00:00+00', 25000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 3, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('245c480a-e203-461f-a6bc-a890c48b75e4', '083f3ead-5766-492c-96a2-a17e05e9f98f', '2025-12-01', '2025-12-07 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 3, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('c847cec0-406e-43ef-a5f1-6d44d9d47fd1', '083f3ead-5766-492c-96a2-a17e05e9f98f', '2025-11-01', '2025-11-10 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 4, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('b6d3ec2c-a031-450b-bba9-7494399fc337', '083f3ead-5766-492c-96a2-a17e05e9f98f', '2025-10-01', '2025-10-20 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 1, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('c906c430-1fdc-4bb9-a776-fdef783ad6dd', 'ed3e9661-ebb8-42be-8dea-9252ca882723', '2026-05-01', '2026-05-06 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 1, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('51cf970a-4876-4944-a007-368771e234b6', 'ed3e9661-ebb8-42be-8dea-9252ca882723', '2026-04-01', '2026-04-10 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 4, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('34079132-62a9-4fe8-9335-4917f60b8280', 'ed3e9661-ebb8-42be-8dea-9252ca882723', '2026-03-01', '2026-03-06 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 2, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('51875fd0-d1bb-4a77-ac34-05ad449cbc72', 'ed3e9661-ebb8-42be-8dea-9252ca882723', '2026-02-01', '2026-02-14 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 1, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('d24933d0-e437-4cdc-8acc-bab4fb86eae1', 'ed3e9661-ebb8-42be-8dea-9252ca882723', '2026-01-01', '2026-01-11 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 2, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('24f69a14-baf7-4982-9d13-0b7d478619e1', 'ed3e9661-ebb8-42be-8dea-9252ca882723', '2025-12-01', '2025-12-10 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 4, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('21998c8c-e088-447b-81c7-feb14cec40a2', 'ed3e9661-ebb8-42be-8dea-9252ca882723', '2025-11-01', '2025-11-19 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 1, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', 'error de monto'); +INSERT INTO public.pagos VALUES ('8a573462-b55e-4245-9196-37412c9c9b95', 'ed3e9661-ebb8-42be-8dea-9252ca882723', '2025-10-01', '2025-10-14 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 4, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('54d3ed30-892f-4cc7-8c17-4a8306481873', 'c4f83b12-0b88-4ec8-a5db-0a3deacb4d29', '2026-05-01', '2026-05-10 03:00:00+00', 16000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 3, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('455e69d6-01b6-49a2-b587-2486346a66cf', 'c4f83b12-0b88-4ec8-a5db-0a3deacb4d29', '2026-04-01', '2026-04-10 03:00:00+00', 16000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 1, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('d57a817c-747b-46a1-a174-878923aad321', 'c4f83b12-0b88-4ec8-a5db-0a3deacb4d29', '2026-03-01', '2026-03-11 03:00:00+00', 16000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 1, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('2ea0753a-16b1-476c-8416-6e7ca661cb63', 'c4f83b12-0b88-4ec8-a5db-0a3deacb4d29', '2026-02-01', '2026-02-15 03:00:00+00', 16000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 1, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('eba65158-b24e-4a49-b3dd-97c0757ef974', 'c4f83b12-0b88-4ec8-a5db-0a3deacb4d29', '2026-01-01', '2026-01-18 03:00:00+00', 16000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 3, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('2462190e-676b-4005-8f63-a5f9ccdc935a', 'c4f83b12-0b88-4ec8-a5db-0a3deacb4d29', '2025-12-01', '2025-12-16 03:00:00+00', 16000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 2, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', 'cobro no acreditado'); +INSERT INTO public.pagos VALUES ('9db6ba7f-6816-4f95-a994-2c85810914c8', 'c4f83b12-0b88-4ec8-a5db-0a3deacb4d29', '2025-11-01', '2025-11-20 03:00:00+00', 16000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 3, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('8814d5c5-3903-49ff-a1a5-b1aa6a33e3a0', 'c4f83b12-0b88-4ec8-a5db-0a3deacb4d29', '2025-10-01', '2025-10-05 03:00:00+00', 16000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 1, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('2114dcec-eb85-4a03-978f-db87d7030abb', '9943c7f8-a3c8-4f7d-a55d-099559ad9fda', '2026-04-01', '2026-04-10 03:00:00+00', 14000.00, '{"cuota_nombre": "2 días", "cuota_precio": 14000.00, "cuota_dias_semana": 2}', 2, 'd6af381b-5e27-428c-ba6d-4eea7be68ce6', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('a6a3ea6e-067b-4c4a-81b2-30055696d9d6', '9943c7f8-a3c8-4f7d-a55d-099559ad9fda', '2026-03-01', '2026-03-15 03:00:00+00', 14000.00, '{"cuota_nombre": "2 días", "cuota_precio": 14000.00, "cuota_dias_semana": 2}', 1, 'd6af381b-5e27-428c-ba6d-4eea7be68ce6', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('68e0dc32-396d-438b-a4fd-afcc6a144a78', '9943c7f8-a3c8-4f7d-a55d-099559ad9fda', '2026-02-01', '2026-02-14 03:00:00+00', 14000.00, '{"cuota_nombre": "2 días", "cuota_precio": 14000.00, "cuota_dias_semana": 2}', 3, 'd6af381b-5e27-428c-ba6d-4eea7be68ce6', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('63d9a4a4-0a75-4062-9e61-1a4bb31a366b', '9943c7f8-a3c8-4f7d-a55d-099559ad9fda', '2026-01-01', '2026-01-13 03:00:00+00', 16000.00, '{"cuota_nombre": "2 días", "cuota_precio": 14000.00, "cuota_dias_semana": 2}', 4, 'd6af381b-5e27-428c-ba6d-4eea7be68ce6', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('ff56bf62-13de-404b-a7aa-3ca1b6beb1e9', '9943c7f8-a3c8-4f7d-a55d-099559ad9fda', '2025-12-01', '2025-12-11 03:00:00+00', 14000.00, '{"cuota_nombre": "2 días", "cuota_precio": 14000.00, "cuota_dias_semana": 2}', 1, 'd6af381b-5e27-428c-ba6d-4eea7be68ce6', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('7416fb31-8214-4479-a249-65c5f1b2ce86', '9943c7f8-a3c8-4f7d-a55d-099559ad9fda', '2025-11-01', '2025-11-05 03:00:00+00', 16000.00, '{"cuota_nombre": "2 días", "cuota_precio": 14000.00, "cuota_dias_semana": 2}', 3, 'd6af381b-5e27-428c-ba6d-4eea7be68ce6', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('c8bbc9b2-e065-441a-8529-ed19ffa54d4d', '9943c7f8-a3c8-4f7d-a55d-099559ad9fda', '2025-10-01', '2025-10-10 03:00:00+00', 14000.00, '{"cuota_nombre": "2 días", "cuota_precio": 14000.00, "cuota_dias_semana": 2}', 4, 'd6af381b-5e27-428c-ba6d-4eea7be68ce6', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('634afcc4-94b5-4438-a953-555522cca86a', '9b042ac0-1f6b-4abb-a096-f2b0910930b4', '2026-05-01', '2026-05-12 03:00:00+00', 18000.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 1, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('b2a251c3-d2c4-4bbe-9483-c2bb0b691207', '9b042ac0-1f6b-4abb-a096-f2b0910930b4', '2026-04-01', '2026-04-07 03:00:00+00', 18000.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 2, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('28ea872a-3fed-42d1-aa7b-ff4d42c86024', '9b042ac0-1f6b-4abb-a096-f2b0910930b4', '2026-03-01', '2026-03-10 03:00:00+00', 18000.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 3, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('c011fe3d-ae64-4b78-a370-649a5151573e', '9b042ac0-1f6b-4abb-a096-f2b0910930b4', '2026-02-01', '2026-02-11 03:00:00+00', 18000.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 1, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('ee0c981b-05d0-42e1-9c9e-102f91f52667', '9b042ac0-1f6b-4abb-a096-f2b0910930b4', '2026-01-01', '2026-01-08 03:00:00+00', 18000.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 2, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('0745f39e-14bc-4527-bdee-c5b824ffdb96', '9b042ac0-1f6b-4abb-a096-f2b0910930b4', '2025-12-01', '2025-12-05 03:00:00+00', 18500.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 3, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('6ee79d2e-c9a6-4da1-841d-e7031892ac9f', '9b042ac0-1f6b-4abb-a096-f2b0910930b4', '2025-11-01', '2025-11-12 03:00:00+00', 18000.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 3, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('cfcba76d-86e3-4103-bfc6-87aa948ec704', '144c763b-b89e-471a-a98c-6c0122ecefa1', '2026-05-01', '2026-05-19 03:00:00+00', 25000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 4, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('c8f598e7-f08c-4291-a353-ba1d6a9d317a', '144c763b-b89e-471a-a98c-6c0122ecefa1', '2026-04-01', '2026-04-18 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 4, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('fd2cee79-bc60-42ab-b3c4-f97d41c0842a', '144c763b-b89e-471a-a98c-6c0122ecefa1', '2026-03-01', '2026-03-18 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 3, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('8b971db1-f7e5-4f4a-86e6-ec55d27bb420', '144c763b-b89e-471a-a98c-6c0122ecefa1', '2026-01-01', '2026-01-05 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 3, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('f44732cd-d289-4ab4-b26f-76abe98e1579', '144c763b-b89e-471a-a98c-6c0122ecefa1', '2025-12-01', '2025-12-10 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 4, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('cbe81243-519c-434f-a488-b5de12f797c7', '144c763b-b89e-471a-a98c-6c0122ecefa1', '2025-11-01', '2025-11-14 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 1, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('15bc72ea-ab75-4f8a-8158-0dda654558e4', '144c763b-b89e-471a-a98c-6c0122ecefa1', '2025-10-01', '2025-10-08 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 2, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('7da4c79f-1045-4d22-86c7-c75a396205e4', 'f351c4c2-1199-489f-9b43-32885b11cf22', '2026-05-01', '2026-05-14 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 1, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('3c20b59e-9156-41af-98d0-19ae1c9a9229', 'f351c4c2-1199-489f-9b43-32885b11cf22', '2026-04-01', '2026-04-13 03:00:00+00', 32000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 4, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('f7206776-1690-4c45-a2de-ebecd9d3ce22', 'f351c4c2-1199-489f-9b43-32885b11cf22', '2026-03-01', '2026-03-11 03:00:00+00', 32000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 4, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('91bd8288-7d95-465b-80e4-2b5e0e0e1ca7', 'f351c4c2-1199-489f-9b43-32885b11cf22', '2026-01-01', '2026-01-05 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 2, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('06945fe3-39ac-435e-89d1-4be83fd5716f', 'f351c4c2-1199-489f-9b43-32885b11cf22', '2025-12-01', '2025-12-06 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 2, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('8d7aeeb1-8391-4881-910f-4638477e9bd6', 'f351c4c2-1199-489f-9b43-32885b11cf22', '2025-11-01', '2025-11-12 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 1, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('fd1e517e-53d7-4c80-9fa8-bf1d5c2da7d1', 'f351c4c2-1199-489f-9b43-32885b11cf22', '2025-10-01', '2025-10-10 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 3, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('562904b3-d8e0-416b-9bc3-af82052accfc', '8e2969a0-cd00-441a-b7a8-47c06a3a1f2d', '2026-05-01', '2026-05-11 03:00:00+00', 16000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 1, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('b6c4eb6f-59d8-4d76-8f7d-885b669399fc', '8e2969a0-cd00-441a-b7a8-47c06a3a1f2d', '2026-04-01', '2026-04-08 03:00:00+00', 18000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 3, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('9acdd181-51e6-44c0-8504-e65f2f7ca452', '8e2969a0-cd00-441a-b7a8-47c06a3a1f2d', '2026-03-01', '2026-03-19 03:00:00+00', 16000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 4, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('2fd9f36d-d4e3-4eaf-a77a-e792da295689', '8e2969a0-cd00-441a-b7a8-47c06a3a1f2d', '2026-02-01', '2026-02-06 03:00:00+00', 18000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 1, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('2d4f8bf1-670b-49ee-82f1-4c15f2e33425', '8e2969a0-cd00-441a-b7a8-47c06a3a1f2d', '2026-01-01', '2026-01-13 03:00:00+00', 16000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 2, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('82cb6bcb-79d2-4de7-a367-d832550a69f8', '8e2969a0-cd00-441a-b7a8-47c06a3a1f2d', '2025-11-01', '2025-11-15 03:00:00+00', 16000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 3, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('9fb334dc-5219-4747-923d-233869dcb1d8', '8e2969a0-cd00-441a-b7a8-47c06a3a1f2d', '2025-10-01', '2025-10-12 03:00:00+00', 16000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 3, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('986bf055-e448-45eb-a69a-65c0f5d76a32', 'b8167be1-1133-4372-9daa-a3cd6ecc7df2', '2026-05-01', '2026-05-05 03:00:00+00', 18000.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 4, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('cddf6a9c-2a19-4a86-acac-53a8accd2dca', 'b8167be1-1133-4372-9daa-a3cd6ecc7df2', '2026-04-01', '2026-04-05 03:00:00+00', 18000.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 2, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', 'cliente equivocado'); +INSERT INTO public.pagos VALUES ('4d51a7ae-a6b4-4369-8f59-0cc3e6a75e63', 'b8167be1-1133-4372-9daa-a3cd6ecc7df2', '2026-03-01', '2026-03-19 03:00:00+00', 18000.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 2, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('c3d6e5ab-83e4-4aab-bad9-186ce095be1b', 'b8167be1-1133-4372-9daa-a3cd6ecc7df2', '2026-02-01', '2026-02-08 03:00:00+00', 18000.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 3, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('80bd4112-3a07-4bda-a052-126d024b0ec3', 'b8167be1-1133-4372-9daa-a3cd6ecc7df2', '2026-01-01', '2026-01-19 03:00:00+00', 18000.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 3, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('551b61bf-2f5f-47fe-999a-e84032e72bff', 'b8167be1-1133-4372-9daa-a3cd6ecc7df2', '2025-11-01', '2025-11-15 03:00:00+00', 18000.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 2, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('a5b2b87b-e70c-4dfd-ae56-d1519d5a1f9d', 'b8167be1-1133-4372-9daa-a3cd6ecc7df2', '2025-10-01', '2025-10-15 03:00:00+00', 18000.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 1, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('4cbe5346-eb13-431e-b4d3-ec9878400e71', '2fcbd6c7-85a2-4abd-bbe0-fa87593862e8', '2026-05-01', '2026-05-10 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 2, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', 'error de monto'); +INSERT INTO public.pagos VALUES ('5f488424-bece-497a-9cca-71bb68010696', '2fcbd6c7-85a2-4abd-bbe0-fa87593862e8', '2026-04-01', '2026-04-13 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 3, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('4c444343-36cc-4d0e-89b8-20781aff7be4', '2fcbd6c7-85a2-4abd-bbe0-fa87593862e8', '2026-03-01', '2026-03-10 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 2, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('a7c3fb1a-e7cb-4975-849d-d61c38b73f84', '2fcbd6c7-85a2-4abd-bbe0-fa87593862e8', '2026-02-01', '2026-02-15 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 2, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('81179af5-0c5b-44bf-a26a-bf480faeeb1f', '2fcbd6c7-85a2-4abd-bbe0-fa87593862e8', '2026-01-01', '2026-01-07 03:00:00+00', 25000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 2, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('ac2a4b82-cb26-4078-9853-d770b5e38e62', '2fcbd6c7-85a2-4abd-bbe0-fa87593862e8', '2025-11-01', '2025-11-06 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 3, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('009df697-1b4f-49e4-b9fc-0837e1bbdeb2', '2fcbd6c7-85a2-4abd-bbe0-fa87593862e8', '2025-10-01', '2025-10-09 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 2, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('d5af39c1-6e22-41b5-acc5-abf3560e8dd0', '9867ca58-96e8-4a91-8c2f-b6ecdc0837c9', '2026-05-01', '2026-05-15 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 3, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('1d6ba258-0042-44a1-9e24-4ee79f967375', '9867ca58-96e8-4a91-8c2f-b6ecdc0837c9', '2026-04-01', '2026-04-16 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 4, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('d8c42db3-6434-4799-9e9f-1d8fecc7ff79', '9867ca58-96e8-4a91-8c2f-b6ecdc0837c9', '2026-03-01', '2026-03-12 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 2, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('d03d8bce-ff02-45f8-9036-e77217396a24', '9867ca58-96e8-4a91-8c2f-b6ecdc0837c9', '2026-02-01', '2026-02-10 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 4, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('0f7c6684-1788-4984-b7b7-cce2c18a1936', '9867ca58-96e8-4a91-8c2f-b6ecdc0837c9', '2026-01-01', '2026-01-07 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 3, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('01e71a0f-7509-4a72-9898-922e709da717', '9867ca58-96e8-4a91-8c2f-b6ecdc0837c9', '2025-12-01', '2025-12-07 03:00:00+00', 28500.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 3, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('60f0cd3f-c22d-4e4d-859a-0d197f2c39cf', '9867ca58-96e8-4a91-8c2f-b6ecdc0837c9', '2025-10-01', '2025-10-07 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 3, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('ff35c46b-b714-4600-993d-6446fcfd101f', '198176d2-7923-46dc-b3b7-c95ccf091117', '2026-05-01', '2026-05-15 03:00:00+00', 16000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 3, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('513a7787-664a-45fb-b5d6-0a22240b5ad7', '198176d2-7923-46dc-b3b7-c95ccf091117', '2026-04-01', '2026-04-06 03:00:00+00', 16000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 3, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('4715ae9c-e16c-49e2-981a-e20a5b2d668f', '198176d2-7923-46dc-b3b7-c95ccf091117', '2026-03-01', '2026-03-15 03:00:00+00', 16000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 4, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('ccd41ea5-5d1f-4095-ad05-80db1aaf9a9c', '198176d2-7923-46dc-b3b7-c95ccf091117', '2026-02-01', '2026-02-11 03:00:00+00', 16000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 4, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('d7d334fc-ba74-4724-b0e8-4fb821641c02', '198176d2-7923-46dc-b3b7-c95ccf091117', '2026-01-01', '2026-01-08 03:00:00+00', 16500.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 1, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('d5caf5eb-cebc-47e7-af07-6329aecda5f2', '198176d2-7923-46dc-b3b7-c95ccf091117', '2025-12-01', '2025-12-20 03:00:00+00', 16000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 2, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('daeb11d1-f673-4881-8318-3c58811a99c9', '198176d2-7923-46dc-b3b7-c95ccf091117', '2025-10-01', '2025-10-17 03:00:00+00', 16000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 2, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('ea44f68d-41dd-40d9-8ddc-59f656e0ddb0', '1b604699-927f-4d03-80ae-e200ad0def10', '2026-05-01', '2026-05-10 03:00:00+00', 14000.00, '{"cuota_nombre": "2 días", "cuota_precio": 14000.00, "cuota_dias_semana": 2}', 1, 'd6af381b-5e27-428c-ba6d-4eea7be68ce6', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('9af1d138-6c29-4df5-a5d5-fa3dd856f040', '1b604699-927f-4d03-80ae-e200ad0def10', '2026-03-01', '2026-03-08 03:00:00+00', 14000.00, '{"cuota_nombre": "2 días", "cuota_precio": 14000.00, "cuota_dias_semana": 2}', 2, 'd6af381b-5e27-428c-ba6d-4eea7be68ce6', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('e635fe81-aa0c-43f8-85aa-032d69ffb642', '1b604699-927f-4d03-80ae-e200ad0def10', '2026-02-01', '2026-02-19 03:00:00+00', 14000.00, '{"cuota_nombre": "2 días", "cuota_precio": 14000.00, "cuota_dias_semana": 2}', 1, 'd6af381b-5e27-428c-ba6d-4eea7be68ce6', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('6760b68f-562f-47b9-ba58-88e15f3819b3', '1b604699-927f-4d03-80ae-e200ad0def10', '2026-01-01', '2026-01-13 03:00:00+00', 14000.00, '{"cuota_nombre": "2 días", "cuota_precio": 14000.00, "cuota_dias_semana": 2}', 4, 'd6af381b-5e27-428c-ba6d-4eea7be68ce6', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('c36623bb-2615-4c87-87a2-b9065eea2aa9', '1b604699-927f-4d03-80ae-e200ad0def10', '2025-12-01', '2025-12-12 03:00:00+00', 14000.00, '{"cuota_nombre": "2 días", "cuota_precio": 14000.00, "cuota_dias_semana": 2}', 1, 'd6af381b-5e27-428c-ba6d-4eea7be68ce6', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('e3042fa8-29cb-4248-89b3-c881a42df266', '1b604699-927f-4d03-80ae-e200ad0def10', '2025-11-01', '2025-11-05 03:00:00+00', 14000.00, '{"cuota_nombre": "2 días", "cuota_precio": 14000.00, "cuota_dias_semana": 2}', 2, 'd6af381b-5e27-428c-ba6d-4eea7be68ce6', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('104e39be-17e5-4a04-81d7-c16813703822', '01af7976-13d2-43a3-bd97-cc3d4358ff29', '2026-05-01', '2026-05-15 03:00:00+00', 18000.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 1, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('9d69efd3-d24a-4067-91fe-9c3d93e5e7a1', '01af7976-13d2-43a3-bd97-cc3d4358ff29', '2026-04-01', '2026-04-20 03:00:00+00', 18000.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 4, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('b8e08728-558a-4be1-87c9-3aee68316d13', '01af7976-13d2-43a3-bd97-cc3d4358ff29', '2026-03-01', '2026-03-20 03:00:00+00', 18000.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 3, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('0bb119fd-4b48-416f-b285-66109b33b519', '01af7976-13d2-43a3-bd97-cc3d4358ff29', '2026-01-01', '2026-01-20 03:00:00+00', 18000.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 1, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('5c7407fe-3ec3-4181-80f3-af7c5cd4669a', '01af7976-13d2-43a3-bd97-cc3d4358ff29', '2025-12-01', '2025-12-09 03:00:00+00', 18000.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 2, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('e6edee39-b7d2-4d32-aa52-b2a6316b0a88', '01af7976-13d2-43a3-bd97-cc3d4358ff29', '2025-11-01', '2025-11-05 03:00:00+00', 18000.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 2, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('3fde8c4f-2a33-4ee8-a65a-6a78cd3a97ac', '6e66deb4-5856-4637-a324-d9c0ab50fd58', '2026-04-01', '2026-04-10 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 1, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('c22d7af1-e87e-435d-ba4c-2085c7e8dd3f', '6e66deb4-5856-4637-a324-d9c0ab50fd58', '2026-02-01', '2026-02-16 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 1, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('b5ab17c4-de18-4c11-a161-4059f9c89646', '6e66deb4-5856-4637-a324-d9c0ab50fd58', '2026-01-01', '2026-01-08 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 3, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('14d6b5d4-508c-49c6-9d75-4774692c588b', '6e66deb4-5856-4637-a324-d9c0ab50fd58', '2025-11-01', '2025-11-15 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 4, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('8370a65d-195b-4152-8ba7-73382ac10cd2', '6e66deb4-5856-4637-a324-d9c0ab50fd58', '2025-10-01', '2025-10-15 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 2, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('724833d8-9283-4515-97ed-0da9c30a94a6', '070057f7-c8e2-4c54-a077-a1e393dedb47', '2026-05-01', '2026-05-13 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 2, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('baced693-f9fc-481e-8361-28148db7ae2b', '070057f7-c8e2-4c54-a077-a1e393dedb47', '2026-04-01', '2026-04-16 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 1, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('0784de72-1723-436f-bdd1-61f696f03009', '070057f7-c8e2-4c54-a077-a1e393dedb47', '2026-02-01', '2026-02-18 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 2, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('6e698253-3f7b-4681-845d-9839c5427200', '070057f7-c8e2-4c54-a077-a1e393dedb47', '2026-01-01', '2026-01-07 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 1, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('c3c9c490-c119-493f-9bd6-c7c59b2ec567', '070057f7-c8e2-4c54-a077-a1e393dedb47', '2025-12-01', '2025-12-14 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 2, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('b7d131a7-3e9a-4a16-9e90-3774ae865e09', '070057f7-c8e2-4c54-a077-a1e393dedb47', '2025-11-01', '2025-11-09 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 3, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('3e6a6b93-c11c-4712-8c36-d6ceb253af61', '070057f7-c8e2-4c54-a077-a1e393dedb47', '2025-10-01', '2025-10-12 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 3, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('ce45bd19-96dd-481b-aa9b-b4ffc61244f2', 'cefbed7b-30b7-4bb1-8445-030a532e00d7', '2026-04-01', '2026-04-11 03:00:00+00', 16000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 1, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('29243015-1fad-4526-8260-eb84ff56928a', 'cefbed7b-30b7-4bb1-8445-030a532e00d7', '2026-03-01', '2026-03-05 03:00:00+00', 18000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 4, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('a3c48812-c2fe-4638-8622-a84b027a42d6', 'cefbed7b-30b7-4bb1-8445-030a532e00d7', '2026-02-01', '2026-02-09 03:00:00+00', 16000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 4, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('550dcc8b-facb-42a6-bf69-214b9080e918', 'cefbed7b-30b7-4bb1-8445-030a532e00d7', '2026-01-01', '2026-01-11 03:00:00+00', 16000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 2, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('f055ae85-df89-483a-94f7-1cac7ac1f266', 'cefbed7b-30b7-4bb1-8445-030a532e00d7', '2025-12-01', '2025-12-15 03:00:00+00', 18500.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 1, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('d4142354-f19b-4dfd-98f1-d4f83da731d9', 'cefbed7b-30b7-4bb1-8445-030a532e00d7', '2025-11-01', '2025-11-16 03:00:00+00', 16000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 4, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('7dc783aa-73a2-441d-b728-e72c636c5724', 'cefbed7b-30b7-4bb1-8445-030a532e00d7', '2025-10-01', '2025-10-12 03:00:00+00', 16000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 1, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('f74aa891-b8b8-4ba7-9086-6f8785b2c344', '3020f110-325c-4f6a-afc8-790ffbc3fbe9', '2026-03-01', '2026-03-17 03:00:00+00', 18000.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 2, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('afcc9da9-ca23-4f5b-9f89-594be2669240', '3020f110-325c-4f6a-afc8-790ffbc3fbe9', '2026-02-01', '2026-02-05 03:00:00+00', 18000.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 2, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('7ecf091f-efbe-4b00-b400-8f6020996920', '3020f110-325c-4f6a-afc8-790ffbc3fbe9', '2025-12-01', '2025-12-11 03:00:00+00', 18500.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 1, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('b5539190-4e0a-4195-ac1f-56721cd04ca8', '3020f110-325c-4f6a-afc8-790ffbc3fbe9', '2025-11-01', '2025-11-08 03:00:00+00', 18000.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 1, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', 'cliente equivocado'); +INSERT INTO public.pagos VALUES ('5e305cea-ada4-4929-aa36-bd1fc8d313db', '8800fc42-5f40-4c35-ba8a-73f6fcaf54e6', '2026-05-01', '2026-05-09 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 3, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('2b3c7105-f80a-4420-a4a9-faa6f3957ec7', '8800fc42-5f40-4c35-ba8a-73f6fcaf54e6', '2026-04-01', '2026-04-19 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 1, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('602dbbc4-bed0-4e6b-969e-341eaf1858c7', '8800fc42-5f40-4c35-ba8a-73f6fcaf54e6', '2026-03-01', '2026-03-10 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 4, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('aaf726cb-5a1a-4b4e-b6e1-14deac89245c', '8800fc42-5f40-4c35-ba8a-73f6fcaf54e6', '2026-02-01', '2026-02-06 03:00:00+00', 25000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 2, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('2d003622-3b66-490d-836d-038eec219023', '8800fc42-5f40-4c35-ba8a-73f6fcaf54e6', '2026-01-01', '2026-01-18 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 4, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('91b4894f-4279-458c-9c9b-73c2f5504f69', '8800fc42-5f40-4c35-ba8a-73f6fcaf54e6', '2025-12-01', '2025-12-10 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 2, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('dc8450e6-a6e4-4320-bb1b-d16588ce2cd9', '8800fc42-5f40-4c35-ba8a-73f6fcaf54e6', '2025-11-01', '2025-11-14 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 3, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('e1e74b28-a9fe-459d-87d8-3c43cd8e2dbd', '5063176b-e3b3-4cf8-8fbe-7f6525ba32d5', '2026-04-01', '2026-04-06 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 2, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('874b20f2-4b10-4613-bc70-356b4be82d32', '5063176b-e3b3-4cf8-8fbe-7f6525ba32d5', '2026-03-01', '2026-03-16 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 4, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('903b633f-c455-41c1-b038-a327fb5241fc', '5063176b-e3b3-4cf8-8fbe-7f6525ba32d5', '2026-02-01', '2026-02-07 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 4, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('454c2102-3e7e-4c0e-a12a-1a6124fa0e50', '5063176b-e3b3-4cf8-8fbe-7f6525ba32d5', '2026-01-01', '2026-01-08 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 1, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('fa15fbc3-f2e0-4834-8376-696a9e830bb7', '5063176b-e3b3-4cf8-8fbe-7f6525ba32d5', '2025-12-01', '2025-12-16 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 3, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('790a76ef-cfba-47ef-81c0-f2ce237d3331', '5063176b-e3b3-4cf8-8fbe-7f6525ba32d5', '2025-11-01', '2025-11-13 03:00:00+00', 28500.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 2, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('394822b5-b348-4ca3-bb0a-f8d9529def12', '5063176b-e3b3-4cf8-8fbe-7f6525ba32d5', '2025-10-01', '2025-10-09 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 2, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('10259da7-9cd5-4146-b08c-db11751d8037', 'e160e04f-d8ad-4036-a62a-0d6c7dbfe46f', '2026-05-01', '2026-05-09 03:00:00+00', 16000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 2, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('f87ffdf5-375f-41af-a827-3bbbf5305cb2', 'e160e04f-d8ad-4036-a62a-0d6c7dbfe46f', '2026-04-01', '2026-04-15 03:00:00+00', 16000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 2, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('ba0e68f4-052b-46fe-8c04-5cfdd5d88ab3', 'e160e04f-d8ad-4036-a62a-0d6c7dbfe46f', '2026-03-01', '2026-03-16 03:00:00+00', 16000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 1, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('b14207ed-8f3d-49a4-8b5e-590bb6f3c80b', 'e160e04f-d8ad-4036-a62a-0d6c7dbfe46f', '2026-02-01', '2026-02-05 03:00:00+00', 18000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 3, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('ea5f1464-6cc1-4c49-a8e6-bbfd6522e92f', 'e160e04f-d8ad-4036-a62a-0d6c7dbfe46f', '2026-01-01', '2026-01-10 03:00:00+00', 16000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 2, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('1dd29789-12ce-4375-8f29-ae0ef3ab509b', 'e160e04f-d8ad-4036-a62a-0d6c7dbfe46f', '2025-12-01', '2025-12-15 03:00:00+00', 18000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 2, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('ae299c16-483c-42ad-b2d3-e913b5588a2f', 'e160e04f-d8ad-4036-a62a-0d6c7dbfe46f', '2025-10-01', '2025-10-15 03:00:00+00', 16000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 4, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('233fee00-8c21-4294-b081-59605b1eecdc', 'ec574029-e9f2-45bd-a032-fc7a49ef04e4', '2026-04-01', '2026-04-18 03:00:00+00', 14000.00, '{"cuota_nombre": "2 días", "cuota_precio": 14000.00, "cuota_dias_semana": 2}', 1, 'd6af381b-5e27-428c-ba6d-4eea7be68ce6', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('14826e8e-7e1d-4b8a-98d5-0e2dac5329c0', 'ec574029-e9f2-45bd-a032-fc7a49ef04e4', '2026-03-01', '2026-03-14 03:00:00+00', 14000.00, '{"cuota_nombre": "2 días", "cuota_precio": 14000.00, "cuota_dias_semana": 2}', 2, 'd6af381b-5e27-428c-ba6d-4eea7be68ce6', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('e1e9c9d1-877a-4536-9e18-b1759f91ea6a', 'ec574029-e9f2-45bd-a032-fc7a49ef04e4', '2026-02-01', '2026-02-20 03:00:00+00', 14000.00, '{"cuota_nombre": "2 días", "cuota_precio": 14000.00, "cuota_dias_semana": 2}', 3, 'd6af381b-5e27-428c-ba6d-4eea7be68ce6', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('1f883ab6-7ca9-4b84-a803-a92a362d1ac7', 'ec574029-e9f2-45bd-a032-fc7a49ef04e4', '2026-01-01', '2026-01-12 03:00:00+00', 14000.00, '{"cuota_nombre": "2 días", "cuota_precio": 14000.00, "cuota_dias_semana": 2}', 1, 'd6af381b-5e27-428c-ba6d-4eea7be68ce6', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('9809e874-aa9d-45a1-a6a6-676d5b2f4d6c', 'ec574029-e9f2-45bd-a032-fc7a49ef04e4', '2025-12-01', '2025-12-14 03:00:00+00', 16000.00, '{"cuota_nombre": "2 días", "cuota_precio": 14000.00, "cuota_dias_semana": 2}', 3, 'd6af381b-5e27-428c-ba6d-4eea7be68ce6', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('6dae9882-a23b-49dc-aa36-d3741ed852fd', 'ec574029-e9f2-45bd-a032-fc7a49ef04e4', '2025-11-01', '2025-11-13 03:00:00+00', 14000.00, '{"cuota_nombre": "2 días", "cuota_precio": 14000.00, "cuota_dias_semana": 2}', 1, 'd6af381b-5e27-428c-ba6d-4eea7be68ce6', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('9264ab35-c382-46f4-8f86-417da43a6497', 'ec574029-e9f2-45bd-a032-fc7a49ef04e4', '2025-10-01', '2025-10-09 03:00:00+00', 16500.00, '{"cuota_nombre": "2 días", "cuota_precio": 14000.00, "cuota_dias_semana": 2}', 1, 'd6af381b-5e27-428c-ba6d-4eea7be68ce6', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('9ca27a4b-5cf2-40c3-837e-a14672420c44', '324a98da-78aa-4ffa-b0eb-029e85f85d76', '2026-05-01', '2026-05-14 03:00:00+00', 18000.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 4, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('d986e7f7-32af-4524-89ea-bc5f9ae30ab8', '324a98da-78aa-4ffa-b0eb-029e85f85d76', '2026-04-01', '2026-04-07 03:00:00+00', 20500.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 1, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('e46a0caf-2f44-4bad-8d47-bf874fd39c19', '324a98da-78aa-4ffa-b0eb-029e85f85d76', '2026-02-01', '2026-02-07 03:00:00+00', 20500.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 2, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('437e9877-bedd-4475-8e39-b46476e15bb8', '324a98da-78aa-4ffa-b0eb-029e85f85d76', '2026-01-01', '2026-01-17 03:00:00+00', 18000.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 3, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', 'cobro no acreditado'); +INSERT INTO public.pagos VALUES ('f93ba24c-b9be-4f0c-99da-6a52ee0b4a71', '324a98da-78aa-4ffa-b0eb-029e85f85d76', '2025-12-01', '2025-12-20 03:00:00+00', 18000.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 3, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('7c3717fd-10ba-492e-903c-d2587fcee0ad', '324a98da-78aa-4ffa-b0eb-029e85f85d76', '2025-11-01', '2025-11-20 03:00:00+00', 18000.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 1, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('40fa9935-2d8a-4f08-a9e3-9084e552f366', 'f681a3ce-fd9f-41be-aa2e-e4da6c0c042c', '2026-05-01', '2026-05-14 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 3, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('de9269ae-7f98-4688-bc0e-38aecad0c5a3', 'f681a3ce-fd9f-41be-aa2e-e4da6c0c042c', '2026-04-01', '2026-04-20 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 3, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('6557618e-ae84-4fe8-9379-9db8febcbccd', 'f681a3ce-fd9f-41be-aa2e-e4da6c0c042c', '2026-03-01', '2026-03-11 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 1, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('965ee065-4ac0-447a-91fa-ccbc3a3afa03', 'f681a3ce-fd9f-41be-aa2e-e4da6c0c042c', '2026-02-01', '2026-02-12 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 2, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('c9b33da5-80a8-4d8e-873b-a677e53873da', 'f681a3ce-fd9f-41be-aa2e-e4da6c0c042c', '2026-01-01', '2026-01-17 03:00:00+00', 25000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 3, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('a926bf4e-b382-48cf-8a9e-03f211801dee', 'f681a3ce-fd9f-41be-aa2e-e4da6c0c042c', '2025-12-01', '2025-12-18 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 2, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('d79dd11f-e3ea-4b35-9180-1509fcd84308', 'f681a3ce-fd9f-41be-aa2e-e4da6c0c042c', '2025-11-01', '2025-11-08 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 1, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('48108375-e66f-46f1-9fa9-90ebd6f04362', 'f681a3ce-fd9f-41be-aa2e-e4da6c0c042c', '2025-10-01', '2025-10-14 03:00:00+00', 25500.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 4, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('96e22f5d-7ae1-405e-ab87-171458ccfed5', '78323bb7-21cb-4965-a4d7-9c1b1d6660b7', '2026-05-01', '2026-05-13 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 3, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('6564c0e7-1fe3-473f-b366-32f371752619', '78323bb7-21cb-4965-a4d7-9c1b1d6660b7', '2026-04-01', '2026-04-09 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 4, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('633cd67f-d3bd-4ea5-b622-a08e1b8ba8fb', '78323bb7-21cb-4965-a4d7-9c1b1d6660b7', '2026-03-01', '2026-03-20 03:00:00+00', 32000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 4, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('3950d26a-f5e2-4130-8fd0-7d0db44c0a41', '78323bb7-21cb-4965-a4d7-9c1b1d6660b7', '2026-02-01', '2026-02-19 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 4, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('0317c0b4-2ae5-4e9c-819f-b1bf89aa9afc', '78323bb7-21cb-4965-a4d7-9c1b1d6660b7', '2025-12-01', '2025-12-15 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 4, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('51d50160-a21f-42f1-a8cd-c1c370be30d7', '78323bb7-21cb-4965-a4d7-9c1b1d6660b7', '2025-11-01', '2025-11-09 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 3, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('e4dbfc91-33d4-4af7-be27-b2154797b39a', '78323bb7-21cb-4965-a4d7-9c1b1d6660b7', '2025-10-01', '2025-10-11 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 1, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('38592f95-56ea-45f5-985e-eca12242de5b', '74380d29-a357-40f5-ae1d-d9c72616dd74', '2026-05-01', '2026-05-06 03:00:00+00', 16000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 1, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('9dae9480-8da4-4c35-ae98-39a4e8952a2f', '74380d29-a357-40f5-ae1d-d9c72616dd74', '2026-04-01', '2026-04-17 03:00:00+00', 16000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 3, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('608a138e-9e3a-41b0-8252-0bfccd1b6f5e', '74380d29-a357-40f5-ae1d-d9c72616dd74', '2026-03-01', '2026-03-15 03:00:00+00', 16000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 4, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('49dcd748-32f6-4bc0-9c56-7803e61eefa4', '74380d29-a357-40f5-ae1d-d9c72616dd74', '2026-02-01', '2026-02-12 03:00:00+00', 16000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 2, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('f77e77da-f1c9-42a1-a6c3-7d89dee9dd1a', '74380d29-a357-40f5-ae1d-d9c72616dd74', '2025-11-01', '2025-11-07 03:00:00+00', 16000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 1, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('4c1cfccc-bf5e-4b3f-a7af-d7ba80cc474f', '74380d29-a357-40f5-ae1d-d9c72616dd74', '2025-10-01', '2025-10-08 03:00:00+00', 16000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 1, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('3b8a2372-0452-4ed5-8b19-3f82f613dd69', 'f2919e7a-0e42-4650-88ff-b1ab1ae1d91a', '2026-05-01', '2026-05-18 03:00:00+00', 18000.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 1, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('cdf7a857-b274-48fd-83d3-fba3829da8c0', 'f2919e7a-0e42-4650-88ff-b1ab1ae1d91a', '2026-03-01', '2026-03-05 03:00:00+00', 20500.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 1, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('690b045b-b802-45c5-923e-2a4cd2541731', 'f2919e7a-0e42-4650-88ff-b1ab1ae1d91a', '2026-02-01', '2026-02-05 03:00:00+00', 18000.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 1, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('e8544e5a-9bb2-474d-bae8-bc3dc3048f72', 'f2919e7a-0e42-4650-88ff-b1ab1ae1d91a', '2026-01-01', '2026-01-11 03:00:00+00', 18000.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 3, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('82cc5794-19e3-4ea2-91bd-d5ecefb80709', 'f2919e7a-0e42-4650-88ff-b1ab1ae1d91a', '2025-12-01', '2025-12-19 03:00:00+00', 18000.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 4, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('c1e9afdc-f688-47d6-a4b1-416dc315ea48', 'f2919e7a-0e42-4650-88ff-b1ab1ae1d91a', '2025-11-01', '2025-11-11 03:00:00+00', 18000.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 1, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('8107397c-59af-4137-9f48-d468cd8e9f23', 'f2919e7a-0e42-4650-88ff-b1ab1ae1d91a', '2025-10-01', '2025-10-11 03:00:00+00', 20500.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 4, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('38748940-ea07-435f-9f56-0634dbbf604e', '44364efa-ba85-499e-bfde-97cf19d26e53', '2026-05-01', '2026-05-06 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 2, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('9bade750-4123-4d76-adc6-6ab7b7f25b69', '44364efa-ba85-499e-bfde-97cf19d26e53', '2026-03-01', '2026-03-16 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 3, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('9b382df6-3823-4f33-b0c7-8a754b90f94f', '44364efa-ba85-499e-bfde-97cf19d26e53', '2026-01-01', '2026-01-09 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 3, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('54018c5e-ef55-42f5-b1a0-883fa09f9bd1', '44364efa-ba85-499e-bfde-97cf19d26e53', '2025-12-01', '2025-12-17 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 1, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('3a4d21c7-07a1-46a1-b16c-8507f2be70aa', '44364efa-ba85-499e-bfde-97cf19d26e53', '2025-11-01', '2025-11-10 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 2, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('5d441ed9-c5b2-4c53-920d-9fcd7543bb06', '44364efa-ba85-499e-bfde-97cf19d26e53', '2025-10-01', '2025-10-17 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 1, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('67866f62-8645-4e49-9cbc-c2efba9140e4', 'e3134bf8-19ad-4420-a837-de4cf2c34103', '2026-05-01', '2026-05-05 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 2, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('057fb240-ddb4-4886-a981-43f7a61543a6', 'e3134bf8-19ad-4420-a837-de4cf2c34103', '2026-04-01', '2026-04-09 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 2, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('07ca55fc-e90e-4037-84aa-d68b69169d06', 'e3134bf8-19ad-4420-a837-de4cf2c34103', '2026-02-01', '2026-02-19 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 2, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('ca328eaf-6cba-46c8-a0ff-dde8f573ae1e', 'e3134bf8-19ad-4420-a837-de4cf2c34103', '2026-01-01', '2026-01-19 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 1, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', 'error de monto'); +INSERT INTO public.pagos VALUES ('1bc13648-58a4-44d3-b920-f4b54fc0fdd3', 'e3134bf8-19ad-4420-a837-de4cf2c34103', '2025-12-01', '2025-12-09 03:00:00+00', 32000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 4, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('c480639c-56f7-41bb-9857-da6362fffb06', 'e3134bf8-19ad-4420-a837-de4cf2c34103', '2025-11-01', '2025-11-10 03:00:00+00', 32500.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 3, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('fe558c53-f6b5-4164-ab04-b56dcb987f20', 'e3134bf8-19ad-4420-a837-de4cf2c34103', '2025-10-01', '2025-10-20 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 1, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('b89588da-4a71-4e9e-a687-883a37a0c125', 'f5a79227-8040-4dea-9b16-418b5def4de0', '2026-05-01', '2026-05-06 03:00:00+00', 18000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 1, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('d99d5f65-2f2b-40a3-b52c-a851093aa582', 'f5a79227-8040-4dea-9b16-418b5def4de0', '2026-04-01', '2026-04-10 03:00:00+00', 16000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 3, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('fff5d07a-df1e-47fc-9568-e35af572eff5', 'f5a79227-8040-4dea-9b16-418b5def4de0', '2026-03-01', '2026-03-14 03:00:00+00', 18000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 4, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('5965edbf-40fe-4d49-8094-98e47864ae17', 'f5a79227-8040-4dea-9b16-418b5def4de0', '2025-12-01', '2025-12-16 03:00:00+00', 16000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 4, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('bec96def-3017-4267-9c8c-9cf23227fffd', 'f5a79227-8040-4dea-9b16-418b5def4de0', '2025-10-01', '2025-10-09 03:00:00+00', 18000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 1, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('3a622279-d883-409e-9a9b-d965a925e2da', 'f7df642a-1976-49fc-bd71-e58fad664f4d', '2026-05-01', '2026-05-15 03:00:00+00', 16000.00, '{"cuota_nombre": "2 días", "cuota_precio": 14000.00, "cuota_dias_semana": 2}', 3, 'd6af381b-5e27-428c-ba6d-4eea7be68ce6', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('55a19287-1f5c-4558-adea-7fd3bb67472e', 'f7df642a-1976-49fc-bd71-e58fad664f4d', '2026-04-01', '2026-04-08 03:00:00+00', 14000.00, '{"cuota_nombre": "2 días", "cuota_precio": 14000.00, "cuota_dias_semana": 2}', 3, 'd6af381b-5e27-428c-ba6d-4eea7be68ce6', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('6ac8d51a-c2f7-4d60-90cc-f4037d99a68d', 'f7df642a-1976-49fc-bd71-e58fad664f4d', '2026-03-01', '2026-03-14 03:00:00+00', 14000.00, '{"cuota_nombre": "2 días", "cuota_precio": 14000.00, "cuota_dias_semana": 2}', 3, 'd6af381b-5e27-428c-ba6d-4eea7be68ce6', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('73be4045-cf52-4436-8411-dd8d28e0b4af', 'f7df642a-1976-49fc-bd71-e58fad664f4d', '2026-02-01', '2026-02-09 03:00:00+00', 14000.00, '{"cuota_nombre": "2 días", "cuota_precio": 14000.00, "cuota_dias_semana": 2}', 2, 'd6af381b-5e27-428c-ba6d-4eea7be68ce6', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('b67e551d-4c79-43df-878e-6266b5040ca7', 'f7df642a-1976-49fc-bd71-e58fad664f4d', '2026-01-01', '2026-01-15 03:00:00+00', 14000.00, '{"cuota_nombre": "2 días", "cuota_precio": 14000.00, "cuota_dias_semana": 2}', 2, 'd6af381b-5e27-428c-ba6d-4eea7be68ce6', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('137357ac-9787-456b-946c-66a7d8b58865', 'f7df642a-1976-49fc-bd71-e58fad664f4d', '2025-12-01', '2025-12-06 03:00:00+00', 16000.00, '{"cuota_nombre": "2 días", "cuota_precio": 14000.00, "cuota_dias_semana": 2}', 2, 'd6af381b-5e27-428c-ba6d-4eea7be68ce6', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('3222d737-87a1-4558-818f-489a07dd63be', 'f7df642a-1976-49fc-bd71-e58fad664f4d', '2025-11-01', '2025-11-18 03:00:00+00', 14000.00, '{"cuota_nombre": "2 días", "cuota_precio": 14000.00, "cuota_dias_semana": 2}', 1, 'd6af381b-5e27-428c-ba6d-4eea7be68ce6', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('351b5017-7518-4ed6-9354-63ef76b4a74c', 'f7df642a-1976-49fc-bd71-e58fad664f4d', '2025-10-01', '2025-10-12 03:00:00+00', 14000.00, '{"cuota_nombre": "2 días", "cuota_precio": 14000.00, "cuota_dias_semana": 2}', 3, 'd6af381b-5e27-428c-ba6d-4eea7be68ce6', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('035c399f-66bc-44fb-9ec1-489289c87ce8', '79e9578c-e4b8-4586-a122-7ae21731bbe7', '2026-05-01', '2026-05-11 03:00:00+00', 18000.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 2, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('85255907-fbfa-4f30-bb1e-f4691edb0d55', '79e9578c-e4b8-4586-a122-7ae21731bbe7', '2026-04-01', '2026-04-19 03:00:00+00', 20500.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 2, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('c6ecc64b-9e06-4483-90a9-0f824b1dc6bb', '79e9578c-e4b8-4586-a122-7ae21731bbe7', '2026-03-01', '2026-03-16 03:00:00+00', 18000.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 3, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('d88fde50-7748-402b-bd8f-0b2450583f92', '79e9578c-e4b8-4586-a122-7ae21731bbe7', '2026-02-01', '2026-02-15 03:00:00+00', 18000.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 2, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('b301a6dc-e8f2-43f5-a4cb-1d257cfdf0d5', '79e9578c-e4b8-4586-a122-7ae21731bbe7', '2026-01-01', '2026-01-06 03:00:00+00', 18000.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 3, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('f0a33ef2-e8c1-419c-ac13-335226ae51f8', '79e9578c-e4b8-4586-a122-7ae21731bbe7', '2025-12-01', '2025-12-13 03:00:00+00', 18000.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 3, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('97035353-aea7-4b25-81a3-82e2d38864fc', 'f1aab3ea-1cbc-4546-86e7-892973edc917', '2026-04-01', '2026-04-16 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 2, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('bd22b360-e5a9-4d03-b4a6-c35a8059a913', 'f1aab3ea-1cbc-4546-86e7-892973edc917', '2026-03-01', '2026-03-17 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 4, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('86458f22-1598-45ea-a805-5bd34a414fc5', 'f1aab3ea-1cbc-4546-86e7-892973edc917', '2026-02-01', '2026-02-06 03:00:00+00', 25000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 3, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('730176c2-aebc-4f85-bf3f-e0bc05dea992', 'f1aab3ea-1cbc-4546-86e7-892973edc917', '2026-01-01', '2026-01-10 03:00:00+00', 22500.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 1, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('9fdd269c-d2ed-4e93-994b-96ee755bcecc', 'f1aab3ea-1cbc-4546-86e7-892973edc917', '2025-12-01', '2025-12-11 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 3, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('5a9b201b-ad84-4ddd-b3c1-d428a0bb6857', 'f1aab3ea-1cbc-4546-86e7-892973edc917', '2025-11-01', '2025-11-15 03:00:00+00', 25500.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 1, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('e65fed06-70d6-4dea-9e03-4e0f4cd25551', 'f1aab3ea-1cbc-4546-86e7-892973edc917', '2025-10-01', '2025-10-20 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 2, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', 'error de monto'); +INSERT INTO public.pagos VALUES ('bbe4055e-cb82-429c-871a-9410df3d43d8', '7644fc92-cfa0-4bd1-90cf-6b7d01081774', '2026-05-01', '2026-05-19 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 1, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('b395174f-3d90-475b-bcff-d3eeb1bdabe0', '7644fc92-cfa0-4bd1-90cf-6b7d01081774', '2026-04-01', '2026-04-09 03:00:00+00', 28500.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 4, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('7efb3325-10b3-401f-90ff-140832edf13c', '7644fc92-cfa0-4bd1-90cf-6b7d01081774', '2026-02-01', '2026-02-05 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 2, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('9d5d1d54-f99a-4e2d-aecc-64d00f113c3e', '7644fc92-cfa0-4bd1-90cf-6b7d01081774', '2025-12-01', '2025-12-18 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 4, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('8322c42d-894e-46f4-ac7b-63700b7c1c38', '7644fc92-cfa0-4bd1-90cf-6b7d01081774', '2025-11-01', '2025-11-18 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 2, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('ae1f7926-90e9-41e4-86e1-ea494026880f', '7644fc92-cfa0-4bd1-90cf-6b7d01081774', '2025-10-01', '2025-10-17 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 2, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', 'cliente equivocado'); +INSERT INTO public.pagos VALUES ('6173e47e-76dd-4fb0-a5c4-1bff83debb14', '6daa72d9-192c-4c98-8b76-74ee6416ff2b', '2026-05-01', '2026-05-13 03:00:00+00', 16000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 1, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('9c46bf8b-ed68-43a8-b4db-250bd7c0387f', '6daa72d9-192c-4c98-8b76-74ee6416ff2b', '2026-04-01', '2026-04-07 03:00:00+00', 16000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 1, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', 'cobro no acreditado'); +INSERT INTO public.pagos VALUES ('895d6f6c-5bc3-46a8-9b94-d9d82edee5a8', '6daa72d9-192c-4c98-8b76-74ee6416ff2b', '2026-03-01', '2026-03-13 03:00:00+00', 18000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 1, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('d0ddef67-3578-4229-b438-54027c332ff5', '6daa72d9-192c-4c98-8b76-74ee6416ff2b', '2026-02-01', '2026-02-07 03:00:00+00', 16000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 3, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('e61f723c-699d-4dd8-8a2a-00f3df64bf3f', '6daa72d9-192c-4c98-8b76-74ee6416ff2b', '2026-01-01', '2026-01-20 03:00:00+00', 16000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 2, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('f6405557-8501-450c-9af9-023bda7ff2c4', '6daa72d9-192c-4c98-8b76-74ee6416ff2b', '2025-12-01', '2025-12-08 03:00:00+00', 16000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 3, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('91d423e7-7bb8-43c5-91ae-523aac1056cc', '6daa72d9-192c-4c98-8b76-74ee6416ff2b', '2025-10-01', '2025-10-06 03:00:00+00', 16000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 3, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('14fca9f8-7228-40f8-946f-e529045ec8ad', '25f8aad9-58f1-4b8f-bd5b-cae7edd4f269', '2026-05-01', '2026-05-13 03:00:00+00', 20500.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 2, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('5f9c9d5a-ecd2-473e-9484-3d4b7c588373', '25f8aad9-58f1-4b8f-bd5b-cae7edd4f269', '2026-04-01', '2026-04-16 03:00:00+00', 18000.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 2, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('73b9defe-6270-489e-b36c-8f5ab127d52b', '25f8aad9-58f1-4b8f-bd5b-cae7edd4f269', '2026-02-01', '2026-02-11 03:00:00+00', 18500.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 1, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('d8cd8bf4-c9b4-442a-a4f3-5c83798c620a', '25f8aad9-58f1-4b8f-bd5b-cae7edd4f269', '2025-11-01', '2025-11-12 03:00:00+00', 18000.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 2, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('150cd7b3-74ea-47b3-9afb-d6865da9ac54', '25f8aad9-58f1-4b8f-bd5b-cae7edd4f269', '2025-10-01', '2025-10-06 03:00:00+00', 18000.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 3, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', 'cobro no acreditado'); +INSERT INTO public.pagos VALUES ('10fc52c6-f95e-4e92-b721-011bc9e41662', '5dc3949c-49f6-46e5-9687-d4de93fb57e4', '2026-05-01', '2026-05-16 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 2, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('741b41d6-d240-492d-a30a-1b09cfd959ea', '5dc3949c-49f6-46e5-9687-d4de93fb57e4', '2026-04-01', '2026-04-17 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 1, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('f2c25300-cc45-43c7-9ae9-1365b2d8d4f4', '5dc3949c-49f6-46e5-9687-d4de93fb57e4', '2026-03-01', '2026-03-16 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 2, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('cd869a8e-1bc1-4e3c-881c-349cdd1f3b8f', '5dc3949c-49f6-46e5-9687-d4de93fb57e4', '2026-02-01', '2026-02-17 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 1, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('f02e9945-1375-4ca6-8261-33da608bd2a3', '5dc3949c-49f6-46e5-9687-d4de93fb57e4', '2026-01-01', '2026-01-20 03:00:00+00', 25000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 4, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('1e54df32-a804-40d1-a187-ddbfc75c77f5', '5dc3949c-49f6-46e5-9687-d4de93fb57e4', '2025-12-01', '2025-12-07 03:00:00+00', 25000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 4, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('dc794f63-b1cb-4bc6-ad4c-4058fdb918ca', '5dc3949c-49f6-46e5-9687-d4de93fb57e4', '2025-11-01', '2025-11-20 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 3, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('551170e0-0016-4a12-945c-a83fd3848f4a', '19c48d9d-936f-4321-a4bc-b1cb3d4b9960', '2026-05-01', '2026-05-15 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 4, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('6289572e-7c72-4e31-8f3f-ccdd011ad165', '19c48d9d-936f-4321-a4bc-b1cb3d4b9960', '2026-04-01', '2026-04-06 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 2, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('858dcd76-d856-4a89-aa45-255499c9fa14', '19c48d9d-936f-4321-a4bc-b1cb3d4b9960', '2026-02-01', '2026-02-09 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 2, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('af86700a-1654-4958-986a-effe4009f563', '19c48d9d-936f-4321-a4bc-b1cb3d4b9960', '2026-01-01', '2026-01-18 03:00:00+00', 32000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 3, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('06fb70c8-9594-4982-9319-4855c8913015', '19c48d9d-936f-4321-a4bc-b1cb3d4b9960', '2025-12-01', '2025-12-13 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 4, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('22e33315-1d03-4218-9cd7-72a91ad206fd', '19c48d9d-936f-4321-a4bc-b1cb3d4b9960', '2025-11-01', '2025-11-06 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 1, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', 'cobro no acreditado'); +INSERT INTO public.pagos VALUES ('428652c1-e515-48a6-839a-f308db2d925f', '19c48d9d-936f-4321-a4bc-b1cb3d4b9960', '2025-10-01', '2025-10-10 03:00:00+00', 32000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 4, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('2608483b-d8af-44d6-a525-61baeaadd98a', '3b14568a-7b64-4cad-8cde-25ad30b27746', '2026-04-01', '2026-04-13 03:00:00+00', 16000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 3, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', 'cliente equivocado'); +INSERT INTO public.pagos VALUES ('36a55134-5773-49d3-91e8-d8b4fa1f294b', '3b14568a-7b64-4cad-8cde-25ad30b27746', '2026-02-01', '2026-02-15 03:00:00+00', 16000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 1, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('bdd18fe6-d967-4dfe-9e5d-2614c9804705', '3b14568a-7b64-4cad-8cde-25ad30b27746', '2026-01-01', '2026-01-14 03:00:00+00', 16000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 1, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('08303d4f-e0f2-4ef9-acf5-2f602fb77e87', '3b14568a-7b64-4cad-8cde-25ad30b27746', '2025-12-01', '2025-12-13 03:00:00+00', 16000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 4, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('744b8f2a-fb69-4a32-869c-beb8252d856d', '3b14568a-7b64-4cad-8cde-25ad30b27746', '2025-11-01', '2025-11-06 03:00:00+00', 16000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 4, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('8157b4d1-d9a4-4ffb-a19b-16ff488fae61', '3b14568a-7b64-4cad-8cde-25ad30b27746', '2025-10-01', '2025-10-13 03:00:00+00', 16000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 3, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('57dc2150-885f-474d-8212-8647226e4e86', '7a295fbb-a09a-4607-9f4c-e3e5fa45862c', '2026-04-01', '2026-04-10 03:00:00+00', 14000.00, '{"cuota_nombre": "2 días", "cuota_precio": 14000.00, "cuota_dias_semana": 2}', 2, 'd6af381b-5e27-428c-ba6d-4eea7be68ce6', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('25d9359f-4870-47d2-9267-bee453e4756d', '7a295fbb-a09a-4607-9f4c-e3e5fa45862c', '2026-03-01', '2026-03-08 03:00:00+00', 14000.00, '{"cuota_nombre": "2 días", "cuota_precio": 14000.00, "cuota_dias_semana": 2}', 3, 'd6af381b-5e27-428c-ba6d-4eea7be68ce6', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('6f9f7722-1055-4078-8e67-333322d1c573', '7a295fbb-a09a-4607-9f4c-e3e5fa45862c', '2026-02-01', '2026-02-11 03:00:00+00', 14000.00, '{"cuota_nombre": "2 días", "cuota_precio": 14000.00, "cuota_dias_semana": 2}', 1, 'd6af381b-5e27-428c-ba6d-4eea7be68ce6', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('12315c07-a8a0-4ec9-8830-b109d5533d73', '7a295fbb-a09a-4607-9f4c-e3e5fa45862c', '2026-01-01', '2026-01-07 03:00:00+00', 14000.00, '{"cuota_nombre": "2 días", "cuota_precio": 14000.00, "cuota_dias_semana": 2}', 1, 'd6af381b-5e27-428c-ba6d-4eea7be68ce6', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('6349c509-ba4f-47e5-af9f-6d3b13d68674', '7a295fbb-a09a-4607-9f4c-e3e5fa45862c', '2025-12-01', '2025-12-07 03:00:00+00', 14000.00, '{"cuota_nombre": "2 días", "cuota_precio": 14000.00, "cuota_dias_semana": 2}', 2, 'd6af381b-5e27-428c-ba6d-4eea7be68ce6', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('0d14e058-9367-4fe5-8a4f-2efcbc3d1217', '7a295fbb-a09a-4607-9f4c-e3e5fa45862c', '2025-11-01', '2025-11-09 03:00:00+00', 14000.00, '{"cuota_nombre": "2 días", "cuota_precio": 14000.00, "cuota_dias_semana": 2}', 1, 'd6af381b-5e27-428c-ba6d-4eea7be68ce6', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('6ec17104-e494-4a41-8853-966586f1b006', '21730ee3-9b66-4328-8851-c0e47edeb873', '2026-05-01', '2026-05-13 03:00:00+00', 18000.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 1, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('ba558083-2153-430f-8ff3-dadf368664b2', '21730ee3-9b66-4328-8851-c0e47edeb873', '2026-04-01', '2026-04-10 03:00:00+00', 18000.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 1, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('d53f4447-ebda-4e51-9a88-48a84c04a9dd', '21730ee3-9b66-4328-8851-c0e47edeb873', '2026-02-01', '2026-02-19 03:00:00+00', 18000.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 4, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('77773d75-c659-4ed9-a143-e8401a145132', '21730ee3-9b66-4328-8851-c0e47edeb873', '2026-01-01', '2026-01-08 03:00:00+00', 18000.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 3, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('cd2ebe97-b843-4888-be5c-92e5d23d97d5', '21730ee3-9b66-4328-8851-c0e47edeb873', '2025-12-01', '2025-12-07 03:00:00+00', 18000.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 3, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('eb62f93b-1606-49e7-bf97-52d4d1d9ff38', '21730ee3-9b66-4328-8851-c0e47edeb873', '2025-11-01', '2025-11-11 03:00:00+00', 18000.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 4, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('c0fd2b05-82a0-46e7-8a27-38f783c612dd', '21730ee3-9b66-4328-8851-c0e47edeb873', '2025-10-01', '2025-10-06 03:00:00+00', 18000.00, '{"cuota_nombre": "3 días", "cuota_precio": 18000.00, "cuota_dias_semana": 3}', 1, 'a7363f10-00ab-48ea-9437-dd408226b3df', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('f0f91574-8811-41a0-a925-7ddd83a3e93a', '0994395d-dfe6-4897-842d-e39771d8eab9', '2026-05-01', '2026-05-05 03:00:00+00', 25500.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 2, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('8148b5f1-82e6-4cd3-a0aa-e5dd72111be6', '0994395d-dfe6-4897-842d-e39771d8eab9', '2026-04-01', '2026-04-08 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 2, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('418ea9e2-aa4f-4417-b161-a67bf7dc13ea', '0994395d-dfe6-4897-842d-e39771d8eab9', '2026-03-01', '2026-03-09 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 2, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('01803325-b6dd-4d50-9266-442f06a2bd5a', '0994395d-dfe6-4897-842d-e39771d8eab9', '2026-02-01', '2026-02-05 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 3, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('7128f850-a330-4070-b769-989acbad6164', '0994395d-dfe6-4897-842d-e39771d8eab9', '2025-11-01', '2025-11-10 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 4, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', 'error de monto'); +INSERT INTO public.pagos VALUES ('891e6e6f-75c7-40db-965f-d009f8800e42', '0994395d-dfe6-4897-842d-e39771d8eab9', '2025-10-01', '2025-10-08 03:00:00+00', 22000.00, '{"cuota_nombre": "4 días", "cuota_precio": 22000.00, "cuota_dias_semana": 4}', 4, '8ee18d4d-272a-4e09-a5d3-431fa5cd0f49', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('995fcdb8-023d-4a12-9841-efdcb19d645e', '854a0ff0-dbd7-42ea-8d14-9724828f20b7', '2026-05-01', '2026-05-07 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 2, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('1c932685-86b6-42a3-806c-4313bd25c1bb', '854a0ff0-dbd7-42ea-8d14-9724828f20b7', '2026-04-01', '2026-04-09 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 4, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('e6c3db1c-48a7-4ae9-875f-4c350df397aa', '854a0ff0-dbd7-42ea-8d14-9724828f20b7', '2026-03-01', '2026-03-10 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 1, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('dfb682d7-01bf-4dbe-998c-fedbadb1cfec', '854a0ff0-dbd7-42ea-8d14-9724828f20b7', '2026-02-01', '2026-02-10 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 1, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('3fa84221-e448-45f9-b80e-21b71a57d6e9', '854a0ff0-dbd7-42ea-8d14-9724828f20b7', '2026-01-01', '2026-01-20 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 3, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('527d0ac3-9a4c-421a-8669-316553ecf8d2', '854a0ff0-dbd7-42ea-8d14-9724828f20b7', '2025-11-01', '2025-11-07 03:00:00+00', 28000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 3, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('41abcae0-3f37-4ad1-a0f1-b25c2242615a', '854a0ff0-dbd7-42ea-8d14-9724828f20b7', '2025-10-01', '2025-10-11 03:00:00+00', 32000.00, '{"cuota_nombre": "Pase Libre", "cuota_precio": 28000.00, "cuota_dias_semana": 7}', 2, '8e591416-2e72-4a51-ae74-1b454cdaa2f9', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('0a4302c0-c72d-4977-b46c-44dff50105c2', '3bc4d101-8b75-42cc-b790-2df83be052a0', '2026-05-01', '2026-05-20 03:00:00+00', 16000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 3, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('b470d056-272a-44b7-9cbf-e8caa118d3a1', '3bc4d101-8b75-42cc-b790-2df83be052a0', '2026-04-01', '2026-04-05 03:00:00+00', 16000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 3, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('c8d21fc4-29b7-49a2-b01f-1bec0359fcd8', '3bc4d101-8b75-42cc-b790-2df83be052a0', '2026-03-01', '2026-03-11 03:00:00+00', 16000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 2, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('ab93c91b-c92d-4717-a186-13f12a118497', '3bc4d101-8b75-42cc-b790-2df83be052a0', '2026-02-01', '2026-02-11 03:00:00+00', 16000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 3, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('6c618f1b-c940-43b3-8974-a8b79d07ba65', '3bc4d101-8b75-42cc-b790-2df83be052a0', '2025-12-01', '2025-12-09 03:00:00+00', 16000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 2, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('54fd57e8-39d7-4835-838f-4176d47d783a', '3bc4d101-8b75-42cc-b790-2df83be052a0', '2025-11-01', '2025-11-15 03:00:00+00', 18000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 4, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.pagos VALUES ('09b0b87f-f058-4a6a-8042-e55ca2ee1e41', '3bc4d101-8b75-42cc-b790-2df83be052a0', '2025-10-01', '2025-10-17 03:00:00+00', 16000.00, '{"cuota_nombre": "Solo Musculación", "cuota_precio": 16000.00, "cuota_dias_semana": 6}', 1, 'fa7f0303-074f-4475-a4d7-91d34241a7cd', 'cuota_mensual', '2026-06-06 20:47:11.219594+00', '8dcf1f1e-56c0-4f72-bd71-5b4c56cc0969', NULL, NULL, NULL, NULL, NULL); + + +-- +-- Data for Name: progreso_ejercicios; Type: TABLE DATA; Schema: public; Owner: - +-- + + + +-- +-- Data for Name: turnos; Type: TABLE DATA; Schema: public; Owner: - +-- + +INSERT INTO public.turnos VALUES ('90536da3-601d-4867-9b15-a930f44aa9b7', 1, '2026-06-06', '10:00:00', '11:00:00', 15, true, 6, false); +INSERT INTO public.turnos VALUES ('9815c54d-bca6-4695-9a19-19edc61386ab', 2, '2026-06-06', '11:00:00', '12:00:00', 12, true, 6, false); +INSERT INTO public.turnos VALUES ('fb56400b-b724-4c06-84f1-9c2de8ff46dc', 4, '2026-06-06', '09:00:00', '10:00:00', 18, true, 6, false); +INSERT INTO public.turnos VALUES ('7748307b-b42d-4bfe-af73-5a42d2314649', 1, '2026-06-08', '08:00:00', '09:00:00', 15, true, 1, false); +INSERT INTO public.turnos VALUES ('496fbd33-36d2-4f11-bdd5-8f17b990136c', 1, '2026-06-08', '18:00:00', '19:00:00', 15, true, 1, false); +INSERT INTO public.turnos VALUES ('098206b4-dd9e-4611-a858-06f4411c18d3', 1, '2026-06-08', '19:00:00', '20:00:00', 15, true, 1, false); +INSERT INTO public.turnos VALUES ('7abd4f86-86f7-4b8d-925d-8bbb34b28d00', 2, '2026-06-08', '09:00:00', '10:00:00', 12, true, 1, false); +INSERT INTO public.turnos VALUES ('c9a3b65d-b46f-485a-ab0f-aab57e8516f6', 2, '2026-06-08', '19:00:00', '20:00:00', 12, true, 1, false); +INSERT INTO public.turnos VALUES ('c895383d-6694-449e-90ae-93faa4ca9369', 2, '2026-06-08', '20:00:00', '21:00:00', 12, true, 1, false); +INSERT INTO public.turnos VALUES ('d5fc87e3-f790-465b-a492-e54ac3447319', 3, '2026-06-08', '07:00:00', '07:45:00', 20, true, 1, false); +INSERT INTO public.turnos VALUES ('7b3e4028-7494-4c8e-bc69-1112081fc1f2', 3, '2026-06-08', '18:30:00', '19:15:00', 20, true, 1, false); +INSERT INTO public.turnos VALUES ('06e9cf13-6e4e-406e-8e18-3aabb95d49b3', 3, '2026-06-08', '19:30:00', '20:15:00', 20, true, 1, false); +INSERT INTO public.turnos VALUES ('7275182d-da4e-4cc0-86a7-b2955c6f05e6', 4, '2026-06-08', '10:00:00', '11:00:00', 18, true, 1, false); +INSERT INTO public.turnos VALUES ('ac3d7ff8-55c1-4e45-ab3a-028c6d507cff', 4, '2026-06-08', '17:00:00', '18:00:00', 18, true, 1, false); +INSERT INTO public.turnos VALUES ('07809733-d544-4886-aa5c-d6cd7ed08862', 6, '2026-06-08', '09:00:00', '09:55:00', 12, true, 1, false); +INSERT INTO public.turnos VALUES ('ab19112e-898a-43b3-960d-4bf47bb3aa4c', 6, '2026-06-08', '16:00:00', '16:55:00', 12, true, 1, false); +INSERT INTO public.turnos VALUES ('a4c661a5-2bc7-49c4-b242-c9023e44c973', 1, '2026-06-09', '08:00:00', '09:00:00', 15, true, 2, false); +INSERT INTO public.turnos VALUES ('7f91284e-eac8-4966-ac51-9321e1ff8108', 1, '2026-06-09', '18:00:00', '19:00:00', 15, true, 2, false); +INSERT INTO public.turnos VALUES ('c68b3254-de8c-404e-b653-dafde7d1f015', 1, '2026-06-09', '19:00:00', '20:00:00', 15, true, 2, false); +INSERT INTO public.turnos VALUES ('c3cbb5b7-d392-4be0-984a-b4821aef9540', 2, '2026-06-09', '09:00:00', '10:00:00', 12, true, 2, false); +INSERT INTO public.turnos VALUES ('c62a6638-41f7-432b-a9ac-799afad2f6b5', 2, '2026-06-09', '19:00:00', '20:00:00', 12, true, 2, false); +INSERT INTO public.turnos VALUES ('29d1ec25-fe07-4145-b5c1-3a6002f9d98b', 2, '2026-06-09', '20:00:00', '21:00:00', 12, true, 2, false); +INSERT INTO public.turnos VALUES ('092aa7e7-494e-4e06-a404-1f28a7665437', 3, '2026-06-09', '07:00:00', '07:45:00', 20, true, 2, false); +INSERT INTO public.turnos VALUES ('5bb3efe5-ecbd-4e66-b5f1-294e35905610', 3, '2026-06-09', '18:30:00', '19:15:00', 20, true, 2, false); +INSERT INTO public.turnos VALUES ('9619d6ac-6852-4b5f-94c3-c9c72c06b77e', 3, '2026-06-09', '19:30:00', '20:15:00', 20, true, 2, false); +INSERT INTO public.turnos VALUES ('b128317b-1d51-43e7-90f7-392da58639aa', 4, '2026-06-09', '10:00:00', '11:00:00', 18, true, 2, false); +INSERT INTO public.turnos VALUES ('b5699073-ee39-4110-8263-d38faf0ef4a4', 4, '2026-06-09', '17:00:00', '18:00:00', 18, true, 2, false); +INSERT INTO public.turnos VALUES ('aa3b4073-e32b-4329-830c-cea4defbe857', 6, '2026-06-09', '09:00:00', '09:55:00', 12, true, 2, false); +INSERT INTO public.turnos VALUES ('6667cffa-4a29-4818-95f8-c8471d01a55f', 6, '2026-06-09', '16:00:00', '16:55:00', 12, true, 2, false); +INSERT INTO public.turnos VALUES ('4c78a86d-86d3-47fa-9b4e-b67f488e3d43', 1, '2026-06-10', '08:00:00', '09:00:00', 15, true, 3, false); +INSERT INTO public.turnos VALUES ('74aece03-5b3c-4b4c-a694-c2cf1bee2ed4', 1, '2026-06-10', '18:00:00', '19:00:00', 15, true, 3, false); +INSERT INTO public.turnos VALUES ('80da0c70-5184-4733-b03d-d945be104fef', 1, '2026-06-10', '19:00:00', '20:00:00', 15, true, 3, false); +INSERT INTO public.turnos VALUES ('04e4ac19-2e8c-468b-97f7-fc3718c2f461', 2, '2026-06-10', '09:00:00', '10:00:00', 12, true, 3, false); +INSERT INTO public.turnos VALUES ('a2165fcf-df5e-42eb-b593-085da77a651c', 2, '2026-06-10', '19:00:00', '20:00:00', 12, true, 3, false); +INSERT INTO public.turnos VALUES ('60645634-25b2-49a8-a678-77e5db9e68d5', 2, '2026-06-10', '20:00:00', '21:00:00', 12, true, 3, false); +INSERT INTO public.turnos VALUES ('ad2b7a6d-ae60-42f6-974a-bf4fbf712d81', 3, '2026-06-10', '07:00:00', '07:45:00', 20, true, 3, false); +INSERT INTO public.turnos VALUES ('a66d07f9-fc78-4cd5-9171-baa2ccefcdec', 3, '2026-06-10', '18:30:00', '19:15:00', 20, true, 3, false); +INSERT INTO public.turnos VALUES ('ecf13cc7-e77f-48c1-a2bb-c824d535295f', 3, '2026-06-10', '19:30:00', '20:15:00', 20, true, 3, false); +INSERT INTO public.turnos VALUES ('225f5972-7c56-4df1-ad21-c2a29a5d7313', 4, '2026-06-10', '10:00:00', '11:00:00', 18, true, 3, false); +INSERT INTO public.turnos VALUES ('b0bf68b0-1b57-4c36-93c1-10d9e5775939', 4, '2026-06-10', '17:00:00', '18:00:00', 18, true, 3, false); +INSERT INTO public.turnos VALUES ('9159e8aa-37b5-47b5-a514-2de5d44a42b0', 6, '2026-06-10', '09:00:00', '09:55:00', 12, true, 3, false); +INSERT INTO public.turnos VALUES ('d4c0a7c3-776e-440c-98a0-2b59c1dfdd6a', 6, '2026-06-10', '16:00:00', '16:55:00', 12, true, 3, false); +INSERT INTO public.turnos VALUES ('cc3a3265-ba34-43cf-bbb2-6aa59409286f', 1, '2026-06-11', '08:00:00', '09:00:00', 15, true, 4, false); +INSERT INTO public.turnos VALUES ('b288b195-1b6e-4ed1-84eb-39d70d6c0396', 1, '2026-06-11', '18:00:00', '19:00:00', 15, true, 4, false); +INSERT INTO public.turnos VALUES ('923b1346-f321-4005-abb5-1610991db07a', 1, '2026-06-11', '19:00:00', '20:00:00', 15, true, 4, false); +INSERT INTO public.turnos VALUES ('fde832e5-db01-4a56-966c-c62ea5c3c24f', 2, '2026-06-11', '09:00:00', '10:00:00', 12, true, 4, false); +INSERT INTO public.turnos VALUES ('0531942b-95a6-4b93-8aad-5a6c9350ff4e', 2, '2026-06-11', '19:00:00', '20:00:00', 12, true, 4, false); +INSERT INTO public.turnos VALUES ('2e961567-b6ef-4c23-abb0-b26cd0ad248e', 2, '2026-06-11', '20:00:00', '21:00:00', 12, true, 4, false); +INSERT INTO public.turnos VALUES ('19c2d6e7-51a0-4c08-9031-67f69b0e479d', 3, '2026-06-11', '07:00:00', '07:45:00', 20, true, 4, false); +INSERT INTO public.turnos VALUES ('8bb43783-969b-4085-99d4-710d552a8c82', 3, '2026-06-11', '18:30:00', '19:15:00', 20, true, 4, false); +INSERT INTO public.turnos VALUES ('e302753c-d9e1-4bdc-a1b0-daacdb9086e6', 3, '2026-06-11', '19:30:00', '20:15:00', 20, true, 4, false); +INSERT INTO public.turnos VALUES ('d976124d-1a27-4f77-ba81-f522b0f3ed01', 4, '2026-06-11', '10:00:00', '11:00:00', 18, true, 4, false); +INSERT INTO public.turnos VALUES ('a8163a71-50c8-4324-ad72-5db4b7aecf96', 4, '2026-06-11', '17:00:00', '18:00:00', 18, true, 4, false); +INSERT INTO public.turnos VALUES ('1f00b3b1-cff7-486f-a32d-f20e72e64648', 6, '2026-06-11', '09:00:00', '09:55:00', 12, true, 4, false); +INSERT INTO public.turnos VALUES ('db0c926c-158c-4477-8af0-7ce1592ea1d5', 6, '2026-06-11', '16:00:00', '16:55:00', 12, true, 4, false); +INSERT INTO public.turnos VALUES ('b878cd7f-ba37-4550-8f79-c8f482cef391', 1, '2026-06-12', '08:00:00', '09:00:00', 15, true, 5, false); +INSERT INTO public.turnos VALUES ('3ced9745-e579-4bf4-b29a-9a22b15f645b', 1, '2026-06-12', '18:00:00', '19:00:00', 15, true, 5, false); +INSERT INTO public.turnos VALUES ('9e859f8a-ea37-4702-b398-4d8c6fe76043', 1, '2026-06-12', '19:00:00', '20:00:00', 15, true, 5, false); +INSERT INTO public.turnos VALUES ('d38430fb-fa05-42b8-9865-ec04366d8a20', 2, '2026-06-12', '09:00:00', '10:00:00', 12, true, 5, false); +INSERT INTO public.turnos VALUES ('f87b895c-eba5-4715-8928-5905c275381b', 2, '2026-06-12', '19:00:00', '20:00:00', 12, true, 5, false); +INSERT INTO public.turnos VALUES ('cd52f832-c246-43f4-9f41-48482be99a17', 2, '2026-06-12', '20:00:00', '21:00:00', 12, true, 5, false); +INSERT INTO public.turnos VALUES ('566d7a7a-6993-426f-98f0-63985657c484', 3, '2026-06-12', '07:00:00', '07:45:00', 20, true, 5, false); +INSERT INTO public.turnos VALUES ('3f44b8b1-6ed5-447e-b019-1af93de2197b', 3, '2026-06-12', '18:30:00', '19:15:00', 20, true, 5, false); +INSERT INTO public.turnos VALUES ('6c3d55bb-cd10-4acf-982c-faa64a377413', 3, '2026-06-12', '19:30:00', '20:15:00', 20, true, 5, false); +INSERT INTO public.turnos VALUES ('e7ec7ce0-c060-4283-b141-56725f7a8f3a', 4, '2026-06-12', '10:00:00', '11:00:00', 18, true, 5, false); +INSERT INTO public.turnos VALUES ('8a814f8c-9c9a-4a1e-a5a0-c40b156ee695', 4, '2026-06-12', '17:00:00', '18:00:00', 18, true, 5, false); +INSERT INTO public.turnos VALUES ('4df957d2-6067-43f8-af56-46b36fb764f8', 6, '2026-06-12', '09:00:00', '09:55:00', 12, true, 5, false); +INSERT INTO public.turnos VALUES ('5d7d173a-c6f7-435c-8754-e41d52369f7a', 6, '2026-06-12', '16:00:00', '16:55:00', 12, true, 5, false); +INSERT INTO public.turnos VALUES ('0d59d2cc-bf7b-4d80-886f-c2a5744182e8', 1, '2026-06-13', '10:00:00', '11:00:00', 15, true, 6, false); +INSERT INTO public.turnos VALUES ('1dae8831-9a5f-4c7d-8651-9b1afd93e4dd', 2, '2026-06-13', '11:00:00', '12:00:00', 12, true, 6, false); +INSERT INTO public.turnos VALUES ('ab12ce82-0fa9-4123-82fb-158e83970e46', 4, '2026-06-13', '09:00:00', '10:00:00', 18, true, 6, false); +INSERT INTO public.turnos VALUES ('636e9601-1c14-4ca5-a0f3-ca5e61b93366', 1, '2026-06-15', '08:00:00', '09:00:00', 15, true, 1, false); +INSERT INTO public.turnos VALUES ('881e5157-77f3-45a9-8246-e19a990fc053', 1, '2026-06-15', '18:00:00', '19:00:00', 15, true, 1, false); +INSERT INTO public.turnos VALUES ('9bac651d-de4b-4ec4-94e6-e80e6721bd8d', 1, '2026-06-15', '19:00:00', '20:00:00', 15, true, 1, false); +INSERT INTO public.turnos VALUES ('d19ca76f-77fb-470f-b0e2-e3e457886938', 2, '2026-06-15', '09:00:00', '10:00:00', 12, true, 1, false); +INSERT INTO public.turnos VALUES ('23b7f986-0c73-45e5-9282-2cd7529728b5', 2, '2026-06-15', '19:00:00', '20:00:00', 12, true, 1, false); +INSERT INTO public.turnos VALUES ('7c114359-c0f1-4128-86cc-88eb727b9395', 2, '2026-06-15', '20:00:00', '21:00:00', 12, true, 1, false); +INSERT INTO public.turnos VALUES ('b7359df5-f678-4f74-9849-3ffa19ef2d1e', 3, '2026-06-15', '07:00:00', '07:45:00', 20, true, 1, false); +INSERT INTO public.turnos VALUES ('c2dc23b0-1a57-4ba8-84aa-d120c05e71b6', 3, '2026-06-15', '18:30:00', '19:15:00', 20, true, 1, false); +INSERT INTO public.turnos VALUES ('07de0ac7-de6d-481d-8e4a-b42fb561ad81', 3, '2026-06-15', '19:30:00', '20:15:00', 20, true, 1, false); +INSERT INTO public.turnos VALUES ('4da9e32a-e642-4f5a-b617-8e74d97e616c', 4, '2026-06-15', '10:00:00', '11:00:00', 18, true, 1, false); +INSERT INTO public.turnos VALUES ('cab18ad7-03b1-4660-88ef-3db57cc1d73b', 4, '2026-06-15', '17:00:00', '18:00:00', 18, true, 1, false); +INSERT INTO public.turnos VALUES ('1ad8fbd8-9c3b-4eaa-be3c-b1711c1c6f0a', 6, '2026-06-15', '09:00:00', '09:55:00', 12, true, 1, false); +INSERT INTO public.turnos VALUES ('1a00ecfb-5a60-4b12-95b2-a236cfdfe3f4', 6, '2026-06-15', '16:00:00', '16:55:00', 12, true, 1, false); +INSERT INTO public.turnos VALUES ('059fada8-53e0-4384-a73c-a06869b17819', 1, '2026-06-16', '08:00:00', '09:00:00', 15, true, 2, false); +INSERT INTO public.turnos VALUES ('27a101fe-ca52-4099-adac-d42843997b9b', 1, '2026-06-16', '18:00:00', '19:00:00', 15, true, 2, false); +INSERT INTO public.turnos VALUES ('6aa97861-815a-4850-9418-9ddfde4fd3fa', 1, '2026-06-16', '19:00:00', '20:00:00', 15, true, 2, false); +INSERT INTO public.turnos VALUES ('618d9350-2675-44b4-82c9-db7ae85300dc', 2, '2026-06-16', '09:00:00', '10:00:00', 12, true, 2, false); +INSERT INTO public.turnos VALUES ('1a141b66-4a64-4494-b5d8-5d68a4c7e070', 2, '2026-06-16', '19:00:00', '20:00:00', 12, true, 2, false); +INSERT INTO public.turnos VALUES ('c879ef23-6827-403c-9419-445876466264', 2, '2026-06-16', '20:00:00', '21:00:00', 12, true, 2, false); +INSERT INTO public.turnos VALUES ('f2024aff-efad-4fa9-8ad6-744b144d5255', 3, '2026-06-16', '07:00:00', '07:45:00', 20, true, 2, false); +INSERT INTO public.turnos VALUES ('a9593cc7-b28c-4c10-ae84-151db3c53320', 3, '2026-06-16', '18:30:00', '19:15:00', 20, true, 2, false); +INSERT INTO public.turnos VALUES ('edf985b8-4ab5-4502-ba37-5bc48386496b', 3, '2026-06-16', '19:30:00', '20:15:00', 20, true, 2, false); +INSERT INTO public.turnos VALUES ('c00ff690-4712-4c1e-86b9-dae196a5d119', 4, '2026-06-16', '10:00:00', '11:00:00', 18, true, 2, false); +INSERT INTO public.turnos VALUES ('43f4863a-731a-4360-af67-507220d06156', 4, '2026-06-16', '17:00:00', '18:00:00', 18, true, 2, false); +INSERT INTO public.turnos VALUES ('8b8dd730-9b14-4749-baef-94493bfcd950', 6, '2026-06-16', '09:00:00', '09:55:00', 12, true, 2, false); +INSERT INTO public.turnos VALUES ('d94fe0f3-4607-4324-9171-f9e6aeaab935', 6, '2026-06-16', '16:00:00', '16:55:00', 12, true, 2, false); +INSERT INTO public.turnos VALUES ('75785798-8de3-4667-9116-6a940cb03f52', 1, '2026-06-17', '08:00:00', '09:00:00', 15, true, 3, false); +INSERT INTO public.turnos VALUES ('4435627b-130e-4e38-9ed0-eb13d9ad5a33', 1, '2026-06-17', '18:00:00', '19:00:00', 15, true, 3, false); +INSERT INTO public.turnos VALUES ('1a811791-d825-4341-a8af-4ec5da1555f8', 1, '2026-06-17', '19:00:00', '20:00:00', 15, true, 3, false); +INSERT INTO public.turnos VALUES ('02ae1c91-1005-43e2-bedd-3bbda73f306b', 2, '2026-06-17', '09:00:00', '10:00:00', 12, true, 3, false); +INSERT INTO public.turnos VALUES ('b81b141d-36c9-4930-9fae-887d62c3f1e6', 2, '2026-06-17', '19:00:00', '20:00:00', 12, true, 3, false); +INSERT INTO public.turnos VALUES ('d3f9bd43-95d7-4699-8220-98cee44430c7', 2, '2026-06-17', '20:00:00', '21:00:00', 12, true, 3, false); +INSERT INTO public.turnos VALUES ('0d1b50c0-fba1-42d4-9926-cb01b2d95917', 3, '2026-06-17', '07:00:00', '07:45:00', 20, true, 3, false); +INSERT INTO public.turnos VALUES ('87543065-ca44-4fe9-9f02-4b218e903fbe', 3, '2026-06-17', '18:30:00', '19:15:00', 20, true, 3, false); +INSERT INTO public.turnos VALUES ('6503cd2e-f912-4b30-8f66-75e3fc852815', 3, '2026-06-17', '19:30:00', '20:15:00', 20, true, 3, false); +INSERT INTO public.turnos VALUES ('c5edcfbf-f5e7-435b-a878-7d6caca2e47f', 4, '2026-06-17', '10:00:00', '11:00:00', 18, true, 3, false); +INSERT INTO public.turnos VALUES ('6fc3a4ae-e2d3-4214-8937-dc10e3214643', 4, '2026-06-17', '17:00:00', '18:00:00', 18, true, 3, false); +INSERT INTO public.turnos VALUES ('97261b24-be1b-4640-987b-880e0b80d207', 6, '2026-06-17', '09:00:00', '09:55:00', 12, true, 3, false); +INSERT INTO public.turnos VALUES ('f01d4352-c86d-47f9-ab00-f8961c26d008', 6, '2026-06-17', '16:00:00', '16:55:00', 12, true, 3, false); +INSERT INTO public.turnos VALUES ('2c3e8efa-1b9c-42d1-9bdc-88e7674f977f', 1, '2026-06-18', '08:00:00', '09:00:00', 15, true, 4, false); +INSERT INTO public.turnos VALUES ('58c47ef9-6bbe-4d42-a754-465118a868f3', 1, '2026-06-18', '18:00:00', '19:00:00', 15, true, 4, false); +INSERT INTO public.turnos VALUES ('d0d9cdda-4fa7-442f-b9c5-cb539bd08109', 1, '2026-06-18', '19:00:00', '20:00:00', 15, true, 4, false); +INSERT INTO public.turnos VALUES ('4441e3df-9c0d-477e-a5cd-22a7da2675cd', 2, '2026-06-18', '09:00:00', '10:00:00', 12, true, 4, false); +INSERT INTO public.turnos VALUES ('d7ddaba9-83d3-4ea0-a65e-e238e34f9d2f', 2, '2026-06-18', '19:00:00', '20:00:00', 12, true, 4, false); +INSERT INTO public.turnos VALUES ('4a847a28-505c-46c2-8159-2bc3225866e8', 2, '2026-06-18', '20:00:00', '21:00:00', 12, true, 4, false); +INSERT INTO public.turnos VALUES ('4f899720-97c5-46b6-a0b5-3cc0f90015e2', 3, '2026-06-18', '07:00:00', '07:45:00', 20, true, 4, false); +INSERT INTO public.turnos VALUES ('665e83dc-110e-4b95-ae7e-093e40990a03', 3, '2026-06-18', '18:30:00', '19:15:00', 20, true, 4, false); +INSERT INTO public.turnos VALUES ('fde0202f-f8d6-467e-a3a3-42c0dc41aeec', 3, '2026-06-18', '19:30:00', '20:15:00', 20, true, 4, false); +INSERT INTO public.turnos VALUES ('fdf057e8-6662-4e7c-bd4c-18f4126149c8', 4, '2026-06-18', '10:00:00', '11:00:00', 18, true, 4, false); +INSERT INTO public.turnos VALUES ('ca835440-ee09-4361-b806-1a61da045bb1', 4, '2026-06-18', '17:00:00', '18:00:00', 18, true, 4, false); +INSERT INTO public.turnos VALUES ('60b47871-8dc8-4d0f-b128-ae69fec68ca7', 6, '2026-06-18', '09:00:00', '09:55:00', 12, true, 4, false); +INSERT INTO public.turnos VALUES ('63055b63-ac17-495f-b146-24c677cbec92', 6, '2026-06-18', '16:00:00', '16:55:00', 12, true, 4, false); +INSERT INTO public.turnos VALUES ('aac2a1b6-32d6-4dc4-b68c-50021d39f5a9', 1, '2026-06-19', '08:00:00', '09:00:00', 15, true, 5, false); +INSERT INTO public.turnos VALUES ('2e1ba0f8-6a45-42af-95c3-1c177836f8da', 1, '2026-06-19', '18:00:00', '19:00:00', 15, true, 5, false); +INSERT INTO public.turnos VALUES ('6810d74f-babc-41be-aa70-f2a267b7a0af', 1, '2026-06-19', '19:00:00', '20:00:00', 15, true, 5, false); +INSERT INTO public.turnos VALUES ('c366abb7-b7b7-448e-a4df-0c7fb7f6e6bd', 2, '2026-06-19', '09:00:00', '10:00:00', 12, true, 5, false); +INSERT INTO public.turnos VALUES ('42fba062-5d25-4def-85b3-36ff1fc43b79', 2, '2026-06-19', '19:00:00', '20:00:00', 12, true, 5, false); +INSERT INTO public.turnos VALUES ('18dffd5c-a7f9-4adc-822c-b450b3374ca3', 2, '2026-06-19', '20:00:00', '21:00:00', 12, true, 5, false); +INSERT INTO public.turnos VALUES ('80f7d5a2-ef8b-4df6-82bf-3676a726c6bc', 3, '2026-06-19', '07:00:00', '07:45:00', 20, true, 5, false); +INSERT INTO public.turnos VALUES ('f490df65-b06d-4eab-b211-141083b46b14', 3, '2026-06-19', '18:30:00', '19:15:00', 20, true, 5, false); +INSERT INTO public.turnos VALUES ('b618154a-cc27-4789-b150-9a6ace203c1a', 3, '2026-06-19', '19:30:00', '20:15:00', 20, true, 5, false); +INSERT INTO public.turnos VALUES ('b4d4b7ee-ba5d-4277-9fc2-a62524e8f89e', 4, '2026-06-19', '10:00:00', '11:00:00', 18, true, 5, false); +INSERT INTO public.turnos VALUES ('44d70d38-0867-4d1d-b1b0-31ad74943ca5', 4, '2026-06-19', '17:00:00', '18:00:00', 18, true, 5, false); +INSERT INTO public.turnos VALUES ('a027daaa-35ab-4306-bcce-93f33d17b024', 6, '2026-06-19', '09:00:00', '09:55:00', 12, true, 5, false); +INSERT INTO public.turnos VALUES ('b1839845-2f91-4f27-aed8-a9d3967c5910', 6, '2026-06-19', '16:00:00', '16:55:00', 12, true, 5, false); +INSERT INTO public.turnos VALUES ('b42d9830-da03-4c68-bbcd-4966eb86763e', 1, '2026-06-20', '10:00:00', '11:00:00', 15, true, 6, false); +INSERT INTO public.turnos VALUES ('00d4703b-017c-4d44-a4d2-4c9f5b87ac19', 2, '2026-06-20', '11:00:00', '12:00:00', 12, true, 6, false); +INSERT INTO public.turnos VALUES ('725ff6df-f1fb-4d1e-b964-21bce41db32b', 4, '2026-06-20', '09:00:00', '10:00:00', 18, true, 6, false); +INSERT INTO public.turnos VALUES ('bf430712-0a19-47ba-92f8-06250932fcba', 1, '2026-06-22', '08:00:00', '09:00:00', 15, true, 1, false); +INSERT INTO public.turnos VALUES ('87a30639-5ed9-41e6-8c28-7a1c81b19bbc', 1, '2026-06-22', '18:00:00', '19:00:00', 15, true, 1, false); +INSERT INTO public.turnos VALUES ('4ab062d6-bc78-42a8-a206-24e7f2ab222a', 1, '2026-06-22', '19:00:00', '20:00:00', 15, true, 1, false); +INSERT INTO public.turnos VALUES ('0e66654d-9737-4c70-90be-d67e52fc2335', 2, '2026-06-22', '09:00:00', '10:00:00', 12, true, 1, false); +INSERT INTO public.turnos VALUES ('80beda8b-8dff-49e8-82db-99acf2442922', 2, '2026-06-22', '19:00:00', '20:00:00', 12, true, 1, false); +INSERT INTO public.turnos VALUES ('d83b0b14-2d09-48e6-aab5-3480b60608ea', 2, '2026-06-22', '20:00:00', '21:00:00', 12, true, 1, false); +INSERT INTO public.turnos VALUES ('ed242c5b-9d03-4779-9363-501c50f01632', 3, '2026-06-22', '07:00:00', '07:45:00', 20, true, 1, false); +INSERT INTO public.turnos VALUES ('28913f1c-af5b-46a4-a474-49bf3f2f5674', 3, '2026-06-22', '18:30:00', '19:15:00', 20, true, 1, false); +INSERT INTO public.turnos VALUES ('53d2dceb-1526-47c1-8331-72ed8035f48f', 3, '2026-06-22', '19:30:00', '20:15:00', 20, true, 1, false); +INSERT INTO public.turnos VALUES ('4ba3b676-105f-4224-acef-464165cfe867', 4, '2026-06-22', '10:00:00', '11:00:00', 18, true, 1, false); +INSERT INTO public.turnos VALUES ('9ce565cb-e234-4efc-9724-129b1dba87b1', 4, '2026-06-22', '17:00:00', '18:00:00', 18, true, 1, false); +INSERT INTO public.turnos VALUES ('2cf40c66-f8fc-4f90-9592-980d797bf9be', 6, '2026-06-22', '09:00:00', '09:55:00', 12, true, 1, false); +INSERT INTO public.turnos VALUES ('7042d1f3-e577-451b-b700-aaf376461c2d', 6, '2026-06-22', '16:00:00', '16:55:00', 12, true, 1, false); +INSERT INTO public.turnos VALUES ('f3df30b5-fb2f-4e1f-9d40-8c8fd268f0c4', 1, '2026-06-23', '08:00:00', '09:00:00', 15, true, 2, false); +INSERT INTO public.turnos VALUES ('b33cc579-8e1b-43b8-9802-7c14a6086c43', 1, '2026-06-23', '18:00:00', '19:00:00', 15, true, 2, false); +INSERT INTO public.turnos VALUES ('7fd51664-977a-4864-aad9-24c05791ebc6', 1, '2026-06-23', '19:00:00', '20:00:00', 15, true, 2, false); +INSERT INTO public.turnos VALUES ('2d5cbb07-fb72-458a-bc96-524ca4ce2c77', 2, '2026-06-23', '09:00:00', '10:00:00', 12, true, 2, false); +INSERT INTO public.turnos VALUES ('34fe43d8-0163-4575-9857-0d6f1f05c3d9', 2, '2026-06-23', '19:00:00', '20:00:00', 12, true, 2, false); +INSERT INTO public.turnos VALUES ('3d8ac186-a813-4689-a943-8e75d0990db1', 2, '2026-06-23', '20:00:00', '21:00:00', 12, true, 2, false); +INSERT INTO public.turnos VALUES ('22f008bb-b2d4-4175-8724-d042636d3096', 3, '2026-06-23', '07:00:00', '07:45:00', 20, true, 2, false); +INSERT INTO public.turnos VALUES ('652e26e8-24aa-4ea3-8879-deea55b20209', 3, '2026-06-23', '18:30:00', '19:15:00', 20, true, 2, false); +INSERT INTO public.turnos VALUES ('e5011340-5842-433f-93d8-dc366d57cf75', 3, '2026-06-23', '19:30:00', '20:15:00', 20, true, 2, false); +INSERT INTO public.turnos VALUES ('5397e2ff-3e37-4353-ba3b-8463788864a9', 4, '2026-06-23', '10:00:00', '11:00:00', 18, true, 2, false); +INSERT INTO public.turnos VALUES ('3a46b706-d852-422c-8a26-83407ecf624b', 4, '2026-06-23', '17:00:00', '18:00:00', 18, true, 2, false); +INSERT INTO public.turnos VALUES ('4ca34c19-2a83-460c-aeb4-f28000c705ad', 6, '2026-06-23', '09:00:00', '09:55:00', 12, true, 2, false); +INSERT INTO public.turnos VALUES ('301fbb77-8cad-4f43-9a43-8c89adc6c361', 6, '2026-06-23', '16:00:00', '16:55:00', 12, true, 2, false); +INSERT INTO public.turnos VALUES ('867113b7-373c-490b-b1b1-9ce59e9cc71b', 1, '2026-06-24', '08:00:00', '09:00:00', 15, true, 3, false); +INSERT INTO public.turnos VALUES ('4c7aebcc-a405-4bd9-86af-10685a710b38', 1, '2026-06-24', '18:00:00', '19:00:00', 15, true, 3, false); +INSERT INTO public.turnos VALUES ('f80b8d88-7061-4595-a440-14048eb651de', 1, '2026-06-24', '19:00:00', '20:00:00', 15, true, 3, false); +INSERT INTO public.turnos VALUES ('11c2cf60-76bb-4e80-ab2b-c88c06f10b54', 2, '2026-06-24', '09:00:00', '10:00:00', 12, true, 3, false); +INSERT INTO public.turnos VALUES ('03e39dd7-b18d-4913-8ef4-2a3cee8d4194', 2, '2026-06-24', '19:00:00', '20:00:00', 12, true, 3, false); +INSERT INTO public.turnos VALUES ('35880aba-0139-4d50-99f6-e172b0ba4aea', 2, '2026-06-24', '20:00:00', '21:00:00', 12, true, 3, false); +INSERT INTO public.turnos VALUES ('37cf4841-2afe-47f5-b036-a5d6cccd5985', 3, '2026-06-24', '07:00:00', '07:45:00', 20, true, 3, false); +INSERT INTO public.turnos VALUES ('78d127b6-2f77-4275-9101-a8203da9aceb', 3, '2026-06-24', '18:30:00', '19:15:00', 20, true, 3, false); +INSERT INTO public.turnos VALUES ('3af1d998-27a8-489f-bddb-bb2083342f6e', 3, '2026-06-24', '19:30:00', '20:15:00', 20, true, 3, false); +INSERT INTO public.turnos VALUES ('971de0ef-34d5-4e80-b0ca-fb6fab2d2a7f', 4, '2026-06-24', '10:00:00', '11:00:00', 18, true, 3, false); +INSERT INTO public.turnos VALUES ('67a269f2-a80c-4baf-90fe-df56488d1594', 4, '2026-06-24', '17:00:00', '18:00:00', 18, true, 3, false); +INSERT INTO public.turnos VALUES ('932f3daf-773a-47ed-b813-cffc27d7affb', 6, '2026-06-24', '09:00:00', '09:55:00', 12, true, 3, false); +INSERT INTO public.turnos VALUES ('aaa64cbe-304e-4024-a442-c0c71cca62cd', 6, '2026-06-24', '16:00:00', '16:55:00', 12, true, 3, false); +INSERT INTO public.turnos VALUES ('83bbcef7-b5dd-4e68-985f-b6cbc3384bce', 1, '2026-06-25', '08:00:00', '09:00:00', 15, true, 4, false); +INSERT INTO public.turnos VALUES ('8c8d1f38-a2bb-4419-82b8-fd58a8d0363c', 1, '2026-06-25', '18:00:00', '19:00:00', 15, true, 4, false); +INSERT INTO public.turnos VALUES ('b2c70126-14eb-4d5c-84e8-78e0e7905cca', 1, '2026-06-25', '19:00:00', '20:00:00', 15, true, 4, false); +INSERT INTO public.turnos VALUES ('cb561ee4-fa46-4b49-85f3-e808597cdeb2', 2, '2026-06-25', '09:00:00', '10:00:00', 12, true, 4, false); +INSERT INTO public.turnos VALUES ('a2b6fb1e-e00f-4c09-a677-f82fe89332b0', 2, '2026-06-25', '19:00:00', '20:00:00', 12, true, 4, false); +INSERT INTO public.turnos VALUES ('4bba1006-bd25-4860-95e8-ecdd9c34ef4f', 2, '2026-06-25', '20:00:00', '21:00:00', 12, true, 4, false); +INSERT INTO public.turnos VALUES ('afa7b336-156b-46a5-9296-904f706a15e8', 3, '2026-06-25', '07:00:00', '07:45:00', 20, true, 4, false); +INSERT INTO public.turnos VALUES ('e686f9d8-cbcf-498d-b753-ca36d8fab09c', 3, '2026-06-25', '18:30:00', '19:15:00', 20, true, 4, false); +INSERT INTO public.turnos VALUES ('8976de81-43b0-4bca-9088-431b8c26a631', 3, '2026-06-25', '19:30:00', '20:15:00', 20, true, 4, false); +INSERT INTO public.turnos VALUES ('e4f8580d-6f97-418c-adc2-e761f2ab28ae', 4, '2026-06-25', '10:00:00', '11:00:00', 18, true, 4, false); +INSERT INTO public.turnos VALUES ('10358f71-be0e-4288-b57c-1c114411dd45', 4, '2026-06-25', '17:00:00', '18:00:00', 18, true, 4, false); +INSERT INTO public.turnos VALUES ('e4cbf75d-1584-4730-bdd0-434ba489a0b1', 6, '2026-06-25', '09:00:00', '09:55:00', 12, true, 4, false); +INSERT INTO public.turnos VALUES ('0e7a0b67-f04d-49d9-9128-e2adf7d88279', 6, '2026-06-25', '16:00:00', '16:55:00', 12, true, 4, false); +INSERT INTO public.turnos VALUES ('065933de-fdb6-42f1-b14e-9b6c42624255', 1, '2026-06-26', '08:00:00', '09:00:00', 15, true, 5, false); +INSERT INTO public.turnos VALUES ('31b535d0-4698-4e51-909f-374d8e64dda0', 1, '2026-06-26', '18:00:00', '19:00:00', 15, true, 5, false); +INSERT INTO public.turnos VALUES ('efa737ae-4bb9-4b7e-9873-6a5f3de4eccc', 1, '2026-06-26', '19:00:00', '20:00:00', 15, true, 5, false); +INSERT INTO public.turnos VALUES ('3a6cb0a0-61a1-4c7d-bb66-dee6472f898a', 2, '2026-06-26', '09:00:00', '10:00:00', 12, true, 5, false); +INSERT INTO public.turnos VALUES ('2349ef13-6f4d-494c-9da8-d17a427c7f5f', 2, '2026-06-26', '19:00:00', '20:00:00', 12, true, 5, false); +INSERT INTO public.turnos VALUES ('2bf0bcbb-2eac-40af-909a-d36e465e8291', 2, '2026-06-26', '20:00:00', '21:00:00', 12, true, 5, false); +INSERT INTO public.turnos VALUES ('76c240e4-f873-4177-8ae7-73784731d8ad', 3, '2026-06-26', '07:00:00', '07:45:00', 20, true, 5, false); +INSERT INTO public.turnos VALUES ('89a59725-0266-4528-be06-fe2ec594d95d', 3, '2026-06-26', '18:30:00', '19:15:00', 20, true, 5, false); +INSERT INTO public.turnos VALUES ('3ac6cc63-bfdf-4def-8ebf-4c729d4a911e', 3, '2026-06-26', '19:30:00', '20:15:00', 20, true, 5, false); +INSERT INTO public.turnos VALUES ('d8e8c401-af2a-40c3-9fab-d51a38f35f89', 4, '2026-06-26', '10:00:00', '11:00:00', 18, true, 5, false); +INSERT INTO public.turnos VALUES ('cfaddfac-c34f-4682-ba48-16c6511788dc', 4, '2026-06-26', '17:00:00', '18:00:00', 18, true, 5, false); +INSERT INTO public.turnos VALUES ('c5f77716-4e08-42e0-8096-a4ef9ad28825', 6, '2026-06-26', '09:00:00', '09:55:00', 12, true, 5, false); +INSERT INTO public.turnos VALUES ('fa207994-c03e-481e-9d57-f5cd2a9c4d05', 6, '2026-06-26', '16:00:00', '16:55:00', 12, true, 5, false); +INSERT INTO public.turnos VALUES ('5538d4cb-7580-4af4-a8a7-1bdb56a5970d', 1, '2026-06-27', '10:00:00', '11:00:00', 15, true, 6, false); +INSERT INTO public.turnos VALUES ('82582f2a-c3c3-4838-999f-c80fcb53dded', 2, '2026-06-27', '11:00:00', '12:00:00', 12, true, 6, false); +INSERT INTO public.turnos VALUES ('f9cfa4db-71a7-4732-8a4c-28c7fba4189f', 4, '2026-06-27', '09:00:00', '10:00:00', 18, true, 6, false); +INSERT INTO public.turnos VALUES ('b84a2486-406a-4fea-873b-272b54b1ba0a', 1, '2026-06-29', '08:00:00', '09:00:00', 15, true, 1, false); +INSERT INTO public.turnos VALUES ('3f2ad944-61f9-439e-a60f-c0034de0a08a', 1, '2026-06-29', '18:00:00', '19:00:00', 15, true, 1, false); +INSERT INTO public.turnos VALUES ('65900012-8a2b-4e20-bc84-6f0001da7dea', 1, '2026-06-29', '19:00:00', '20:00:00', 15, true, 1, false); +INSERT INTO public.turnos VALUES ('2f69dcaa-1dd7-40e2-8877-178bb88999e0', 2, '2026-06-29', '09:00:00', '10:00:00', 12, true, 1, false); +INSERT INTO public.turnos VALUES ('78af4b06-159b-4d64-8c2e-e332bfabbeab', 2, '2026-06-29', '19:00:00', '20:00:00', 12, true, 1, false); +INSERT INTO public.turnos VALUES ('a0c35e45-f47b-4f52-a84e-3053afe49238', 2, '2026-06-29', '20:00:00', '21:00:00', 12, true, 1, false); +INSERT INTO public.turnos VALUES ('c598e83c-76f5-4e14-a882-5da8983f7706', 3, '2026-06-29', '07:00:00', '07:45:00', 20, true, 1, false); +INSERT INTO public.turnos VALUES ('de7f210a-801f-4586-a0a6-1bfb25b24b55', 3, '2026-06-29', '18:30:00', '19:15:00', 20, true, 1, false); +INSERT INTO public.turnos VALUES ('c44b6dd4-1cd9-4324-b46d-12ccd2d763b8', 3, '2026-06-29', '19:30:00', '20:15:00', 20, true, 1, false); +INSERT INTO public.turnos VALUES ('4c93f278-322c-439c-99fd-a2467dbe57da', 4, '2026-06-29', '10:00:00', '11:00:00', 18, true, 1, false); +INSERT INTO public.turnos VALUES ('a0a079c6-eded-481b-bab1-824581dc7bf7', 4, '2026-06-29', '17:00:00', '18:00:00', 18, true, 1, false); +INSERT INTO public.turnos VALUES ('5aaf55bc-3984-4278-b8e7-6917f90ca6ac', 6, '2026-06-29', '09:00:00', '09:55:00', 12, true, 1, false); +INSERT INTO public.turnos VALUES ('ec3e5dde-b48c-4afa-9039-1800ec20982e', 6, '2026-06-29', '16:00:00', '16:55:00', 12, true, 1, false); +INSERT INTO public.turnos VALUES ('0f0b698b-16b6-4ce7-b29b-2c1ca102ed57', 1, '2026-06-30', '08:00:00', '09:00:00', 15, true, 2, false); +INSERT INTO public.turnos VALUES ('3befbce1-632d-4b39-9d9c-da96dc49ea42', 1, '2026-06-30', '18:00:00', '19:00:00', 15, true, 2, false); +INSERT INTO public.turnos VALUES ('5d7f5530-6d19-46c4-baf6-3c7d9dcd5560', 1, '2026-06-30', '19:00:00', '20:00:00', 15, true, 2, false); +INSERT INTO public.turnos VALUES ('de867613-269a-4561-bdc3-0deb2c1ea04f', 2, '2026-06-30', '09:00:00', '10:00:00', 12, true, 2, false); +INSERT INTO public.turnos VALUES ('1dfc3f5f-2019-4846-bcd1-3d45624b4499', 2, '2026-06-30', '19:00:00', '20:00:00', 12, true, 2, false); +INSERT INTO public.turnos VALUES ('95e533ae-eb1c-46a5-92af-df142ed103c2', 2, '2026-06-30', '20:00:00', '21:00:00', 12, true, 2, false); +INSERT INTO public.turnos VALUES ('6b577a35-96fd-4045-b8b0-fe58d719d712', 3, '2026-06-30', '07:00:00', '07:45:00', 20, true, 2, false); +INSERT INTO public.turnos VALUES ('03b8fb88-a1ee-445b-a39d-5a86f50c8c04', 3, '2026-06-30', '18:30:00', '19:15:00', 20, true, 2, false); +INSERT INTO public.turnos VALUES ('1320a102-0316-4815-bfb7-1ea07905ac0a', 3, '2026-06-30', '19:30:00', '20:15:00', 20, true, 2, false); +INSERT INTO public.turnos VALUES ('3f9958bb-8fa7-4f40-ae10-6fb3b33b1477', 4, '2026-06-30', '10:00:00', '11:00:00', 18, true, 2, false); +INSERT INTO public.turnos VALUES ('2a05ff18-3ac4-4f75-9d71-5d394784c7ea', 4, '2026-06-30', '17:00:00', '18:00:00', 18, true, 2, false); +INSERT INTO public.turnos VALUES ('f59f0bc5-593c-4535-abf2-d34ce344a817', 6, '2026-06-30', '09:00:00', '09:55:00', 12, true, 2, false); +INSERT INTO public.turnos VALUES ('5e950bfe-3c92-466f-935b-e2357ff94556', 6, '2026-06-30', '16:00:00', '16:55:00', 12, true, 2, false); +INSERT INTO public.turnos VALUES ('b4458914-8e27-4e2a-a341-1fb1b790e9e0', 1, '2026-07-01', '08:00:00', '09:00:00', 15, true, 3, false); +INSERT INTO public.turnos VALUES ('dc31de64-3193-47b6-ae1c-047551b9c636', 1, '2026-07-01', '18:00:00', '19:00:00', 15, true, 3, false); +INSERT INTO public.turnos VALUES ('1cb503ce-6924-4a81-8e9b-c2bbef442295', 1, '2026-07-01', '19:00:00', '20:00:00', 15, true, 3, false); +INSERT INTO public.turnos VALUES ('1ea307e2-f532-49c1-9168-f25a0b49feaf', 2, '2026-07-01', '09:00:00', '10:00:00', 12, true, 3, false); +INSERT INTO public.turnos VALUES ('0c2c9e11-dfcb-4fcb-bb84-a6794f1651c5', 2, '2026-07-01', '19:00:00', '20:00:00', 12, true, 3, false); +INSERT INTO public.turnos VALUES ('62d50b81-e119-4e37-8a40-1887d9c1586f', 2, '2026-07-01', '20:00:00', '21:00:00', 12, true, 3, false); +INSERT INTO public.turnos VALUES ('8a513a05-3016-4aef-8024-205c560d1c7a', 3, '2026-07-01', '07:00:00', '07:45:00', 20, true, 3, false); +INSERT INTO public.turnos VALUES ('012dbd8e-4e19-413f-950b-b5fd7c7e50a3', 3, '2026-07-01', '18:30:00', '19:15:00', 20, true, 3, false); +INSERT INTO public.turnos VALUES ('6ef6584d-d4b7-4cdb-8d8b-847b5a32c7b7', 3, '2026-07-01', '19:30:00', '20:15:00', 20, true, 3, false); +INSERT INTO public.turnos VALUES ('221ba58e-bff7-483c-a16b-6f5423fe39f7', 4, '2026-07-01', '10:00:00', '11:00:00', 18, true, 3, false); +INSERT INTO public.turnos VALUES ('29345a0f-91a3-4df9-85fd-38beea0e610e', 4, '2026-07-01', '17:00:00', '18:00:00', 18, true, 3, false); +INSERT INTO public.turnos VALUES ('661aee56-1d43-4523-8712-bce315e91209', 6, '2026-07-01', '09:00:00', '09:55:00', 12, true, 3, false); +INSERT INTO public.turnos VALUES ('27b48a30-6730-496d-b07c-a2c7ba39a063', 6, '2026-07-01', '16:00:00', '16:55:00', 12, true, 3, false); +INSERT INTO public.turnos VALUES ('cf32e8f8-1748-4690-8f3e-c9d63cc1155a', 1, '2026-07-02', '08:00:00', '09:00:00', 15, true, 4, false); +INSERT INTO public.turnos VALUES ('cec87b41-32fc-469b-93a8-4e1b7903664c', 1, '2026-07-02', '18:00:00', '19:00:00', 15, true, 4, false); +INSERT INTO public.turnos VALUES ('4025593e-7596-4539-ab0a-58f2e4c5d6e0', 1, '2026-07-02', '19:00:00', '20:00:00', 15, true, 4, false); +INSERT INTO public.turnos VALUES ('b40e2f5b-8c96-4c7a-9832-f912eb1ef1a5', 2, '2026-07-02', '09:00:00', '10:00:00', 12, true, 4, false); +INSERT INTO public.turnos VALUES ('4856bcef-5942-4c1c-9f65-a406446e4126', 2, '2026-07-02', '19:00:00', '20:00:00', 12, true, 4, false); +INSERT INTO public.turnos VALUES ('930afa33-b262-4a5e-9fd3-4d181c74f348', 2, '2026-07-02', '20:00:00', '21:00:00', 12, true, 4, false); +INSERT INTO public.turnos VALUES ('593b1da8-d4f9-4dcc-8bff-f8d2e97fab14', 3, '2026-07-02', '07:00:00', '07:45:00', 20, true, 4, false); +INSERT INTO public.turnos VALUES ('166f4eea-b8fb-4bee-b9b1-f784d86753cf', 3, '2026-07-02', '18:30:00', '19:15:00', 20, true, 4, false); +INSERT INTO public.turnos VALUES ('7dacc4be-e653-42f6-a96e-bf5b284351ee', 3, '2026-07-02', '19:30:00', '20:15:00', 20, true, 4, false); +INSERT INTO public.turnos VALUES ('e8eb4cee-b2e3-440d-aaa9-49cfe10acf5e', 4, '2026-07-02', '10:00:00', '11:00:00', 18, true, 4, false); +INSERT INTO public.turnos VALUES ('510714bd-63dd-466d-ac52-8a05a7211dfa', 4, '2026-07-02', '17:00:00', '18:00:00', 18, true, 4, false); +INSERT INTO public.turnos VALUES ('61a88beb-1814-4958-b082-02a1e2044535', 6, '2026-07-02', '09:00:00', '09:55:00', 12, true, 4, false); +INSERT INTO public.turnos VALUES ('d918bc4e-e193-4780-89ba-7740823ec04b', 6, '2026-07-02', '16:00:00', '16:55:00', 12, true, 4, false); +INSERT INTO public.turnos VALUES ('79c7895d-5eda-4862-89ac-2ffbb3a33ceb', 1, '2026-07-03', '08:00:00', '09:00:00', 15, true, 5, false); +INSERT INTO public.turnos VALUES ('dfbb08ae-f73f-4853-b568-90604ce7f4aa', 1, '2026-07-03', '18:00:00', '19:00:00', 15, true, 5, false); +INSERT INTO public.turnos VALUES ('3d40c2ff-010c-420d-9da7-afb2f0de386d', 1, '2026-07-03', '19:00:00', '20:00:00', 15, true, 5, false); +INSERT INTO public.turnos VALUES ('3c62d0a9-8f33-41f2-aa1d-cd774fb594d8', 2, '2026-07-03', '09:00:00', '10:00:00', 12, true, 5, false); +INSERT INTO public.turnos VALUES ('6f2cfa7b-ef7a-4b1e-9318-ba9aa1fa3fd5', 2, '2026-07-03', '19:00:00', '20:00:00', 12, true, 5, false); +INSERT INTO public.turnos VALUES ('3b2b4b7d-0b08-4de3-b4ab-6dd27211f108', 2, '2026-07-03', '20:00:00', '21:00:00', 12, true, 5, false); +INSERT INTO public.turnos VALUES ('1621309e-5878-402b-8f6a-93072e621ac3', 3, '2026-07-03', '07:00:00', '07:45:00', 20, true, 5, false); +INSERT INTO public.turnos VALUES ('f8d983b5-dad4-49a7-8d02-9388ac2b3b43', 3, '2026-07-03', '18:30:00', '19:15:00', 20, true, 5, false); +INSERT INTO public.turnos VALUES ('248c2438-cfcd-4b65-a4d4-857d744dcfdd', 3, '2026-07-03', '19:30:00', '20:15:00', 20, true, 5, false); +INSERT INTO public.turnos VALUES ('63d7171c-0e33-4c0f-9e65-217de3232775', 4, '2026-07-03', '10:00:00', '11:00:00', 18, true, 5, false); +INSERT INTO public.turnos VALUES ('06a8df41-de1f-49c8-bc89-037d66b4180e', 4, '2026-07-03', '17:00:00', '18:00:00', 18, true, 5, false); +INSERT INTO public.turnos VALUES ('173aaab1-f5ff-44a2-9ec7-4053a24629da', 6, '2026-07-03', '09:00:00', '09:55:00', 12, true, 5, false); +INSERT INTO public.turnos VALUES ('97c9a771-e34b-4d71-8d40-3a0190669b9b', 6, '2026-07-03', '16:00:00', '16:55:00', 12, true, 5, false); +INSERT INTO public.turnos VALUES ('113ec188-9a98-4fff-a8c8-4bfb12581cea', 1, '2026-06-01', '08:00:00', '09:00:00', 15, true, 1, false); +INSERT INTO public.turnos VALUES ('93788166-93af-4b0a-ba35-08aae514b307', 1, '2026-06-01', '18:00:00', '19:00:00', 15, true, 1, false); +INSERT INTO public.turnos VALUES ('c7a6693d-26ba-40eb-8aa2-c41fe4ab3267', 1, '2026-06-01', '19:00:00', '20:00:00', 15, true, 1, false); +INSERT INTO public.turnos VALUES ('98c155a5-d44d-4b4b-9f54-400835b03f45', 2, '2026-06-01', '09:00:00', '10:00:00', 12, true, 1, false); +INSERT INTO public.turnos VALUES ('a6f65b39-207a-4f3d-9d8e-af3e5a315ee5', 2, '2026-06-01', '19:00:00', '20:00:00', 12, true, 1, false); +INSERT INTO public.turnos VALUES ('f9ff054b-48c0-4b2e-8c4c-620b7db458a2', 2, '2026-06-01', '20:00:00', '21:00:00', 12, true, 1, false); +INSERT INTO public.turnos VALUES ('ec2ccd5f-a047-4189-b251-77a062faa015', 3, '2026-06-01', '07:00:00', '07:45:00', 20, true, 1, false); +INSERT INTO public.turnos VALUES ('e7db4fd3-58f1-460f-9c67-4100792c404f', 3, '2026-06-01', '18:30:00', '19:15:00', 20, true, 1, false); +INSERT INTO public.turnos VALUES ('4d344bfd-0bf1-47f7-bc1d-06f24721d70f', 3, '2026-06-01', '19:30:00', '20:15:00', 20, true, 1, false); +INSERT INTO public.turnos VALUES ('f8f9548b-0669-4aed-9891-af764d58b39c', 4, '2026-06-01', '10:00:00', '11:00:00', 18, true, 1, false); +INSERT INTO public.turnos VALUES ('10f57bca-bf18-478c-8bd0-f01887c168a9', 4, '2026-06-01', '17:00:00', '18:00:00', 18, true, 1, false); +INSERT INTO public.turnos VALUES ('639a1bbd-3d0d-4ae2-88f2-8ae003082ebb', 6, '2026-06-01', '09:00:00', '09:55:00', 12, true, 1, false); +INSERT INTO public.turnos VALUES ('a7bf9eed-697e-4093-b95f-9c86ade86c7f', 6, '2026-06-01', '16:00:00', '16:55:00', 12, true, 1, false); +INSERT INTO public.turnos VALUES ('9426f245-43ca-4896-8704-a7d6b06d5346', 1, '2026-06-02', '08:00:00', '09:00:00', 15, true, 2, false); +INSERT INTO public.turnos VALUES ('063f92f8-0eb5-4985-b295-69004a14d477', 1, '2026-06-02', '18:00:00', '19:00:00', 15, true, 2, false); +INSERT INTO public.turnos VALUES ('642330f5-2a9c-4c37-a543-445dc29460fe', 1, '2026-06-02', '19:00:00', '20:00:00', 15, true, 2, false); +INSERT INTO public.turnos VALUES ('6c9338ee-37df-4e69-9276-1e664d33c2ae', 2, '2026-06-02', '09:00:00', '10:00:00', 12, true, 2, false); +INSERT INTO public.turnos VALUES ('4fbf150e-c3f1-4932-b1ce-ed7efb1e248e', 2, '2026-06-02', '19:00:00', '20:00:00', 12, true, 2, false); +INSERT INTO public.turnos VALUES ('b0d41b87-69a7-41e9-89d5-f793622f0a41', 2, '2026-06-02', '20:00:00', '21:00:00', 12, true, 2, false); +INSERT INTO public.turnos VALUES ('e015003a-1445-4ca7-bd35-ddeff485f424', 3, '2026-06-02', '07:00:00', '07:45:00', 20, true, 2, false); +INSERT INTO public.turnos VALUES ('93a00899-14db-4b6c-bc74-d5256ee0791b', 3, '2026-06-02', '18:30:00', '19:15:00', 20, true, 2, false); +INSERT INTO public.turnos VALUES ('e4ec44dd-15e9-40e2-809b-b0eb316714a6', 3, '2026-06-02', '19:30:00', '20:15:00', 20, true, 2, false); +INSERT INTO public.turnos VALUES ('02975601-281e-4e2f-a18d-2399eeb26853', 4, '2026-06-02', '10:00:00', '11:00:00', 18, true, 2, false); +INSERT INTO public.turnos VALUES ('61f2155e-5855-4ff5-a9c0-28333712cae4', 4, '2026-06-02', '17:00:00', '18:00:00', 18, true, 2, false); +INSERT INTO public.turnos VALUES ('46c572d4-e382-4b18-9856-84621529180c', 6, '2026-06-02', '09:00:00', '09:55:00', 12, true, 2, false); +INSERT INTO public.turnos VALUES ('588fedea-dbcb-4f6e-92b2-d0670bdd0433', 6, '2026-06-02', '16:00:00', '16:55:00', 12, true, 2, false); +INSERT INTO public.turnos VALUES ('d3cc3f64-364f-42fa-ae5d-28cfb0ba77c3', 1, '2026-06-03', '08:00:00', '09:00:00', 15, true, 3, false); +INSERT INTO public.turnos VALUES ('c93e87aa-b6be-450c-8264-3404a0371deb', 1, '2026-06-03', '18:00:00', '19:00:00', 15, true, 3, false); +INSERT INTO public.turnos VALUES ('63a6971c-0aaf-4179-aa08-4235210448cf', 1, '2026-06-03', '19:00:00', '20:00:00', 15, true, 3, false); +INSERT INTO public.turnos VALUES ('b190bb14-80e7-4b57-a20e-383f4252dbeb', 2, '2026-06-03', '09:00:00', '10:00:00', 12, true, 3, false); +INSERT INTO public.turnos VALUES ('2bd19f50-d69e-4953-b698-fd8eb85c0d7a', 2, '2026-06-03', '19:00:00', '20:00:00', 12, true, 3, false); +INSERT INTO public.turnos VALUES ('ac9470c4-058c-4aab-bda2-0bb9386773c6', 2, '2026-06-03', '20:00:00', '21:00:00', 12, true, 3, false); +INSERT INTO public.turnos VALUES ('921d3c91-697f-47a0-91be-40314616b163', 3, '2026-06-03', '07:00:00', '07:45:00', 20, true, 3, false); +INSERT INTO public.turnos VALUES ('4d234bbf-d7b8-4148-9ad9-c98949ef635d', 3, '2026-06-03', '18:30:00', '19:15:00', 20, true, 3, false); +INSERT INTO public.turnos VALUES ('40514507-e435-40f7-bd6f-c46b1acc25e0', 3, '2026-06-03', '19:30:00', '20:15:00', 20, true, 3, false); +INSERT INTO public.turnos VALUES ('d857c0ea-4f41-43e3-99e6-6852bee7f842', 4, '2026-06-03', '10:00:00', '11:00:00', 18, true, 3, false); +INSERT INTO public.turnos VALUES ('2fbce1d2-436e-45e1-81aa-8534503befe1', 4, '2026-06-03', '17:00:00', '18:00:00', 18, true, 3, false); +INSERT INTO public.turnos VALUES ('f1fb27de-b75b-49f4-97b2-4a0b52e0018e', 6, '2026-06-03', '09:00:00', '09:55:00', 12, true, 3, false); +INSERT INTO public.turnos VALUES ('3dd91743-a0a9-475f-9bf6-a11e6bece256', 6, '2026-06-03', '16:00:00', '16:55:00', 12, true, 3, false); +INSERT INTO public.turnos VALUES ('a7498899-6999-4665-b6ea-53c37d08c1ac', 1, '2026-06-04', '08:00:00', '09:00:00', 15, true, 4, false); +INSERT INTO public.turnos VALUES ('00e2bf35-91dc-4b94-bc4d-2116eb87fb1e', 1, '2026-06-04', '18:00:00', '19:00:00', 15, true, 4, false); +INSERT INTO public.turnos VALUES ('d887366b-aa63-468d-8b57-208a99568b32', 1, '2026-06-04', '19:00:00', '20:00:00', 15, true, 4, false); +INSERT INTO public.turnos VALUES ('341c1154-2431-4950-803c-fbbcddad4760', 2, '2026-06-04', '09:00:00', '10:00:00', 12, true, 4, false); +INSERT INTO public.turnos VALUES ('d115438c-3f1d-40ba-8e15-2b78d9a1bcca', 2, '2026-06-04', '19:00:00', '20:00:00', 12, true, 4, false); +INSERT INTO public.turnos VALUES ('11616a99-0347-4575-8460-ef44f3e9937c', 2, '2026-06-04', '20:00:00', '21:00:00', 12, true, 4, false); +INSERT INTO public.turnos VALUES ('dd532fba-f271-40e2-ac28-453aba538640', 3, '2026-06-04', '07:00:00', '07:45:00', 20, true, 4, false); +INSERT INTO public.turnos VALUES ('991711b6-9e55-4590-885c-98bc3fd3f972', 3, '2026-06-04', '18:30:00', '19:15:00', 20, true, 4, false); +INSERT INTO public.turnos VALUES ('afd52778-ffab-488e-8ba3-1803476f7234', 3, '2026-06-04', '19:30:00', '20:15:00', 20, true, 4, false); +INSERT INTO public.turnos VALUES ('8a6fed2a-1604-42ec-9608-2a104a5accab', 4, '2026-06-04', '10:00:00', '11:00:00', 18, true, 4, false); +INSERT INTO public.turnos VALUES ('d195fbfb-d8fa-416a-ae71-99c6b24dfe4e', 4, '2026-06-04', '17:00:00', '18:00:00', 18, true, 4, false); +INSERT INTO public.turnos VALUES ('c3a4b41d-6eb2-4360-a59e-fd0cf40520b1', 6, '2026-06-04', '09:00:00', '09:55:00', 12, true, 4, false); +INSERT INTO public.turnos VALUES ('478caf38-2ec9-4641-91c6-7653d4398467', 6, '2026-06-04', '16:00:00', '16:55:00', 12, true, 4, false); +INSERT INTO public.turnos VALUES ('ccf7d296-60a4-4fa4-a2c5-26ea25a756eb', 1, '2026-06-05', '08:00:00', '09:00:00', 15, true, 5, false); +INSERT INTO public.turnos VALUES ('b4cbb963-15da-4509-b9d2-1cc5e01ca5d2', 1, '2026-06-05', '18:00:00', '19:00:00', 15, true, 5, false); +INSERT INTO public.turnos VALUES ('993fec9d-a459-42a6-ac5c-b5108dd75cb3', 1, '2026-06-05', '19:00:00', '20:00:00', 15, true, 5, false); +INSERT INTO public.turnos VALUES ('6be8e612-9d23-4702-8d35-77396a76639a', 2, '2026-06-05', '09:00:00', '10:00:00', 12, true, 5, false); +INSERT INTO public.turnos VALUES ('73562c38-197a-4db8-9709-941f59648cfa', 2, '2026-06-05', '19:00:00', '20:00:00', 12, true, 5, false); +INSERT INTO public.turnos VALUES ('f8b71dd2-6ed9-442b-adfb-9949af522ec2', 2, '2026-06-05', '20:00:00', '21:00:00', 12, true, 5, false); +INSERT INTO public.turnos VALUES ('b81d4a83-a15d-469d-aac8-2c066529c194', 3, '2026-06-05', '07:00:00', '07:45:00', 20, true, 5, false); +INSERT INTO public.turnos VALUES ('e32b0991-5376-4248-8211-cf4455233513', 3, '2026-06-05', '18:30:00', '19:15:00', 20, true, 5, false); +INSERT INTO public.turnos VALUES ('49ad62d5-2ae9-4728-a6b4-29598348b527', 3, '2026-06-05', '19:30:00', '20:15:00', 20, true, 5, false); +INSERT INTO public.turnos VALUES ('8b951c2d-c314-4ed2-b641-81190630ed29', 4, '2026-06-05', '10:00:00', '11:00:00', 18, true, 5, false); +INSERT INTO public.turnos VALUES ('9d0b70b2-feef-4564-ac43-26672d197be8', 4, '2026-06-05', '17:00:00', '18:00:00', 18, true, 5, false); +INSERT INTO public.turnos VALUES ('093e5c1a-5479-4351-9c5d-0de4972bea8f', 6, '2026-06-05', '09:00:00', '09:55:00', 12, true, 5, false); +INSERT INTO public.turnos VALUES ('6d1c413f-fc8f-4d6c-bfa2-85275d3eb095', 6, '2026-06-05', '16:00:00', '16:55:00', 12, true, 5, false); + + +-- +-- Data for Name: reservas; Type: TABLE DATA; Schema: public; Owner: - +-- + +INSERT INTO public.reservas VALUES ('8e092acb-6583-4a36-9bed-1136b62f3753', '90536da3-601d-4867-9b15-a930f44aa9b7', 'f5a79227-8040-4dea-9b16-418b5def4de0', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('8a3fa9b9-f9f1-4c0f-8bc8-7743327799ff', '9815c54d-bca6-4695-9a19-19edc61386ab', '0ffa071a-d599-4fe7-8840-2ad430ca5447', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('34068066-184e-4c41-9ba3-16c3123a392e', '9815c54d-bca6-4695-9a19-19edc61386ab', 'f2919e7a-0e42-4650-88ff-b1ab1ae1d91a', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('19776526-23f3-463c-ae15-355d11b2a0e7', '9815c54d-bca6-4695-9a19-19edc61386ab', 'ec574029-e9f2-45bd-a032-fc7a49ef04e4', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('38502744-d2c9-4eaa-b6a1-4183d1600ef2', '9815c54d-bca6-4695-9a19-19edc61386ab', 'a44af168-1feb-4b0b-9a3c-f61c0f267854', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('15379a36-a152-460a-b849-5f06058df68c', '9815c54d-bca6-4695-9a19-19edc61386ab', 'b8167be1-1133-4372-9daa-a3cd6ecc7df2', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('d57b7156-e032-442b-a221-427d4c0f5161', '9815c54d-bca6-4695-9a19-19edc61386ab', '74c40cbd-88dd-4069-aa0b-4bd8ee17d97e', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('77517f80-cab8-4b44-b790-120c5746ddea', '9815c54d-bca6-4695-9a19-19edc61386ab', '3bc4d101-8b75-42cc-b790-2df83be052a0', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('450a3d5a-bb4b-4aa8-bc4c-31afb408869e', 'fb56400b-b724-4c06-84f1-9c2de8ff46dc', '7644fc92-cfa0-4bd1-90cf-6b7d01081774', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('48fc6cbf-314b-46e0-aeb3-522fc0195fdc', 'fb56400b-b724-4c06-84f1-9c2de8ff46dc', '79e05bdc-3abb-44e2-a560-73254499ad61', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('3386d923-d5ab-4dbe-bab6-1c1bfea843b5', 'fb56400b-b724-4c06-84f1-9c2de8ff46dc', 'f061a5e5-cbee-465f-8494-049fdb0109a7', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('fa1cf318-97e6-4908-ac6b-f0300431d7be', 'fb56400b-b724-4c06-84f1-9c2de8ff46dc', '25f8aad9-58f1-4b8f-bd5b-cae7edd4f269', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('70b443ee-fd65-4520-9d22-5d25c1b03cb1', 'fb56400b-b724-4c06-84f1-9c2de8ff46dc', 'c9adee9b-a562-4503-b2de-44f8d0743a4f', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('6cd201fb-4640-486a-be44-9351318e322e', 'fb56400b-b724-4c06-84f1-9c2de8ff46dc', '78323bb7-21cb-4965-a4d7-9c1b1d6660b7', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('a3db50db-92be-4648-9a58-9e98b2b6fb0b', 'fb56400b-b724-4c06-84f1-9c2de8ff46dc', 'f351c4c2-1199-489f-9b43-32885b11cf22', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('45eb3f8c-e798-4107-962e-2eea3571a634', 'fb56400b-b724-4c06-84f1-9c2de8ff46dc', 'e32ff96e-c9f3-45eb-870a-75b5838d40dc', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('2dc6a2d8-243d-495f-ae0f-6bf68c2837a8', 'fb56400b-b724-4c06-84f1-9c2de8ff46dc', '74380d29-a357-40f5-ae1d-d9c72616dd74', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('efd05d47-04bf-4e24-9d4d-4b610e6ecf72', 'fb56400b-b724-4c06-84f1-9c2de8ff46dc', '01af7976-13d2-43a3-bd97-cc3d4358ff29', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('b7757878-0448-4637-a327-32e056eb4ceb', 'fb56400b-b724-4c06-84f1-9c2de8ff46dc', '0f58ad98-99d5-4d47-969f-043f78fc1e48', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('bbf8d3ab-11be-438c-9f4f-1f597d3c7fef', 'fb56400b-b724-4c06-84f1-9c2de8ff46dc', 'ec361792-5d1e-4168-aa3d-8ba3e6efa501', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('d5122b7f-970a-4acd-88a6-0306ecbaec59', '7748307b-b42d-4bfe-af73-5a42d2314649', '5bb27430-7d5a-4842-bb94-e564b68c0552', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('96dd3494-c746-4674-a23f-f45a90c9d281', '7748307b-b42d-4bfe-af73-5a42d2314649', '24ae546a-5831-4ba7-bc67-7b3394f10fe3', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('a46b7e3b-5531-4877-bd50-3ef0ae3e9472', '7748307b-b42d-4bfe-af73-5a42d2314649', '72d62ab3-e1e6-4785-8089-25eb6c2a1a16', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('a8d437a2-3818-4e62-b555-3e3b283a45a7', '7748307b-b42d-4bfe-af73-5a42d2314649', 'b54e9586-a744-4b75-a0f2-2d25b0276b16', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('4fb4aeb7-cd6a-498a-8598-a9def8b2d6a1', '7748307b-b42d-4bfe-af73-5a42d2314649', '12f87197-a7b1-4f58-abe5-2129ac699b26', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('1208466d-5360-4f5f-bf34-c6de6817babd', '7748307b-b42d-4bfe-af73-5a42d2314649', 'f2919e7a-0e42-4650-88ff-b1ab1ae1d91a', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('b4ece807-ca10-4dab-b75c-24c9b12502c2', '7748307b-b42d-4bfe-af73-5a42d2314649', 'e32ff96e-c9f3-45eb-870a-75b5838d40dc', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('962b26e5-237a-4962-bd96-f840c13acbfa', '7748307b-b42d-4bfe-af73-5a42d2314649', '21730ee3-9b66-4328-8851-c0e47edeb873', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('539a4fe7-4ff4-45f9-b82e-9ffab271bf7d', '7748307b-b42d-4bfe-af73-5a42d2314649', 'c4f83b12-0b88-4ec8-a5db-0a3deacb4d29', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('f6568c51-7969-4d74-b96c-4d828ff0a136', '7748307b-b42d-4bfe-af73-5a42d2314649', 'eef92d4e-2b3f-40dd-a551-6eac210eb1df', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('d688dbf5-b307-4dad-806f-cc99e7704183', '496fbd33-36d2-4f11-bdd5-8f17b990136c', '72d62ab3-e1e6-4785-8089-25eb6c2a1a16', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('242aa3f5-8bc5-4e51-9e2d-2cdb559097f4', '496fbd33-36d2-4f11-bdd5-8f17b990136c', '5fcc2c21-eb18-4151-a5ca-f0f17cc4c2e5', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('a262ff55-c734-4b54-9fc2-ee0d63c4d53d', '496fbd33-36d2-4f11-bdd5-8f17b990136c', 'b0fd59a1-a705-4094-b1fc-b50ed2367235', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('7a9f24ed-1d74-41af-b500-427a5f1fb354', '496fbd33-36d2-4f11-bdd5-8f17b990136c', 'a1479992-2beb-4c26-8ac7-2a985f8d5c09', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('dbacf7a8-d6a7-45c9-b611-b2b4d431cb01', '496fbd33-36d2-4f11-bdd5-8f17b990136c', '0994395d-dfe6-4897-842d-e39771d8eab9', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('3b7b8536-5ffa-4ae8-9981-37ea1673c717', '496fbd33-36d2-4f11-bdd5-8f17b990136c', '74db756d-9c91-41e1-9073-a77fc3f00f6d', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('be1634c6-9f35-4ed8-b55e-9491d48a9eb4', '098206b4-dd9e-4611-a858-06f4411c18d3', '8b4c532d-a16b-420a-aa3b-3cce781aa5ae', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('31064af3-dda9-4840-a7c6-3dfd072f0695', '098206b4-dd9e-4611-a858-06f4411c18d3', '6e66deb4-5856-4637-a324-d9c0ab50fd58', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('7c8772b3-f122-4adb-9a91-77f86190053c', '098206b4-dd9e-4611-a858-06f4411c18d3', '854a0ff0-dbd7-42ea-8d14-9724828f20b7', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('6671bcfd-773c-4c1f-b088-b67f86109bfa', '098206b4-dd9e-4611-a858-06f4411c18d3', '74380d29-a357-40f5-ae1d-d9c72616dd74', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('29d2e6ae-29af-4436-9778-9cd3658ecbe9', '098206b4-dd9e-4611-a858-06f4411c18d3', '3bc4d101-8b75-42cc-b790-2df83be052a0', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('effe3197-4a6c-40ce-9925-2ba8eb0cb5e6', '098206b4-dd9e-4611-a858-06f4411c18d3', '24ae546a-5831-4ba7-bc67-7b3394f10fe3', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('637843bd-d061-47bf-a2d2-176be15323cc', '098206b4-dd9e-4611-a858-06f4411c18d3', '19c48d9d-936f-4321-a4bc-b1cb3d4b9960', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('17e4fe30-7864-42c4-b0ff-0db5c256fbce', '7abd4f86-86f7-4b8d-925d-8bbb34b28d00', '74380d29-a357-40f5-ae1d-d9c72616dd74', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('230e6fa6-c7d5-4e69-9aaf-93994926ea61', '7abd4f86-86f7-4b8d-925d-8bbb34b28d00', '78323bb7-21cb-4965-a4d7-9c1b1d6660b7', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('cb924d2a-2a0c-43f6-940a-ef90fa69de15', 'c9a3b65d-b46f-485a-ab0f-aab57e8516f6', 'cbe58515-28d6-485b-a476-5a97f3042f21', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('199f42c5-7cf7-4a35-a553-e7d584d5e431', 'c9a3b65d-b46f-485a-ab0f-aab57e8516f6', '8800fc42-5f40-4c35-ba8a-73f6fcaf54e6', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('631292a7-39d9-465e-b226-9e6ce9791338', 'c895383d-6694-449e-90ae-93faa4ca9369', 'b54e9586-a744-4b75-a0f2-2d25b0276b16', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('5cbcc055-0b3f-422d-b8c5-010278857fda', 'c895383d-6694-449e-90ae-93faa4ca9369', '825d188e-beda-4191-ba4b-e79439d0d502', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('804a1789-61f1-4e64-8ca1-b06f20312031', 'c895383d-6694-449e-90ae-93faa4ca9369', 'bbb9d0ef-fb9a-4227-8a65-582a2cb2e20e', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('bc6f4067-b15e-4395-a594-1e011828d64f', 'c895383d-6694-449e-90ae-93faa4ca9369', 'c9adee9b-a562-4503-b2de-44f8d0743a4f', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('e4907095-37b3-450c-afbe-620d699834ec', 'c895383d-6694-449e-90ae-93faa4ca9369', 'cbe58515-28d6-485b-a476-5a97f3042f21', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('9663c5bb-3239-4a8b-9c51-40b2dc1f73d1', 'c895383d-6694-449e-90ae-93faa4ca9369', '3020f110-325c-4f6a-afc8-790ffbc3fbe9', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('a37ee127-7457-4e98-9fd7-0f47b30f43bc', 'd5fc87e3-f790-465b-a492-e54ac3447319', '8800fc42-5f40-4c35-ba8a-73f6fcaf54e6', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('6e785f92-f423-4235-bc61-408394dd3262', 'd5fc87e3-f790-465b-a492-e54ac3447319', '79e9578c-e4b8-4586-a122-7ae21731bbe7', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('ed42437d-ef5d-42fb-bd14-f4422ec4b6fb', '7b3e4028-7494-4c8e-bc69-1112081fc1f2', 'b0fd59a1-a705-4094-b1fc-b50ed2367235', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('b9e4b613-c690-4740-a4f9-1857aba9e534', '7b3e4028-7494-4c8e-bc69-1112081fc1f2', 'f061a5e5-cbee-465f-8494-049fdb0109a7', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('bdd510d5-ff20-49c8-83c7-fd7760ae2385', '7b3e4028-7494-4c8e-bc69-1112081fc1f2', 'e3134bf8-19ad-4420-a837-de4cf2c34103', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('2495bace-45b0-4c2d-a68a-bf7d17853166', '7b3e4028-7494-4c8e-bc69-1112081fc1f2', '8800fc42-5f40-4c35-ba8a-73f6fcaf54e6', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('2d065523-cf10-4d7f-976f-b52f6f00a4b8', '7275182d-da4e-4cc0-86a7-b2955c6f05e6', 'db195bd3-4078-4034-b92f-e2529211b92a', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('6182a7b4-80c3-48f5-af78-3274c1c81b8a', '7275182d-da4e-4cc0-86a7-b2955c6f05e6', '5dc3949c-49f6-46e5-9687-d4de93fb57e4', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('cf06cf17-ae5d-4a38-8dcf-07164bfd5043', '7275182d-da4e-4cc0-86a7-b2955c6f05e6', 'c4f83b12-0b88-4ec8-a5db-0a3deacb4d29', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('7123bb32-1968-4290-95cd-a6864be29b6e', '7275182d-da4e-4cc0-86a7-b2955c6f05e6', 'cbe58515-28d6-485b-a476-5a97f3042f21', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('5b72f309-21a4-4253-b181-badc2d40d078', '7275182d-da4e-4cc0-86a7-b2955c6f05e6', '201855bb-c895-4b7f-990a-7fcda83c863a', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('6aa5d1a4-fa20-4494-acf7-2b893b48a2fa', '7275182d-da4e-4cc0-86a7-b2955c6f05e6', '070057f7-c8e2-4c54-a077-a1e393dedb47', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('52290ff9-1a9d-4f06-863e-241da49c4056', '7275182d-da4e-4cc0-86a7-b2955c6f05e6', '9943c7f8-a3c8-4f7d-a55d-099559ad9fda', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('208e0d5e-be94-4806-a3ac-998766ccebbf', '7275182d-da4e-4cc0-86a7-b2955c6f05e6', 'a1479992-2beb-4c26-8ac7-2a985f8d5c09', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('6d67d933-87c9-47db-837b-093b0eaa9b09', '7275182d-da4e-4cc0-86a7-b2955c6f05e6', '1b604699-927f-4d03-80ae-e200ad0def10', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('24bf32e4-6097-4f4a-ba8b-b7dcd549dfbe', 'ac3d7ff8-55c1-4e45-ab3a-028c6d507cff', 'b0fd59a1-a705-4094-b1fc-b50ed2367235', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('2e76b49b-734c-47e9-87b5-7263f5a4bab5', 'ac3d7ff8-55c1-4e45-ab3a-028c6d507cff', 'cbe58515-28d6-485b-a476-5a97f3042f21', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('e463ae65-bda3-4220-a154-6c8d562753ce', 'ac3d7ff8-55c1-4e45-ab3a-028c6d507cff', '6e66deb4-5856-4637-a324-d9c0ab50fd58', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('56ac41d9-321e-4eb7-a0a5-3d06b7aacd2a', 'ac3d7ff8-55c1-4e45-ab3a-028c6d507cff', '7133cbbf-0fb0-453a-9802-0ca72e742efd', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('0e528179-7276-4eae-9a94-08ffef0bd71c', 'ac3d7ff8-55c1-4e45-ab3a-028c6d507cff', '595fa41c-3177-4913-8646-ce53e95564bf', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('0ca8dfbf-084f-4248-8226-0989ffe6b79c', 'ac3d7ff8-55c1-4e45-ab3a-028c6d507cff', '0ffa071a-d599-4fe7-8840-2ad430ca5447', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('0d0ee0ad-78bd-435d-b851-0c9cb0b92555', '07809733-d544-4886-aa5c-d6cd7ed08862', '71f56398-f3ff-4de0-89fa-0e2a1992d81f', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('607e4098-3004-4457-885b-a73ffa90892d', '07809733-d544-4886-aa5c-d6cd7ed08862', 'b54e9586-a744-4b75-a0f2-2d25b0276b16', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('edad4c9f-9c7d-4144-b21f-ce7aca6184a5', '07809733-d544-4886-aa5c-d6cd7ed08862', '198176d2-7923-46dc-b3b7-c95ccf091117', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('13faedf5-2fa2-4f88-86a2-175c5531b9b3', '07809733-d544-4886-aa5c-d6cd7ed08862', 'c9adee9b-a562-4503-b2de-44f8d0743a4f', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('075f8130-47cb-4e2f-ba93-0a973b4cf6ed', '07809733-d544-4886-aa5c-d6cd7ed08862', '201855bb-c895-4b7f-990a-7fcda83c863a', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('98609737-fa05-437d-8a42-58e5763752e5', '07809733-d544-4886-aa5c-d6cd7ed08862', 'a44af168-1feb-4b0b-9a3c-f61c0f267854', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('93ff00d6-8fbb-4f26-baee-f1b740a7b648', '07809733-d544-4886-aa5c-d6cd7ed08862', '0b37f5da-af88-4e21-a447-7c5d55888ec7', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('6f3503ac-5aba-48d3-b171-b79fa9f90eda', '07809733-d544-4886-aa5c-d6cd7ed08862', 'ab476a85-4433-4791-ba98-f6f65a9e6812', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('fa5d640b-1040-47a3-b3e8-59560a15411a', 'ab19112e-898a-43b3-960d-4bf47bb3aa4c', '9e7fc8d5-d4de-4c0d-a684-6d9f894911d3', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('edf2fa14-2bb6-402b-aaea-8e81a1ac99ea', 'ab19112e-898a-43b3-960d-4bf47bb3aa4c', 'f061a5e5-cbee-465f-8494-049fdb0109a7', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('08dac0c6-ae2d-437e-b92d-562bdd4464f8', 'ab19112e-898a-43b3-960d-4bf47bb3aa4c', '6e66deb4-5856-4637-a324-d9c0ab50fd58', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('0509d704-3406-4060-b120-e004fe23cfd0', 'ab19112e-898a-43b3-960d-4bf47bb3aa4c', '21730ee3-9b66-4328-8851-c0e47edeb873', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('2962c861-7f8b-4b53-a0d2-8600d930e4f2', 'a4c661a5-2bc7-49c4-b242-c9023e44c973', '9943c7f8-a3c8-4f7d-a55d-099559ad9fda', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('4698706a-79b6-4cb6-96a9-642b2eee09d0', 'a4c661a5-2bc7-49c4-b242-c9023e44c973', 'f5a79227-8040-4dea-9b16-418b5def4de0', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('278c50d9-d395-437d-8fe2-cd65bb23d482', '7f91284e-eac8-4966-ac51-9321e1ff8108', '0a1acb61-9e30-4291-9b73-fa92a65d616c', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('b29478c8-2b34-47f9-9c9b-fb17dee3214a', '7f91284e-eac8-4966-ac51-9321e1ff8108', '825d188e-beda-4191-ba4b-e79439d0d502', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('97a6f26a-ae33-4ac3-bf55-f182347e79fe', '7f91284e-eac8-4966-ac51-9321e1ff8108', '5515eddc-132d-4d91-ba8f-53aa4c32c3c2', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('0b479691-677a-40a4-a357-b3230a6b5475', '7f91284e-eac8-4966-ac51-9321e1ff8108', '9943c7f8-a3c8-4f7d-a55d-099559ad9fda', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('8e97e6d4-dda6-4a63-8830-a04d1e2ee8ff', 'c68b3254-de8c-404e-b653-dafde7d1f015', '324a98da-78aa-4ffa-b0eb-029e85f85d76', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('33586106-a5fa-4477-b4ef-eac8f4f08365', 'c68b3254-de8c-404e-b653-dafde7d1f015', 'f1aab3ea-1cbc-4546-86e7-892973edc917', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('2b7471a9-9d69-46a1-8cff-75d4e05971a9', 'c3cbb5b7-d392-4be0-984a-b4821aef9540', '88d879ca-b155-4aa2-9c53-feeec0ce6216', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('06f70582-7a08-4647-9b0c-2c2465ee62d1', 'c3cbb5b7-d392-4be0-984a-b4821aef9540', '7a295fbb-a09a-4607-9f4c-e3e5fa45862c', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('6b5ba8d3-4628-4be6-9835-e7498969f536', 'c3cbb5b7-d392-4be0-984a-b4821aef9540', 'b0fd59a1-a705-4094-b1fc-b50ed2367235', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('dc0c6e2d-cc0f-4d7e-8c0d-79939f793cae', 'c3cbb5b7-d392-4be0-984a-b4821aef9540', '74db756d-9c91-41e1-9073-a77fc3f00f6d', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('c8bb60f3-0966-465b-88dc-14c04585d6d0', 'c62a6638-41f7-432b-a9ac-799afad2f6b5', 'cbe58515-28d6-485b-a476-5a97f3042f21', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('ed4b07bc-2376-4431-bd7e-7ed31e0bfa27', 'c62a6638-41f7-432b-a9ac-799afad2f6b5', 'db195bd3-4078-4034-b92f-e2529211b92a', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('c9fc03a1-42c2-4058-95a8-1a807bd2198e', '29d1ec25-fe07-4145-b5c1-3a6002f9d98b', 'f1aab3ea-1cbc-4546-86e7-892973edc917', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('3152b2e9-e151-4ccf-b198-38bd4acd7eb4', '29d1ec25-fe07-4145-b5c1-3a6002f9d98b', '3bc4d101-8b75-42cc-b790-2df83be052a0', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('9bc441de-0a9b-4dfc-9f3c-2163f2c54766', '29d1ec25-fe07-4145-b5c1-3a6002f9d98b', '6daa72d9-192c-4c98-8b76-74ee6416ff2b', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('f7994d59-7bd2-4732-bd96-41b11ae5e743', '092aa7e7-494e-4e06-a404-1f28a7665437', '9e7fc8d5-d4de-4c0d-a684-6d9f894911d3', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('bb802c05-504b-438b-a765-bf5517bb5f53', '092aa7e7-494e-4e06-a404-1f28a7665437', '238e4169-968f-4c68-88d9-ca9ab7d0dfb5', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('cdd4c0b5-d3ce-405b-889f-d033d6be326c', '092aa7e7-494e-4e06-a404-1f28a7665437', 'c9adee9b-a562-4503-b2de-44f8d0743a4f', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('acea652e-a95d-47c7-8583-964840d2186d', '092aa7e7-494e-4e06-a404-1f28a7665437', 'ed3e9661-ebb8-42be-8dea-9252ca882723', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('d10d61ae-6ff5-43b1-acb9-05e937a22a9a', '092aa7e7-494e-4e06-a404-1f28a7665437', '8800fc42-5f40-4c35-ba8a-73f6fcaf54e6', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('539358a3-b7f0-4869-935b-97343d6a7587', '092aa7e7-494e-4e06-a404-1f28a7665437', '74380d29-a357-40f5-ae1d-d9c72616dd74', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('d3499cf9-3262-42fb-9e3e-c854b4b565cf', '092aa7e7-494e-4e06-a404-1f28a7665437', 'db195bd3-4078-4034-b92f-e2529211b92a', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('25f7ebb7-1de8-438a-b04b-bb5718f7217f', '092aa7e7-494e-4e06-a404-1f28a7665437', '3b14568a-7b64-4cad-8cde-25ad30b27746', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('cd71683a-f152-4f5e-9454-e96bc4f6da51', '092aa7e7-494e-4e06-a404-1f28a7665437', 'b0fd59a1-a705-4094-b1fc-b50ed2367235', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('5216c42c-b1a0-4aa3-8ef4-60add4312466', '5bb3efe5-ecbd-4e66-b5f1-294e35905610', '9f3d94ed-64c6-4ba2-ab51-d0f1d76dcf6f', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('d0ecf21d-5fac-4c3e-a277-f69fc31c9526', '5bb3efe5-ecbd-4e66-b5f1-294e35905610', 'd9950f1c-3117-4460-b466-5a134ab504d6', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('a5635afd-85dc-4e7d-9d9f-383cc097ff2a', '5bb3efe5-ecbd-4e66-b5f1-294e35905610', '8800fc42-5f40-4c35-ba8a-73f6fcaf54e6', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('6a9e5c57-e445-4236-be2a-849663867573', '5bb3efe5-ecbd-4e66-b5f1-294e35905610', 'f2919e7a-0e42-4650-88ff-b1ab1ae1d91a', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('2aab4ef5-8071-49aa-9780-d11d1bb2ac50', '5bb3efe5-ecbd-4e66-b5f1-294e35905610', 'c4f83b12-0b88-4ec8-a5db-0a3deacb4d29', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('c4efbbe0-fbd0-4628-a849-883cbb64b436', '5bb3efe5-ecbd-4e66-b5f1-294e35905610', '88d879ca-b155-4aa2-9c53-feeec0ce6216', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('a2fc64f4-519c-414c-ae39-277f607c48d3', '5bb3efe5-ecbd-4e66-b5f1-294e35905610', '0f58ad98-99d5-4d47-969f-043f78fc1e48', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('2e6f5747-aaac-43de-80c5-4e2fd94fb9a1', '5bb3efe5-ecbd-4e66-b5f1-294e35905610', '201855bb-c895-4b7f-990a-7fcda83c863a', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('777d7275-cf08-49b4-a632-e5c4d23828a6', '5bb3efe5-ecbd-4e66-b5f1-294e35905610', 'f351c4c2-1199-489f-9b43-32885b11cf22', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('8cd4d918-94b0-4c26-847d-51e1ed0f75aa', '5bb3efe5-ecbd-4e66-b5f1-294e35905610', '74db756d-9c91-41e1-9073-a77fc3f00f6d', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('ebec6651-3161-49dc-adb3-e81767b15f9b', '9619d6ac-6852-4b5f-94c3-c9c72c06b77e', '12f87197-a7b1-4f58-abe5-2129ac699b26', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('d33e36b3-b081-4618-941c-645a667ca459', '9619d6ac-6852-4b5f-94c3-c9c72c06b77e', '854a0ff0-dbd7-42ea-8d14-9724828f20b7', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('7dec719d-7f85-4383-8ea4-116b8a7c458d', '9619d6ac-6852-4b5f-94c3-c9c72c06b77e', '353e81dd-a5b7-458e-98e6-377b20bf27ef', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('c62b5a65-4de0-4525-917c-de306b94ba6f', '9619d6ac-6852-4b5f-94c3-c9c72c06b77e', 'a44af168-1feb-4b0b-9a3c-f61c0f267854', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('ac589bf7-49b0-4f2e-979e-ad9a1502db38', '9619d6ac-6852-4b5f-94c3-c9c72c06b77e', 'b0fd59a1-a705-4094-b1fc-b50ed2367235', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('54b1c34b-9bb5-4c23-ba3d-450571c618d2', '9619d6ac-6852-4b5f-94c3-c9c72c06b77e', 'f7df642a-1976-49fc-bd71-e58fad664f4d', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('485b9714-f245-4b1c-9608-89bffc39b37a', '9619d6ac-6852-4b5f-94c3-c9c72c06b77e', '198176d2-7923-46dc-b3b7-c95ccf091117', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('8f0dfa48-f90e-457b-bc31-004a6f3ba240', '9619d6ac-6852-4b5f-94c3-c9c72c06b77e', 'eef92d4e-2b3f-40dd-a551-6eac210eb1df', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('9d013046-46c8-46ba-bc8a-a70113394cd7', '9619d6ac-6852-4b5f-94c3-c9c72c06b77e', 'b54e9586-a744-4b75-a0f2-2d25b0276b16', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('78906202-c6e8-4b29-888e-3f76cf2c5c3e', '9619d6ac-6852-4b5f-94c3-c9c72c06b77e', 'f061a5e5-cbee-465f-8494-049fdb0109a7', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('1a206cb3-ecee-41cb-b723-907b9f93f37b', '9619d6ac-6852-4b5f-94c3-c9c72c06b77e', 'd1d9471d-f484-4987-a55c-1910238310d1', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('69c5e779-1072-4ab0-bf03-4aba8965afb7', '9619d6ac-6852-4b5f-94c3-c9c72c06b77e', 'ed3e9661-ebb8-42be-8dea-9252ca882723', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('c0e18b04-b67b-4594-89ba-4a798afd7ffc', '9619d6ac-6852-4b5f-94c3-c9c72c06b77e', '0f58ad98-99d5-4d47-969f-043f78fc1e48', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('847fd074-a152-4df1-b83c-475ce513c9ca', 'b128317b-1d51-43e7-90f7-392da58639aa', 'f7df642a-1976-49fc-bd71-e58fad664f4d', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('86382a42-886b-471b-afbc-9db8471bed1e', 'b128317b-1d51-43e7-90f7-392da58639aa', '6daa72d9-192c-4c98-8b76-74ee6416ff2b', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('808dd6fd-58ce-4716-9fdb-2182e2018a05', 'b128317b-1d51-43e7-90f7-392da58639aa', '324a98da-78aa-4ffa-b0eb-029e85f85d76', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('3c24380c-9505-4a4b-8e9e-b9d541ea84f8', 'b128317b-1d51-43e7-90f7-392da58639aa', '6e66deb4-5856-4637-a324-d9c0ab50fd58', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('8863e5c5-e074-4688-a447-86d17f20d198', 'b128317b-1d51-43e7-90f7-392da58639aa', '201855bb-c895-4b7f-990a-7fcda83c863a', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('76d32c34-1ea7-4332-b4b8-7ced5b0b9f11', 'b128317b-1d51-43e7-90f7-392da58639aa', '7a295fbb-a09a-4607-9f4c-e3e5fa45862c', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('1a387521-5f2e-40e3-b8e1-d2c0f5e8d68c', 'b5699073-ee39-4110-8263-d38faf0ef4a4', '070057f7-c8e2-4c54-a077-a1e393dedb47', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('1d8ab1e1-1822-49a2-9708-7a8373097695', 'b5699073-ee39-4110-8263-d38faf0ef4a4', '2a96680e-2758-41b1-8256-8cc30c321ec3', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('be8a8299-5a7a-4a33-8b45-518c045f2420', 'aa3b4073-e32b-4329-830c-cea4defbe857', '8b4c532d-a16b-420a-aa3b-3cce781aa5ae', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('f55c368e-9155-4707-8810-dfc5374966ac', '6667cffa-4a29-4818-95f8-c8471d01a55f', '353e81dd-a5b7-458e-98e6-377b20bf27ef', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('23845ec2-f572-424e-bd40-d0ac07ae5fb6', '6667cffa-4a29-4818-95f8-c8471d01a55f', 'e3134bf8-19ad-4420-a837-de4cf2c34103', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('babed15f-a5ff-4f82-a8f4-fd86e6ab80af', '6667cffa-4a29-4818-95f8-c8471d01a55f', '5bb27430-7d5a-4842-bb94-e564b68c0552', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('30690cfb-a8dc-4b6c-87a4-3262d4e5388c', '6667cffa-4a29-4818-95f8-c8471d01a55f', '854a0ff0-dbd7-42ea-8d14-9724828f20b7', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('05d9e391-154f-4506-874c-f1f6fb475ecc', '6667cffa-4a29-4818-95f8-c8471d01a55f', '324a98da-78aa-4ffa-b0eb-029e85f85d76', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('ed3e357e-4c77-4076-89b4-1182506c43d0', '6667cffa-4a29-4818-95f8-c8471d01a55f', '9f3d94ed-64c6-4ba2-ab51-d0f1d76dcf6f', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('ffeaa5d7-a002-4db4-812b-11d97b78a39a', '6667cffa-4a29-4818-95f8-c8471d01a55f', '3bc4d101-8b75-42cc-b790-2df83be052a0', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('6da1fcc4-0348-481f-9b71-cecd738fd3cd', '6667cffa-4a29-4818-95f8-c8471d01a55f', 'f2919e7a-0e42-4650-88ff-b1ab1ae1d91a', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('70baf57c-b2a2-4d76-95df-9b9f3c7411a7', '4c78a86d-86d3-47fa-9b4e-b67f488e3d43', '71f56398-f3ff-4de0-89fa-0e2a1992d81f', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('743f24a3-1cc6-4031-857f-2f1374705542', '4c78a86d-86d3-47fa-9b4e-b67f488e3d43', '0b37f5da-af88-4e21-a447-7c5d55888ec7', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('1cd707ce-a83b-4660-89ed-98035618d700', '4c78a86d-86d3-47fa-9b4e-b67f488e3d43', '5063176b-e3b3-4cf8-8fbe-7f6525ba32d5', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('d62802c2-8550-42a1-bb02-d65e96a10da4', '74aece03-5b3c-4b4c-a694-c2cf1bee2ed4', '353e81dd-a5b7-458e-98e6-377b20bf27ef', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('af5dd3ca-9f17-4bea-b148-26c01b331248', '74aece03-5b3c-4b4c-a694-c2cf1bee2ed4', 'a7d7b0a7-e5a2-417c-81d5-62ca2e3d9c16', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('2f261ce7-145c-4f44-a51c-f576a1959337', '74aece03-5b3c-4b4c-a694-c2cf1bee2ed4', 'e3134bf8-19ad-4420-a837-de4cf2c34103', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('4de04514-da22-44aa-81e3-1605934b0631', '74aece03-5b3c-4b4c-a694-c2cf1bee2ed4', 'ab476a85-4433-4791-ba98-f6f65a9e6812', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('97d33b90-db8b-4d58-ad8c-6a5f658a0026', '74aece03-5b3c-4b4c-a694-c2cf1bee2ed4', '0b37f5da-af88-4e21-a447-7c5d55888ec7', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('c63de7c5-4acf-4248-a5be-5f29a1c702f9', '74aece03-5b3c-4b4c-a694-c2cf1bee2ed4', '5515eddc-132d-4d91-ba8f-53aa4c32c3c2', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('fdcdc7bc-5fcf-4517-b6bc-c3ed8e15de30', '74aece03-5b3c-4b4c-a694-c2cf1bee2ed4', '324a98da-78aa-4ffa-b0eb-029e85f85d76', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('beaadbd0-1c03-43fe-9452-1790e97324a4', '74aece03-5b3c-4b4c-a694-c2cf1bee2ed4', '74c40cbd-88dd-4069-aa0b-4bd8ee17d97e', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('90ec5476-d731-4561-a2a4-6dcbf49d0f8c', '74aece03-5b3c-4b4c-a694-c2cf1bee2ed4', '595fa41c-3177-4913-8646-ce53e95564bf', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('f9a48333-ed10-4718-a6a8-67abd6acb6c7', '74aece03-5b3c-4b4c-a694-c2cf1bee2ed4', 'f2919e7a-0e42-4650-88ff-b1ab1ae1d91a', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('188ee147-0b78-4404-93af-ee98057dfb92', '80da0c70-5184-4733-b03d-d945be104fef', '0994395d-dfe6-4897-842d-e39771d8eab9', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('dd00c882-f0e9-4b75-934e-685c312eb162', '80da0c70-5184-4733-b03d-d945be104fef', 'a44af168-1feb-4b0b-9a3c-f61c0f267854', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('0ba991bb-29d6-4aba-90e4-c9b29f161355', '80da0c70-5184-4733-b03d-d945be104fef', 'eef92d4e-2b3f-40dd-a551-6eac210eb1df', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('2fa589e3-27b9-4e34-a67e-f9dc30b9fd29', '80da0c70-5184-4733-b03d-d945be104fef', '5bb27430-7d5a-4842-bb94-e564b68c0552', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('a7e956f2-094e-48b9-a207-d4f0b956fc75', '04e4ac19-2e8c-468b-97f7-fc3718c2f461', '8800fc42-5f40-4c35-ba8a-73f6fcaf54e6', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('3208e51c-b93d-4f0d-ad34-4de7cb097c88', '04e4ac19-2e8c-468b-97f7-fc3718c2f461', '21730ee3-9b66-4328-8851-c0e47edeb873', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('8aa26a13-f0e2-4c93-8b52-70283549595a', '04e4ac19-2e8c-468b-97f7-fc3718c2f461', '3b14568a-7b64-4cad-8cde-25ad30b27746', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('796b47ef-50a8-46f1-a13b-846c037a8cf8', '04e4ac19-2e8c-468b-97f7-fc3718c2f461', 'e160e04f-d8ad-4036-a62a-0d6c7dbfe46f', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('7909f87e-6aae-4c42-9e2d-2c1b764a8355', '04e4ac19-2e8c-468b-97f7-fc3718c2f461', '6e66deb4-5856-4637-a324-d9c0ab50fd58', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('334c4dc5-6839-497d-82a0-72abbd9743e7', '04e4ac19-2e8c-468b-97f7-fc3718c2f461', 'a1479992-2beb-4c26-8ac7-2a985f8d5c09', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('363ab1fb-c8ee-4a4b-aeb1-92b7da38a074', '04e4ac19-2e8c-468b-97f7-fc3718c2f461', '79e9578c-e4b8-4586-a122-7ae21731bbe7', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('5bac446e-ef0c-499b-98a8-3cc95cef6e38', '04e4ac19-2e8c-468b-97f7-fc3718c2f461', '19c48d9d-936f-4321-a4bc-b1cb3d4b9960', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('f131954a-b334-4439-b8c4-3fd53b736da1', 'a2165fcf-df5e-42eb-b593-085da77a651c', '324a98da-78aa-4ffa-b0eb-029e85f85d76', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('52da543b-1b62-4193-bffc-6cb520c7a86c', 'a2165fcf-df5e-42eb-b593-085da77a651c', '9943c7f8-a3c8-4f7d-a55d-099559ad9fda', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('b27ed4e0-1f1c-476b-884b-1d04a1c8bdeb', 'a2165fcf-df5e-42eb-b593-085da77a651c', '070057f7-c8e2-4c54-a077-a1e393dedb47', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('05072ff3-a5f8-4c80-860d-9fac4fa12130', 'a2165fcf-df5e-42eb-b593-085da77a651c', 'd1d9471d-f484-4987-a55c-1910238310d1', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('c43182e7-a067-4340-ab42-154d308ef011', 'a2165fcf-df5e-42eb-b593-085da77a651c', 'f1aab3ea-1cbc-4546-86e7-892973edc917', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('43eec4ff-5fd3-47eb-89cd-868f4b984ead', 'a2165fcf-df5e-42eb-b593-085da77a651c', 'd9950f1c-3117-4460-b466-5a134ab504d6', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('cc1b10ad-81aa-4d0a-9e13-ad18d63cbd37', 'a2165fcf-df5e-42eb-b593-085da77a651c', 'e160e04f-d8ad-4036-a62a-0d6c7dbfe46f', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('5a5ee76c-d4d0-43d5-8022-28b4b9ddfab2', 'a2165fcf-df5e-42eb-b593-085da77a651c', '3b14568a-7b64-4cad-8cde-25ad30b27746', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('153c2eeb-55d9-465c-b881-3bdcc02e9d45', 'a2165fcf-df5e-42eb-b593-085da77a651c', '5515eddc-132d-4d91-ba8f-53aa4c32c3c2', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('053f5e50-063e-4731-ba8e-cb09b7b12180', '60645634-25b2-49a8-a678-77e5db9e68d5', '3020f110-325c-4f6a-afc8-790ffbc3fbe9', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('5a226110-68d5-4735-8ff9-8ba17b97edf7', '60645634-25b2-49a8-a678-77e5db9e68d5', '8e2969a0-cd00-441a-b7a8-47c06a3a1f2d', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('d2f62c23-49d6-408c-8195-086c5b48c13b', '60645634-25b2-49a8-a678-77e5db9e68d5', '01af7976-13d2-43a3-bd97-cc3d4358ff29', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('b0409190-6245-4503-bae7-ba897781d855', '60645634-25b2-49a8-a678-77e5db9e68d5', 'ec574029-e9f2-45bd-a032-fc7a49ef04e4', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('0cc3a2df-75da-4559-b63c-d3f8ca645ba3', '60645634-25b2-49a8-a678-77e5db9e68d5', 'b54e9586-a744-4b75-a0f2-2d25b0276b16', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('3cfe94cf-fa0e-4047-9928-1370bbc97e19', '60645634-25b2-49a8-a678-77e5db9e68d5', '5063176b-e3b3-4cf8-8fbe-7f6525ba32d5', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('6981cad7-d343-4e79-89f7-25d2e68ab12d', '60645634-25b2-49a8-a678-77e5db9e68d5', '5bb27430-7d5a-4842-bb94-e564b68c0552', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('eebf2d61-78dd-42d5-8550-a238ed40277f', '60645634-25b2-49a8-a678-77e5db9e68d5', '44364efa-ba85-499e-bfde-97cf19d26e53', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('9cb66e8b-c8bb-48e9-80d9-7f0e6a3c318e', 'ad2b7a6d-ae60-42f6-974a-bf4fbf712d81', 'b26616a7-c6fa-4ac1-86c2-6e5093d32591', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('6bdc1ab4-58be-4cb5-8e30-871e63cfe274', 'ad2b7a6d-ae60-42f6-974a-bf4fbf712d81', 'e3134bf8-19ad-4420-a837-de4cf2c34103', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('3c43be7d-6137-4e7b-9746-5a02bf460e77', 'ad2b7a6d-ae60-42f6-974a-bf4fbf712d81', 'ec574029-e9f2-45bd-a032-fc7a49ef04e4', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('6d5a3e3a-1b3d-4c52-b0a9-3f17b4b81b61', 'a66d07f9-fc78-4cd5-9171-baa2ccefcdec', '3b14568a-7b64-4cad-8cde-25ad30b27746', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('2a7161b3-a057-4817-8deb-6634c6c37204', 'a66d07f9-fc78-4cd5-9171-baa2ccefcdec', 'f2919e7a-0e42-4650-88ff-b1ab1ae1d91a', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('6c84da72-1f0c-4621-914f-cc54fd952d7d', 'a66d07f9-fc78-4cd5-9171-baa2ccefcdec', '324a98da-78aa-4ffa-b0eb-029e85f85d76', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('801cb292-5602-456e-b810-90405f792ccb', 'a66d07f9-fc78-4cd5-9171-baa2ccefcdec', 'b26616a7-c6fa-4ac1-86c2-6e5093d32591', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('4c31adfc-fa82-4b7f-a78e-a49bb3f68812', 'a66d07f9-fc78-4cd5-9171-baa2ccefcdec', '0ffa071a-d599-4fe7-8840-2ad430ca5447', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('c017724e-c11b-42c4-808a-1a0e3afc7e72', 'a66d07f9-fc78-4cd5-9171-baa2ccefcdec', '8e2969a0-cd00-441a-b7a8-47c06a3a1f2d', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('8a333aed-1e7c-462b-bd9e-0e6d4efb05a4', 'a66d07f9-fc78-4cd5-9171-baa2ccefcdec', 'f351c4c2-1199-489f-9b43-32885b11cf22', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('ac24085d-e05e-4744-91ff-d5dce87154e7', 'a66d07f9-fc78-4cd5-9171-baa2ccefcdec', 'f5a79227-8040-4dea-9b16-418b5def4de0', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('1f05bdb4-4fa5-4da1-9189-32d2bcd08169', 'a66d07f9-fc78-4cd5-9171-baa2ccefcdec', '6e66deb4-5856-4637-a324-d9c0ab50fd58', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('89551002-cffa-4bba-b9f8-026549ab297a', 'a66d07f9-fc78-4cd5-9171-baa2ccefcdec', '25f8aad9-58f1-4b8f-bd5b-cae7edd4f269', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('3f903c54-6f39-44e4-a9ca-2946dd7fb42f', 'a66d07f9-fc78-4cd5-9171-baa2ccefcdec', '7644fc92-cfa0-4bd1-90cf-6b7d01081774', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('f6abc965-5fb4-4e26-8502-83ecfdb29c8c', 'a66d07f9-fc78-4cd5-9171-baa2ccefcdec', '353e81dd-a5b7-458e-98e6-377b20bf27ef', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('53b54a67-f37f-4e22-b87d-58ceef2feddf', 'a66d07f9-fc78-4cd5-9171-baa2ccefcdec', '3020f110-325c-4f6a-afc8-790ffbc3fbe9', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('74c9c378-2517-4b83-8bed-51d72a703461', 'a66d07f9-fc78-4cd5-9171-baa2ccefcdec', '8800fc42-5f40-4c35-ba8a-73f6fcaf54e6', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('ae36a95c-d64b-4409-8c94-36eef3e5706c', 'a66d07f9-fc78-4cd5-9171-baa2ccefcdec', '854a0ff0-dbd7-42ea-8d14-9724828f20b7', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('ba46866d-7045-4acf-bbd9-43692c9c58c1', 'ecf13cc7-e77f-48c1-a2bb-c824d535295f', '3bc4d101-8b75-42cc-b790-2df83be052a0', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('1610a4eb-880d-40dc-b3e7-b5149e83a1ea', 'ecf13cc7-e77f-48c1-a2bb-c824d535295f', '2fcbd6c7-85a2-4abd-bbe0-fa87593862e8', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('aba84920-d4c1-4054-9d5b-e359517c9693', 'ecf13cc7-e77f-48c1-a2bb-c824d535295f', 'f7df642a-1976-49fc-bd71-e58fad664f4d', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('c7e11a33-a2d8-40c3-a97f-c6cddbd489b6', 'ecf13cc7-e77f-48c1-a2bb-c824d535295f', '74db756d-9c91-41e1-9073-a77fc3f00f6d', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('aa092d55-61b3-44c5-aed6-3dbea335ed74', 'ecf13cc7-e77f-48c1-a2bb-c824d535295f', 'ec574029-e9f2-45bd-a032-fc7a49ef04e4', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('a01bad43-2f07-451e-b8c1-2c6c881aaf51', 'ecf13cc7-e77f-48c1-a2bb-c824d535295f', '21730ee3-9b66-4328-8851-c0e47edeb873', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('01857b6d-40b7-45b0-a633-e1eded31a443', 'ecf13cc7-e77f-48c1-a2bb-c824d535295f', '6e66deb4-5856-4637-a324-d9c0ab50fd58', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('191a4c87-2173-451b-bb83-f386f67d2704', 'ecf13cc7-e77f-48c1-a2bb-c824d535295f', 'd1d9471d-f484-4987-a55c-1910238310d1', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('e876d13a-1710-4d7e-b4b7-ae8163d7d42c', 'ecf13cc7-e77f-48c1-a2bb-c824d535295f', '71f56398-f3ff-4de0-89fa-0e2a1992d81f', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('ec6322d6-31c7-4ef1-b80d-88680facdc17', '225f5972-7c56-4df1-ad21-c2a29a5d7313', 'a1479992-2beb-4c26-8ac7-2a985f8d5c09', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('3f796c1d-1c7b-42b8-ab4e-72ee01bd0665', '225f5972-7c56-4df1-ad21-c2a29a5d7313', '79e05bdc-3abb-44e2-a560-73254499ad61', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('f0544287-c776-456e-9489-134efd55900c', '225f5972-7c56-4df1-ad21-c2a29a5d7313', 'b54e9586-a744-4b75-a0f2-2d25b0276b16', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('3061c903-3547-4f56-9e61-6cf539a64a67', '225f5972-7c56-4df1-ad21-c2a29a5d7313', 'f681a3ce-fd9f-41be-aa2e-e4da6c0c042c', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('c999b840-66bb-41ae-9e48-aad47eb0a872', '225f5972-7c56-4df1-ad21-c2a29a5d7313', 'cefbed7b-30b7-4bb1-8445-030a532e00d7', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('0484ae53-4aa4-4ce8-a172-51ad89eeb7ab', '225f5972-7c56-4df1-ad21-c2a29a5d7313', '0b37f5da-af88-4e21-a447-7c5d55888ec7', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('e1cad61a-ee37-45a5-8c20-d8e9ea34f7c2', '225f5972-7c56-4df1-ad21-c2a29a5d7313', '9b042ac0-1f6b-4abb-a096-f2b0910930b4', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('b53e7ccf-885a-465e-88e6-d3bae9b3c919', '225f5972-7c56-4df1-ad21-c2a29a5d7313', 'f2919e7a-0e42-4650-88ff-b1ab1ae1d91a', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('aaa6e924-a831-4f16-8413-3a62975b57a2', '225f5972-7c56-4df1-ad21-c2a29a5d7313', '595fa41c-3177-4913-8646-ce53e95564bf', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('e8b19349-2882-4106-b1e2-4fa702b7e04b', '225f5972-7c56-4df1-ad21-c2a29a5d7313', '12f87197-a7b1-4f58-abe5-2129ac699b26', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('acab85d2-1888-4925-8bb3-f7a4c4649b08', '225f5972-7c56-4df1-ad21-c2a29a5d7313', 'd1d9471d-f484-4987-a55c-1910238310d1', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('23b9cb40-da2c-40f1-a594-5a79ed0f4695', 'b0bf68b0-1b57-4c36-93c1-10d9e5775939', '5dc3949c-49f6-46e5-9687-d4de93fb57e4', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('8ddf7fc2-06d3-4e45-9b38-56925cc38f1b', 'b0bf68b0-1b57-4c36-93c1-10d9e5775939', '8e2969a0-cd00-441a-b7a8-47c06a3a1f2d', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('193f6006-e333-446f-a088-7dd5665ab6dd', '9159e8aa-37b5-47b5-a514-2de5d44a42b0', '79e9578c-e4b8-4586-a122-7ae21731bbe7', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('cd631d52-0ca5-424c-b0cd-cbd5ba9b7e05', '9159e8aa-37b5-47b5-a514-2de5d44a42b0', '353e81dd-a5b7-458e-98e6-377b20bf27ef', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('9df304ea-d947-4599-92b2-eb8ef8dbbbf6', '9159e8aa-37b5-47b5-a514-2de5d44a42b0', '5515eddc-132d-4d91-ba8f-53aa4c32c3c2', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('375bec88-3990-4331-8996-24800d4ac8e0', '9159e8aa-37b5-47b5-a514-2de5d44a42b0', 'ec574029-e9f2-45bd-a032-fc7a49ef04e4', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('ffc8436e-2474-4d18-bda9-aae3b8df8bf8', '9159e8aa-37b5-47b5-a514-2de5d44a42b0', '8800fc42-5f40-4c35-ba8a-73f6fcaf54e6', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('926d866a-ef09-4b3b-99e7-6074bade70f8', '9159e8aa-37b5-47b5-a514-2de5d44a42b0', '24ae546a-5831-4ba7-bc67-7b3394f10fe3', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('c2563659-6390-4477-b230-06c8a90e5ad3', '9159e8aa-37b5-47b5-a514-2de5d44a42b0', '79e05bdc-3abb-44e2-a560-73254499ad61', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('f6651636-b306-4c27-8311-15d2aaa27711', 'd4c0a7c3-776e-440c-98a0-2b59c1dfdd6a', 'a1479992-2beb-4c26-8ac7-2a985f8d5c09', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('ae454852-b9b2-41fa-a921-2f78bf25f6c3', 'd4c0a7c3-776e-440c-98a0-2b59c1dfdd6a', '5515eddc-132d-4d91-ba8f-53aa4c32c3c2', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('7d54112e-3c37-4a2f-acfd-bd589ed043e5', 'd4c0a7c3-776e-440c-98a0-2b59c1dfdd6a', 'cbe58515-28d6-485b-a476-5a97f3042f21', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('ec93aeac-d0b6-43d4-b748-bdde07c016ab', 'cc3a3265-ba34-43cf-bbb2-6aa59409286f', 'db195bd3-4078-4034-b92f-e2529211b92a', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('33587a47-a0e2-4581-8ef9-4a81d2b941f2', 'cc3a3265-ba34-43cf-bbb2-6aa59409286f', 'f681a3ce-fd9f-41be-aa2e-e4da6c0c042c', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('f28769b4-ef67-4c27-9780-4c57d0b85ddc', 'cc3a3265-ba34-43cf-bbb2-6aa59409286f', '79e9578c-e4b8-4586-a122-7ae21731bbe7', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('0102cf14-0962-49ee-8ce7-3c73abea2f10', 'cc3a3265-ba34-43cf-bbb2-6aa59409286f', '070057f7-c8e2-4c54-a077-a1e393dedb47', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('ee3c2d37-1ee2-4dfa-8bc6-a4da739aba1b', 'cc3a3265-ba34-43cf-bbb2-6aa59409286f', 'e3134bf8-19ad-4420-a837-de4cf2c34103', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('5b8d54f1-4a4a-42ed-8348-4404373c5fc1', 'cc3a3265-ba34-43cf-bbb2-6aa59409286f', '8b4c532d-a16b-420a-aa3b-3cce781aa5ae', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('9b2a34c1-117e-4227-8ede-de0337fc726b', 'cc3a3265-ba34-43cf-bbb2-6aa59409286f', '083f3ead-5766-492c-96a2-a17e05e9f98f', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('504a6408-dae5-4080-b4b3-b38cfb7878ba', 'cc3a3265-ba34-43cf-bbb2-6aa59409286f', 'c9adee9b-a562-4503-b2de-44f8d0743a4f', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('18ac82dc-a6d8-4f6a-8269-9cd4e432e43c', 'cc3a3265-ba34-43cf-bbb2-6aa59409286f', '21730ee3-9b66-4328-8851-c0e47edeb873', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('c80b7500-95cf-40b2-ba86-161a78a8fff9', 'b288b195-1b6e-4ed1-84eb-39d70d6c0396', 'e32ff96e-c9f3-45eb-870a-75b5838d40dc', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('05cb774b-bbbf-4b64-8b18-e5aa095e5b8f', 'b288b195-1b6e-4ed1-84eb-39d70d6c0396', '198176d2-7923-46dc-b3b7-c95ccf091117', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('0b2788a9-8170-43ba-9e74-07efde62b03e', 'b288b195-1b6e-4ed1-84eb-39d70d6c0396', 'ed3e9661-ebb8-42be-8dea-9252ca882723', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('073f92b9-67d1-4bba-9bb4-89dccc57f017', '923b1346-f321-4005-abb5-1610991db07a', '9943c7f8-a3c8-4f7d-a55d-099559ad9fda', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('deef3814-295c-4785-9690-6fc2ddcc767a', '923b1346-f321-4005-abb5-1610991db07a', '71f56398-f3ff-4de0-89fa-0e2a1992d81f', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('2d9c6c81-e4b3-4c45-a76e-9e1ca5b3cc39', 'fde832e5-db01-4a56-966c-c62ea5c3c24f', '6e66deb4-5856-4637-a324-d9c0ab50fd58', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('0ba54a8e-5be1-4de5-a425-51c00e8b5735', 'fde832e5-db01-4a56-966c-c62ea5c3c24f', '2fcbd6c7-85a2-4abd-bbe0-fa87593862e8', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('14416078-90c3-43a3-8105-a40e55f9a58b', 'fde832e5-db01-4a56-966c-c62ea5c3c24f', '0a1acb61-9e30-4291-9b73-fa92a65d616c', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('f04994d2-32ac-4def-aedc-aef1e6f2de77', 'fde832e5-db01-4a56-966c-c62ea5c3c24f', '72d62ab3-e1e6-4785-8089-25eb6c2a1a16', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('c1925ffe-1f8e-4965-832b-0668d0ae963a', '0531942b-95a6-4b93-8aad-5a6c9350ff4e', 'b8167be1-1133-4372-9daa-a3cd6ecc7df2', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('060350a0-5544-4681-b733-c7eba8d8269b', '0531942b-95a6-4b93-8aad-5a6c9350ff4e', 'f061a5e5-cbee-465f-8494-049fdb0109a7', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('890352ef-8fa0-4aac-9e33-8c90d173767d', '0531942b-95a6-4b93-8aad-5a6c9350ff4e', 'a44af168-1feb-4b0b-9a3c-f61c0f267854', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('42d93830-c8f8-4190-aade-13b834f0c097', '0531942b-95a6-4b93-8aad-5a6c9350ff4e', '8e2969a0-cd00-441a-b7a8-47c06a3a1f2d', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('ad2fb538-5fb6-49ed-877a-35f200642b92', '0531942b-95a6-4b93-8aad-5a6c9350ff4e', '9e7fc8d5-d4de-4c0d-a684-6d9f894911d3', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('b9a4415d-0d84-4a44-9c4f-3da6cdd3026f', '0531942b-95a6-4b93-8aad-5a6c9350ff4e', '19c48d9d-936f-4321-a4bc-b1cb3d4b9960', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('ed6101e0-3fa1-48a7-b443-46585651826e', '19c2d6e7-51a0-4c08-9031-67f69b0e479d', '43ee54cd-a953-4a73-88f7-5a018043ac10', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('1700a7c0-b447-4993-a64b-2c5dd0f442c4', '19c2d6e7-51a0-4c08-9031-67f69b0e479d', '825d188e-beda-4191-ba4b-e79439d0d502', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('aab18de5-22b6-4ca6-a7a3-8dfa91b9d836', '19c2d6e7-51a0-4c08-9031-67f69b0e479d', '12f87197-a7b1-4f58-abe5-2129ac699b26', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('f04364d8-ba81-4ea7-ae67-8c6572f15861', '19c2d6e7-51a0-4c08-9031-67f69b0e479d', 'bbb9d0ef-fb9a-4227-8a65-582a2cb2e20e', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('d268fd21-7328-48aa-be85-c106802e7dcb', '19c2d6e7-51a0-4c08-9031-67f69b0e479d', 'b0fd59a1-a705-4094-b1fc-b50ed2367235', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('cb2a9699-561e-46d1-97a1-dd4cab1950d8', '19c2d6e7-51a0-4c08-9031-67f69b0e479d', 'f5a79227-8040-4dea-9b16-418b5def4de0', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('3c8f63a6-51b0-4ea9-99de-2bbb03f9f0a3', '19c2d6e7-51a0-4c08-9031-67f69b0e479d', '74db756d-9c91-41e1-9073-a77fc3f00f6d', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('ba724444-add9-458b-bc68-d13c052ae86b', '19c2d6e7-51a0-4c08-9031-67f69b0e479d', '6e66deb4-5856-4637-a324-d9c0ab50fd58', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('3921501f-01dc-4793-9e9d-2e39e95427a8', '19c2d6e7-51a0-4c08-9031-67f69b0e479d', 'c9adee9b-a562-4503-b2de-44f8d0743a4f', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('dc92dc90-5a9a-48b0-8d6e-e07eec520fde', '19c2d6e7-51a0-4c08-9031-67f69b0e479d', '5dc3949c-49f6-46e5-9687-d4de93fb57e4', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('a1cf28ae-6ea3-401a-b824-30dfb36d33ca', '19c2d6e7-51a0-4c08-9031-67f69b0e479d', '5fcc2c21-eb18-4151-a5ca-f0f17cc4c2e5', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('0ddc7c08-b75d-4d17-8ed6-952399c4bd1c', '19c2d6e7-51a0-4c08-9031-67f69b0e479d', 'ec361792-5d1e-4168-aa3d-8ba3e6efa501', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('e136b778-c924-406d-a0e6-2aead316cbfe', '19c2d6e7-51a0-4c08-9031-67f69b0e479d', '78323bb7-21cb-4965-a4d7-9c1b1d6660b7', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('9ee59132-c2b2-442e-80e3-54ce1df32d66', '19c2d6e7-51a0-4c08-9031-67f69b0e479d', '0994395d-dfe6-4897-842d-e39771d8eab9', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('b724c255-935c-4293-a548-c23d81c89713', '8bb43783-969b-4085-99d4-710d552a8c82', '5dc3949c-49f6-46e5-9687-d4de93fb57e4', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('ea88a63c-c768-4e9f-9b65-9e4da5badd63', '8bb43783-969b-4085-99d4-710d552a8c82', '5063176b-e3b3-4cf8-8fbe-7f6525ba32d5', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('b53abbbe-3400-477d-93c3-75ab78244aa0', '8bb43783-969b-4085-99d4-710d552a8c82', 'ed3e9661-ebb8-42be-8dea-9252ca882723', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('fa1d29ad-8373-4382-865d-21db8bce8a0d', '8bb43783-969b-4085-99d4-710d552a8c82', '0ffa071a-d599-4fe7-8840-2ad430ca5447', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('a7a3f7a9-0331-4ef3-9729-2a15e7c27dc9', '8bb43783-969b-4085-99d4-710d552a8c82', 'ab476a85-4433-4791-ba98-f6f65a9e6812', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('e7420a0a-419d-45e5-a4f5-84c68e588365', '8bb43783-969b-4085-99d4-710d552a8c82', '19c48d9d-936f-4321-a4bc-b1cb3d4b9960', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('4fcce67e-1610-4db9-aa62-711d76f0af1f', '8bb43783-969b-4085-99d4-710d552a8c82', '79e9578c-e4b8-4586-a122-7ae21731bbe7', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('113f5dd3-223a-431a-8df3-96427daee447', '8bb43783-969b-4085-99d4-710d552a8c82', '595fa41c-3177-4913-8646-ce53e95564bf', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('d14dac5b-9064-43b8-94d7-fa09837730c9', 'e302753c-d9e1-4bdc-a1b0-daacdb9086e6', '0ffa071a-d599-4fe7-8840-2ad430ca5447', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('87f4ff1c-10cf-4f5b-b527-48e116ffd034', 'e302753c-d9e1-4bdc-a1b0-daacdb9086e6', 'b8167be1-1133-4372-9daa-a3cd6ecc7df2', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('8d28364f-d558-4241-b60a-8acda31011de', 'e302753c-d9e1-4bdc-a1b0-daacdb9086e6', 'cefbed7b-30b7-4bb1-8445-030a532e00d7', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('a31cf43e-9881-492e-b2f7-8e2ddaa52805', 'e302753c-d9e1-4bdc-a1b0-daacdb9086e6', '88d879ca-b155-4aa2-9c53-feeec0ce6216', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('15343af0-048d-4b92-b5ea-47584bb66622', 'e302753c-d9e1-4bdc-a1b0-daacdb9086e6', 'f061a5e5-cbee-465f-8494-049fdb0109a7', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('50b24460-1879-4fab-b64e-b79443279c61', 'e302753c-d9e1-4bdc-a1b0-daacdb9086e6', 'f2919e7a-0e42-4650-88ff-b1ab1ae1d91a', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('87f02d4b-746c-4e2c-8d04-3708badfb4f4', 'e302753c-d9e1-4bdc-a1b0-daacdb9086e6', 'a7d7b0a7-e5a2-417c-81d5-62ca2e3d9c16', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('28a577a8-dad8-4597-ac48-de932f5fae8f', 'e302753c-d9e1-4bdc-a1b0-daacdb9086e6', 'ed3e9661-ebb8-42be-8dea-9252ca882723', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('542ae7cf-7db0-4d68-ad22-da5db393e3ac', 'e302753c-d9e1-4bdc-a1b0-daacdb9086e6', 'd1d9471d-f484-4987-a55c-1910238310d1', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('3f5c4c28-5299-4586-b0a4-5c2bb36737da', 'e302753c-d9e1-4bdc-a1b0-daacdb9086e6', '7644fc92-cfa0-4bd1-90cf-6b7d01081774', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('4cac53bb-0b38-4edf-af96-a35ee06bc2e9', 'e302753c-d9e1-4bdc-a1b0-daacdb9086e6', 'e42d5ead-ad03-41f1-828f-8274dd014d9d', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('28dcc8d2-1c45-40fa-ad4d-f25aedaf9ac2', 'e302753c-d9e1-4bdc-a1b0-daacdb9086e6', '201855bb-c895-4b7f-990a-7fcda83c863a', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('02dc5ab6-561b-4341-a337-9c87a21ad777', 'e302753c-d9e1-4bdc-a1b0-daacdb9086e6', '78323bb7-21cb-4965-a4d7-9c1b1d6660b7', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('84130dd7-bddc-4cfd-aba9-2441ed33ad79', 'e302753c-d9e1-4bdc-a1b0-daacdb9086e6', 'f5a79227-8040-4dea-9b16-418b5def4de0', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('7b1c3623-5146-4d97-bf20-39100823fd25', 'd976124d-1a27-4f77-ba81-f522b0f3ed01', '71f56398-f3ff-4de0-89fa-0e2a1992d81f', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('f06472e4-5962-496c-a8fb-4b3651e9ba17', 'd976124d-1a27-4f77-ba81-f522b0f3ed01', 'a1479992-2beb-4c26-8ac7-2a985f8d5c09', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('ac038447-9970-4423-afe8-eb25375ec8ae', 'd976124d-1a27-4f77-ba81-f522b0f3ed01', '8b4c532d-a16b-420a-aa3b-3cce781aa5ae', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('ca82f55b-68cb-40f7-8882-bcd50bbb5a2e', 'd976124d-1a27-4f77-ba81-f522b0f3ed01', 'b0fd59a1-a705-4094-b1fc-b50ed2367235', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('3d38e5a3-6bea-4a9b-af89-87e82a7453ab', 'd976124d-1a27-4f77-ba81-f522b0f3ed01', '78323bb7-21cb-4965-a4d7-9c1b1d6660b7', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('ced21d46-e1ef-4ff9-9fc4-cf1ac9befed4', 'd976124d-1a27-4f77-ba81-f522b0f3ed01', 'e42d5ead-ad03-41f1-828f-8274dd014d9d', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('2d9036c0-7ddd-4eed-9eee-57e4b30075ce', 'd976124d-1a27-4f77-ba81-f522b0f3ed01', 'a92d2c3d-7ae6-4d82-9155-2eaeee6269ee', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('90e8bc80-ccea-4a38-bfd8-8d0387ec7dac', 'd976124d-1a27-4f77-ba81-f522b0f3ed01', 'd9950f1c-3117-4460-b466-5a134ab504d6', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('4f8ad9cc-ae41-4487-9c63-f4e0dc9b6f40', 'a8163a71-50c8-4324-ad72-5db4b7aecf96', '0ffa071a-d599-4fe7-8840-2ad430ca5447', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('5950c75c-aeae-4534-a4af-0d66004fff6b', 'a8163a71-50c8-4324-ad72-5db4b7aecf96', '0994395d-dfe6-4897-842d-e39771d8eab9', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('59cf0007-53b8-427f-83b7-ee3948239e65', 'a8163a71-50c8-4324-ad72-5db4b7aecf96', '353e81dd-a5b7-458e-98e6-377b20bf27ef', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('d211b319-73ce-4f91-8a7b-d668e6cd5941', 'a8163a71-50c8-4324-ad72-5db4b7aecf96', '6e66deb4-5856-4637-a324-d9c0ab50fd58', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('c04b365a-e1b4-45b0-a72d-e8c468c517af', '1f00b3b1-cff7-486f-a32d-f20e72e64648', '0994395d-dfe6-4897-842d-e39771d8eab9', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('505847db-b86a-40f7-8d32-8c66fa5b4f97', '1f00b3b1-cff7-486f-a32d-f20e72e64648', 'eef92d4e-2b3f-40dd-a551-6eac210eb1df', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('aa7b8f4f-1eb9-42e7-bf28-056bf3971711', '1f00b3b1-cff7-486f-a32d-f20e72e64648', 'b0fd59a1-a705-4094-b1fc-b50ed2367235', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('b79a1645-0d6b-420b-bd5f-68d3a601d997', 'db0c926c-158c-4477-8af0-7ce1592ea1d5', 'e160e04f-d8ad-4036-a62a-0d6c7dbfe46f', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('cd15ea9e-458e-4e0a-8e49-2ceb70e33a0b', 'db0c926c-158c-4477-8af0-7ce1592ea1d5', 'f351c4c2-1199-489f-9b43-32885b11cf22', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('e78f8cae-ce42-4c74-8215-df7d36d0994e', 'db0c926c-158c-4477-8af0-7ce1592ea1d5', '88d879ca-b155-4aa2-9c53-feeec0ce6216', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('9a636018-20ce-47e9-9d0f-1b368284fe4f', 'db0c926c-158c-4477-8af0-7ce1592ea1d5', '0994395d-dfe6-4897-842d-e39771d8eab9', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('229999f1-3c4c-4915-9ed1-53f5dda6cd2c', 'db0c926c-158c-4477-8af0-7ce1592ea1d5', 'cbe58515-28d6-485b-a476-5a97f3042f21', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('479b5041-a7ac-4a31-84b9-87083a8019fb', 'db0c926c-158c-4477-8af0-7ce1592ea1d5', '8e2969a0-cd00-441a-b7a8-47c06a3a1f2d', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('59486836-a42d-4b27-930a-2ac7c57279db', 'db0c926c-158c-4477-8af0-7ce1592ea1d5', '0a1acb61-9e30-4291-9b73-fa92a65d616c', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('bc2f4dc0-c3dd-423d-861f-79ab431f5a09', 'b878cd7f-ba37-4550-8f79-c8f482cef391', '3b14568a-7b64-4cad-8cde-25ad30b27746', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('ae9a2bb2-94dd-4398-928c-fd38aea3504b', 'b878cd7f-ba37-4550-8f79-c8f482cef391', 'd9950f1c-3117-4460-b466-5a134ab504d6', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('ec086533-82a8-473a-a153-39f20916f2b5', 'b878cd7f-ba37-4550-8f79-c8f482cef391', '7a295fbb-a09a-4607-9f4c-e3e5fa45862c', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('a5597856-aad4-4f68-b1ed-407715b24044', 'b878cd7f-ba37-4550-8f79-c8f482cef391', '2a96680e-2758-41b1-8256-8cc30c321ec3', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('388a7d5c-d90f-4398-8218-13725843bf8e', 'b878cd7f-ba37-4550-8f79-c8f482cef391', '8b4c532d-a16b-420a-aa3b-3cce781aa5ae', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('439b5c00-d281-4327-9369-8f0abab3b5e1', 'b878cd7f-ba37-4550-8f79-c8f482cef391', 'a44af168-1feb-4b0b-9a3c-f61c0f267854', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('40c87b3d-6c12-47a7-9b64-927793ac2949', 'b878cd7f-ba37-4550-8f79-c8f482cef391', 'f681a3ce-fd9f-41be-aa2e-e4da6c0c042c', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('fb2eb33a-83cc-44f4-b364-8090458491e8', 'b878cd7f-ba37-4550-8f79-c8f482cef391', 'eef92d4e-2b3f-40dd-a551-6eac210eb1df', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('51c5fef8-aa3d-4057-8867-78facee3f6c2', 'b878cd7f-ba37-4550-8f79-c8f482cef391', '24ae546a-5831-4ba7-bc67-7b3394f10fe3', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('28eed745-5250-403e-b2a6-934065cd7639', 'b878cd7f-ba37-4550-8f79-c8f482cef391', 'cefbed7b-30b7-4bb1-8445-030a532e00d7', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('24f8c110-7ba1-483e-9e7b-9e2fce8aa9fe', '3ced9745-e579-4bf4-b29a-9a22b15f645b', 'e160e04f-d8ad-4036-a62a-0d6c7dbfe46f', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('6db85a86-eb97-4554-a29d-fa35506d0394', '3ced9745-e579-4bf4-b29a-9a22b15f645b', '74c40cbd-88dd-4069-aa0b-4bd8ee17d97e', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('30082a51-b89f-4abe-b269-fcac50d46ace', '3ced9745-e579-4bf4-b29a-9a22b15f645b', '5bb27430-7d5a-4842-bb94-e564b68c0552', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('1eef94e0-3d13-468d-9d0c-669b15c6f963', '3ced9745-e579-4bf4-b29a-9a22b15f645b', 'ec574029-e9f2-45bd-a032-fc7a49ef04e4', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('f00edef4-3e4f-4bd7-a11f-58e09dceaa31', '3ced9745-e579-4bf4-b29a-9a22b15f645b', 'f351c4c2-1199-489f-9b43-32885b11cf22', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('c78de7f7-f4a0-4456-bfa8-112d47a8d55c', '3ced9745-e579-4bf4-b29a-9a22b15f645b', 'f1aab3ea-1cbc-4546-86e7-892973edc917', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('5dff38bc-a233-41b5-a2f0-5346bad84124', '3ced9745-e579-4bf4-b29a-9a22b15f645b', '43ee54cd-a953-4a73-88f7-5a018043ac10', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('6a9428e8-17b9-4083-8f11-170fbaf72962', '3ced9745-e579-4bf4-b29a-9a22b15f645b', '5063176b-e3b3-4cf8-8fbe-7f6525ba32d5', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('af3a10a6-a4d3-41c4-8e4a-826afa77ed69', '3ced9745-e579-4bf4-b29a-9a22b15f645b', 'b26616a7-c6fa-4ac1-86c2-6e5093d32591', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('7faf5672-412f-4c0c-86a6-26854439fbab', '9e859f8a-ea37-4702-b398-4d8c6fe76043', '43ee54cd-a953-4a73-88f7-5a018043ac10', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('21b7c2ba-68f8-4803-aa98-3525461ddb6e', '9e859f8a-ea37-4702-b398-4d8c6fe76043', 'ab476a85-4433-4791-ba98-f6f65a9e6812', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('34a28469-ce1d-4e7a-b353-0178900c0e59', '9e859f8a-ea37-4702-b398-4d8c6fe76043', 'f351c4c2-1199-489f-9b43-32885b11cf22', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('61746878-2d17-4306-a78b-88b7f1d08008', 'd38430fb-fa05-42b8-9865-ec04366d8a20', '198176d2-7923-46dc-b3b7-c95ccf091117', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('85cf6d60-7c92-47db-83ed-fc6a55c104a4', 'd38430fb-fa05-42b8-9865-ec04366d8a20', '5063176b-e3b3-4cf8-8fbe-7f6525ba32d5', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('c18f5289-6b30-435d-a4f0-b646b436ec74', 'd38430fb-fa05-42b8-9865-ec04366d8a20', '3bc4d101-8b75-42cc-b790-2df83be052a0', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('2c67aed4-5f11-4de0-a085-9254254ef355', 'd38430fb-fa05-42b8-9865-ec04366d8a20', 'ec574029-e9f2-45bd-a032-fc7a49ef04e4', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('813e1ab6-c087-400e-a677-be6bab1bc875', 'f87b895c-eba5-4715-8928-5905c275381b', '7a295fbb-a09a-4607-9f4c-e3e5fa45862c', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('19615082-0b8a-4d5a-bd4d-1e82651861a2', 'f87b895c-eba5-4715-8928-5905c275381b', '2a96680e-2758-41b1-8256-8cc30c321ec3', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('8005a881-a4b2-45e0-8211-e1d4f007b596', '566d7a7a-6993-426f-98f0-63985657c484', '854a0ff0-dbd7-42ea-8d14-9724828f20b7', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('7afb60fe-b559-40d1-bf2d-2270952ffdb3', '566d7a7a-6993-426f-98f0-63985657c484', 'f061a5e5-cbee-465f-8494-049fdb0109a7', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('fa51e9f6-02b6-474a-891b-00c71170ee4f', '566d7a7a-6993-426f-98f0-63985657c484', '5515eddc-132d-4d91-ba8f-53aa4c32c3c2', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('25c09e23-7263-4b71-80f4-84dbde28c3af', '566d7a7a-6993-426f-98f0-63985657c484', '7133cbbf-0fb0-453a-9802-0ca72e742efd', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('6d08e163-1e12-4d3d-970a-d0345fb971a8', '566d7a7a-6993-426f-98f0-63985657c484', '7a295fbb-a09a-4607-9f4c-e3e5fa45862c', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('4730dd5c-9d14-45a2-be94-56450edbc966', '566d7a7a-6993-426f-98f0-63985657c484', '324a98da-78aa-4ffa-b0eb-029e85f85d76', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('fa8d74b9-90f7-49f9-a6df-26746ee206bb', '566d7a7a-6993-426f-98f0-63985657c484', 'ec361792-5d1e-4168-aa3d-8ba3e6efa501', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('edfc2f21-0b37-4038-8eb5-c3b834c6db7d', '566d7a7a-6993-426f-98f0-63985657c484', '825d188e-beda-4191-ba4b-e79439d0d502', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('9a58cc8d-ccf0-49ba-a523-51bf5db3af7b', '566d7a7a-6993-426f-98f0-63985657c484', 'b26616a7-c6fa-4ac1-86c2-6e5093d32591', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('77db8aef-c6b2-437e-b5f7-8189d3510cb8', '566d7a7a-6993-426f-98f0-63985657c484', '88d879ca-b155-4aa2-9c53-feeec0ce6216', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('c8e82be7-9b9c-4d79-a08b-a4515745339d', '3f44b8b1-6ed5-447e-b019-1af93de2197b', '79e9578c-e4b8-4586-a122-7ae21731bbe7', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('bf3cd247-b8af-4ba6-a0a3-8c044e2b91e5', '3f44b8b1-6ed5-447e-b019-1af93de2197b', '0a1acb61-9e30-4291-9b73-fa92a65d616c', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('1d373ccd-e9a6-4797-80b5-0116ddb2a397', '3f44b8b1-6ed5-447e-b019-1af93de2197b', 'd1d9471d-f484-4987-a55c-1910238310d1', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('a5d20d2b-862f-4fae-97da-b18d5ff9bbad', '3f44b8b1-6ed5-447e-b019-1af93de2197b', 'a92d2c3d-7ae6-4d82-9155-2eaeee6269ee', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('f50c1110-7695-450c-b3ac-9f121473b5c7', '3f44b8b1-6ed5-447e-b019-1af93de2197b', '78323bb7-21cb-4965-a4d7-9c1b1d6660b7', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('9bd91852-7f86-4984-b101-a67379f9c2f3', '3f44b8b1-6ed5-447e-b019-1af93de2197b', '71f56398-f3ff-4de0-89fa-0e2a1992d81f', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('09aa8d3b-1934-44b2-8d0f-6a7ab00313ce', '3f44b8b1-6ed5-447e-b019-1af93de2197b', '595fa41c-3177-4913-8646-ce53e95564bf', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('4e3fa0b8-a65d-42a6-b686-e5284c821c2f', '3f44b8b1-6ed5-447e-b019-1af93de2197b', '25f8aad9-58f1-4b8f-bd5b-cae7edd4f269', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('5e3fcf4d-9c71-4074-8837-f0ee605915d8', '3f44b8b1-6ed5-447e-b019-1af93de2197b', '24ae546a-5831-4ba7-bc67-7b3394f10fe3', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('189b32df-3ea3-471f-b3ee-8e8432a40a25', '3f44b8b1-6ed5-447e-b019-1af93de2197b', '201855bb-c895-4b7f-990a-7fcda83c863a', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('f7d8caf9-d1e8-4099-b263-35857699590a', '3f44b8b1-6ed5-447e-b019-1af93de2197b', '6daa72d9-192c-4c98-8b76-74ee6416ff2b', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('95de4859-921b-4822-954a-caa43cacab27', '6c3d55bb-cd10-4acf-982c-faa64a377413', 'cbe58515-28d6-485b-a476-5a97f3042f21', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('88eef852-439d-45f8-b3fd-13c6acec61c1', '6c3d55bb-cd10-4acf-982c-faa64a377413', '7133cbbf-0fb0-453a-9802-0ca72e742efd', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('b10e9371-e80f-4e9b-94ab-1d916d291424', '6c3d55bb-cd10-4acf-982c-faa64a377413', 'b0fd59a1-a705-4094-b1fc-b50ed2367235', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('f376d0f3-f55f-4466-8156-271bc8a5d6d7', '6c3d55bb-cd10-4acf-982c-faa64a377413', '25f8aad9-58f1-4b8f-bd5b-cae7edd4f269', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('18716366-1ce3-4c69-a530-60e2d996e2b2', '6c3d55bb-cd10-4acf-982c-faa64a377413', 'd1d9471d-f484-4987-a55c-1910238310d1', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('f1d11066-853d-45cf-93c5-2a7f5bfb85d8', '6c3d55bb-cd10-4acf-982c-faa64a377413', 'c9adee9b-a562-4503-b2de-44f8d0743a4f', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('4f7641b8-383f-4b1e-9675-d5cdc29242ab', '6c3d55bb-cd10-4acf-982c-faa64a377413', 'e42d5ead-ad03-41f1-828f-8274dd014d9d', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('50cb4daf-4aec-4841-a93a-dca841f5e285', '6c3d55bb-cd10-4acf-982c-faa64a377413', '12f87197-a7b1-4f58-abe5-2129ac699b26', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('45bd388d-feeb-4174-be39-4e8bc36cce83', '8a814f8c-9c9a-4a1e-a5a0-c40b156ee695', '7133cbbf-0fb0-453a-9802-0ca72e742efd', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('9ef16f66-8f51-486f-8e20-e0b703e010cd', '8a814f8c-9c9a-4a1e-a5a0-c40b156ee695', '8b4c532d-a16b-420a-aa3b-3cce781aa5ae', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('5b9001d3-dca0-4d26-bd73-41fd1f747951', '4df957d2-6067-43f8-af56-46b36fb764f8', '5fcc2c21-eb18-4151-a5ca-f0f17cc4c2e5', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('c0302786-d20e-49de-aa14-bb158cb3722e', '4df957d2-6067-43f8-af56-46b36fb764f8', '070057f7-c8e2-4c54-a077-a1e393dedb47', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('b1fea231-6815-4000-8a6f-073f5f7269fc', '4df957d2-6067-43f8-af56-46b36fb764f8', 'f2919e7a-0e42-4650-88ff-b1ab1ae1d91a', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('d1d2afcd-e91a-4d35-998c-d21872b8c7fd', '4df957d2-6067-43f8-af56-46b36fb764f8', '12f87197-a7b1-4f58-abe5-2129ac699b26', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('ae4b0fb4-6207-476f-9106-f38e30db72fc', '4df957d2-6067-43f8-af56-46b36fb764f8', 'f7df642a-1976-49fc-bd71-e58fad664f4d', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('130e6db4-cf0f-4b3b-ba04-a28f6c67a1cc', '4df957d2-6067-43f8-af56-46b36fb764f8', '6e66deb4-5856-4637-a324-d9c0ab50fd58', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('e7c0dda5-c74c-40f6-a9b9-ba3a1a794548', '5d7d173a-c6f7-435c-8754-e41d52369f7a', '6e66deb4-5856-4637-a324-d9c0ab50fd58', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('8f2cd274-2b24-40a3-93d2-ba011656509b', '5d7d173a-c6f7-435c-8754-e41d52369f7a', '5515eddc-132d-4d91-ba8f-53aa4c32c3c2', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('f631522d-c649-4595-9823-be129d050bc3', '5d7d173a-c6f7-435c-8754-e41d52369f7a', '74c40cbd-88dd-4069-aa0b-4bd8ee17d97e', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('b37a9c9f-3d61-4bca-93b1-b14d71049c0e', '5d7d173a-c6f7-435c-8754-e41d52369f7a', '44364efa-ba85-499e-bfde-97cf19d26e53', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('583b0032-a1db-4665-92b9-d4d8910bf607', '5d7d173a-c6f7-435c-8754-e41d52369f7a', '74380d29-a357-40f5-ae1d-d9c72616dd74', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('0ebe3541-1899-4341-bba4-8e4b6193faaa', '5d7d173a-c6f7-435c-8754-e41d52369f7a', '12f87197-a7b1-4f58-abe5-2129ac699b26', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('12b4d54a-5a07-4571-9384-1d20d79f6217', '5d7d173a-c6f7-435c-8754-e41d52369f7a', '19c48d9d-936f-4321-a4bc-b1cb3d4b9960', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('3988d818-ce41-4c34-872b-2ede1a1e68de', '5d7d173a-c6f7-435c-8754-e41d52369f7a', 'ab476a85-4433-4791-ba98-f6f65a9e6812', '2026-06-06 20:48:20.873645+00', false, NULL); +INSERT INTO public.reservas VALUES ('abc4eae2-b84c-4559-a195-ba52c6183c36', '5d7d173a-c6f7-435c-8754-e41d52369f7a', 'c9adee9b-a562-4503-b2de-44f8d0743a4f', '2026-06-06 20:48:20.873645+00', false, NULL); + + +-- +-- Data for Name: reservas_huerfanas; Type: TABLE DATA; Schema: public; Owner: - +-- + +INSERT INTO public.reservas_huerfanas VALUES ('5a82bec0-dfb2-4928-b279-7e5aca80e96a', 'f2919e7a-0e42-4650-88ff-b1ab1ae1d91a', 'Boxeo', '2026-06-08', '18:00:00', 'pendiente', '2026-06-06 20:48:20.873645+00', NULL); +INSERT INTO public.reservas_huerfanas VALUES ('5c928927-0742-4b54-8828-aad617d9b565', '353e81dd-a5b7-458e-98e6-377b20bf27ef', 'Boxeo', '2026-06-08', '18:00:00', 'pendiente', '2026-06-06 20:48:20.873645+00', NULL); +INSERT INTO public.reservas_huerfanas VALUES ('9a98aed5-6987-4cee-835c-f5ee5b29553c', 'b8167be1-1133-4372-9daa-a3cd6ecc7df2', 'Boxeo', '2026-06-08', '18:00:00', 'pendiente', '2026-06-06 20:48:20.873645+00', NULL); +INSERT INTO public.reservas_huerfanas VALUES ('0a26e36b-19e4-4258-ad22-60191dd1242b', 'eef92d4e-2b3f-40dd-a551-6eac210eb1df', 'Boxeo', '2026-06-08', '18:00:00', 'pendiente', '2026-06-06 20:48:20.873645+00', NULL); +INSERT INTO public.reservas_huerfanas VALUES ('d447f75b-e1e5-4865-a231-43fdca16f9c8', 'c4f83b12-0b88-4ec8-a5db-0a3deacb4d29', 'Boxeo', '2026-06-08', '18:00:00', 'pendiente', '2026-06-06 20:48:20.873645+00', NULL); +INSERT INTO public.reservas_huerfanas VALUES ('dae2e030-fa8b-4007-b6b3-b4008dde388c', '9f3d94ed-64c6-4ba2-ab51-d0f1d76dcf6f', 'Boxeo', '2026-06-08', '18:00:00', 'pendiente', '2026-06-06 20:48:20.873645+00', NULL); +INSERT INTO public.reservas_huerfanas VALUES ('d943a88d-0299-4834-9ebb-1998973f1173', '238e4169-968f-4c68-88d9-ca9ab7d0dfb5', 'Boxeo', '2026-06-08', '18:00:00', 'pendiente', '2026-06-06 20:48:20.873645+00', NULL); +INSERT INTO public.reservas_huerfanas VALUES ('b474bcd4-7c44-4ac7-8bed-162c9a6905e2', '595fa41c-3177-4913-8646-ce53e95564bf', 'Boxeo', '2026-06-08', '20:00:00', 'pendiente', '2026-06-06 20:48:20.873645+00', NULL); +INSERT INTO public.reservas_huerfanas VALUES ('c2b53fd2-90f4-41f6-830c-90ea63704dae', '25f8aad9-58f1-4b8f-bd5b-cae7edd4f269', 'Boxeo', '2026-06-08', '20:00:00', 'pendiente', '2026-06-06 20:48:20.873645+00', NULL); +INSERT INTO public.reservas_huerfanas VALUES ('2e1a0d4d-c675-4d9f-a0fc-d356731aa7af', '88d879ca-b155-4aa2-9c53-feeec0ce6216', 'Boxeo', '2026-06-08', '20:00:00', 'pendiente', '2026-06-06 20:48:20.873645+00', NULL); +INSERT INTO public.reservas_huerfanas VALUES ('3cc3cd5c-ebde-4258-b35c-387727f12576', 'f5a79227-8040-4dea-9b16-418b5def4de0', 'Boxeo', '2026-06-08', '20:00:00', 'pendiente', '2026-06-06 20:48:20.873645+00', NULL); +INSERT INTO public.reservas_huerfanas VALUES ('c520c771-34b2-4b77-bc6c-2d494ea497c9', 'a44af168-1feb-4b0b-9a3c-f61c0f267854', 'Boxeo', '2026-06-08', '20:00:00', 'pendiente', '2026-06-06 20:48:20.873645+00', NULL); +INSERT INTO public.reservas_huerfanas VALUES ('a3367551-bf0c-49e7-83cb-484f854993d0', '5063176b-e3b3-4cf8-8fbe-7f6525ba32d5', 'Boxeo', '2026-06-08', '20:00:00', 'pendiente', '2026-06-06 20:48:20.873645+00', NULL); +INSERT INTO public.reservas_huerfanas VALUES ('35f29ac3-0d55-43ac-9eb0-7621c0fe75a3', 'f2919e7a-0e42-4650-88ff-b1ab1ae1d91a', 'Boxeo', '2026-06-08', '20:00:00', 'pendiente', '2026-06-06 20:48:20.873645+00', NULL); +INSERT INTO public.reservas_huerfanas VALUES ('e4bf7f94-007e-4306-a5ed-26cd747cf25f', '0994395d-dfe6-4897-842d-e39771d8eab9', 'Boxeo', '2026-06-08', '20:00:00', 'pendiente', '2026-06-06 20:48:20.873645+00', NULL); +INSERT INTO public.reservas_huerfanas VALUES ('8e05caf6-e1d1-4405-a98a-822a4d0f25de', 'f351c4c2-1199-489f-9b43-32885b11cf22', 'Boxeo', '2026-06-08', '20:00:00', 'pendiente', '2026-06-06 20:48:20.873645+00', NULL); +INSERT INTO public.reservas_huerfanas VALUES ('c6d4c961-b649-4ae1-a83d-64091d95d3d1', 'e160e04f-d8ad-4036-a62a-0d6c7dbfe46f', 'Boxeo', '2026-06-09', '18:00:00', 'pendiente', '2026-06-06 20:48:20.873645+00', NULL); +INSERT INTO public.reservas_huerfanas VALUES ('e1a1f717-cc81-4e55-931c-19b8e8ed4b96', 'd1d9471d-f484-4987-a55c-1910238310d1', 'Boxeo', '2026-06-09', '20:00:00', 'pendiente', '2026-06-06 20:48:20.873645+00', NULL); +INSERT INTO public.reservas_huerfanas VALUES ('4fe59423-c8f0-43d6-b494-ba9280ceb035', '198176d2-7923-46dc-b3b7-c95ccf091117', 'Boxeo', '2026-06-09', '20:00:00', 'pendiente', '2026-06-06 20:48:20.873645+00', NULL); +INSERT INTO public.reservas_huerfanas VALUES ('a4f20327-0780-4566-86cf-adacda0dd4a1', '25f8aad9-58f1-4b8f-bd5b-cae7edd4f269', 'Boxeo', '2026-06-09', '20:00:00', 'pendiente', '2026-06-06 20:48:20.873645+00', NULL); +INSERT INTO public.reservas_huerfanas VALUES ('777012a2-33c2-4752-86bb-31d7e2d30a5f', '74db756d-9c91-41e1-9073-a77fc3f00f6d', 'Boxeo', '2026-06-09', '20:00:00', 'pendiente', '2026-06-06 20:48:20.873645+00', NULL); +INSERT INTO public.reservas_huerfanas VALUES ('d8ad18dd-739e-4800-9f88-c081191c66b5', '78323bb7-21cb-4965-a4d7-9c1b1d6660b7', 'Boxeo', '2026-06-09', '20:00:00', 'pendiente', '2026-06-06 20:48:20.873645+00', NULL); +INSERT INTO public.reservas_huerfanas VALUES ('ccf1a875-c72e-404f-8c5a-7b77c05d48e9', 'db195bd3-4078-4034-b92f-e2529211b92a', 'Boxeo', '2026-06-09', '20:00:00', 'pendiente', '2026-06-06 20:48:20.873645+00', NULL); +INSERT INTO public.reservas_huerfanas VALUES ('4c09ee50-4e90-44eb-84aa-b91116a41b4a', '79e05bdc-3abb-44e2-a560-73254499ad61', 'Boxeo', '2026-06-09', '20:00:00', 'pendiente', '2026-06-06 20:48:20.873645+00', NULL); +INSERT INTO public.reservas_huerfanas VALUES ('9f1b577f-9879-4419-a1e8-816ee0ac5e33', '79e9578c-e4b8-4586-a122-7ae21731bbe7', 'Boxeo', '2026-06-09', '20:00:00', 'pendiente', '2026-06-06 20:48:20.873645+00', NULL); +INSERT INTO public.reservas_huerfanas VALUES ('34b18e3f-6bad-4178-a985-55d40ba221a8', '3b14568a-7b64-4cad-8cde-25ad30b27746', 'Boxeo', '2026-06-09', '20:00:00', 'pendiente', '2026-06-06 20:48:20.873645+00', NULL); +INSERT INTO public.reservas_huerfanas VALUES ('2f08f217-d60d-4f3c-b949-0fd22ca00b6f', 'ed3e9661-ebb8-42be-8dea-9252ca882723', 'Boxeo', '2026-06-09', '20:00:00', 'pendiente', '2026-06-06 20:48:20.873645+00', NULL); +INSERT INTO public.reservas_huerfanas VALUES ('e6b28321-8e26-40d3-8c64-92a99c0e5423', '9b042ac0-1f6b-4abb-a096-f2b0910930b4', 'Boxeo', '2026-06-10', '20:00:00', 'pendiente', '2026-06-06 20:48:20.873645+00', NULL); +INSERT INTO public.reservas_huerfanas VALUES ('6aaf7dd3-9c0e-4613-aa84-d733ebf4745b', '5dc3949c-49f6-46e5-9687-d4de93fb57e4', 'Boxeo', '2026-06-11', '18:00:00', 'pendiente', '2026-06-06 20:48:20.873645+00', NULL); +INSERT INTO public.reservas_huerfanas VALUES ('009a1879-84a6-43d9-8c1f-a3593d8467bd', 'ec574029-e9f2-45bd-a032-fc7a49ef04e4', 'Boxeo', '2026-06-11', '18:00:00', 'pendiente', '2026-06-06 20:48:20.873645+00', NULL); +INSERT INTO public.reservas_huerfanas VALUES ('98862976-0541-4480-8fb8-426bd43cc0f5', 'e32ff96e-c9f3-45eb-870a-75b5838d40dc', 'Boxeo', '2026-06-11', '18:00:00', 'pendiente', '2026-06-06 20:48:20.873645+00', NULL); +INSERT INTO public.reservas_huerfanas VALUES ('142c6b2b-3c01-4254-80e0-0ed7e91197be', '72d62ab3-e1e6-4785-8089-25eb6c2a1a16', 'Boxeo', '2026-06-11', '18:00:00', 'pendiente', '2026-06-06 20:48:20.873645+00', NULL); +INSERT INTO public.reservas_huerfanas VALUES ('412b25a3-a458-4bdd-bf54-f11aaa91766a', '083f3ead-5766-492c-96a2-a17e05e9f98f', 'Boxeo', '2026-06-11', '18:00:00', 'pendiente', '2026-06-06 20:48:20.873645+00', NULL); +INSERT INTO public.reservas_huerfanas VALUES ('0bcca5b2-ba64-4e5b-8554-fb284b58185d', '9f3d94ed-64c6-4ba2-ab51-d0f1d76dcf6f', 'Boxeo', '2026-06-11', '18:00:00', 'pendiente', '2026-06-06 20:48:20.873645+00', NULL); +INSERT INTO public.reservas_huerfanas VALUES ('7e389718-3e95-4a9d-93ad-0944b53cc85b', '19c48d9d-936f-4321-a4bc-b1cb3d4b9960', 'Boxeo', '2026-06-11', '18:00:00', 'pendiente', '2026-06-06 20:48:20.873645+00', NULL); +INSERT INTO public.reservas_huerfanas VALUES ('ea0bebf0-38e8-4c13-a8cb-a97298805b7d', '7133cbbf-0fb0-453a-9802-0ca72e742efd', 'Boxeo', '2026-06-11', '18:00:00', 'pendiente', '2026-06-06 20:48:20.873645+00', NULL); +INSERT INTO public.reservas_huerfanas VALUES ('5da509c9-37d1-414f-ae2e-631b63d0fe57', '9867ca58-96e8-4a91-8c2f-b6ecdc0837c9', 'Boxeo', '2026-06-11', '18:00:00', 'pendiente', '2026-06-06 20:48:20.873645+00', NULL); +INSERT INTO public.reservas_huerfanas VALUES ('a25e5e17-e7d6-432b-904d-2e72a8c77d3c', '7a295fbb-a09a-4607-9f4c-e3e5fa45862c', 'Boxeo', '2026-06-11', '20:00:00', 'pendiente', '2026-06-06 20:48:20.873645+00', NULL); +INSERT INTO public.reservas_huerfanas VALUES ('64d12eb2-cfdb-4f5e-afc4-747a30b1dd77', 'd1d9471d-f484-4987-a55c-1910238310d1', 'Boxeo', '2026-06-11', '20:00:00', 'pendiente', '2026-06-06 20:48:20.873645+00', NULL); +INSERT INTO public.reservas_huerfanas VALUES ('c7122ab9-8907-4564-bbc3-89c9383806cf', '0994395d-dfe6-4897-842d-e39771d8eab9', 'Boxeo', '2026-06-11', '20:00:00', 'pendiente', '2026-06-06 20:48:20.873645+00', NULL); +INSERT INTO public.reservas_huerfanas VALUES ('507e2984-d145-4af2-a049-35a8e359acf2', 'f351c4c2-1199-489f-9b43-32885b11cf22', 'Boxeo', '2026-06-11', '20:00:00', 'pendiente', '2026-06-06 20:48:20.873645+00', NULL); +INSERT INTO public.reservas_huerfanas VALUES ('57db2374-b9b1-44ec-8e60-04275c4de1f3', 'b54e9586-a744-4b75-a0f2-2d25b0276b16', 'Boxeo', '2026-06-11', '20:00:00', 'pendiente', '2026-06-06 20:48:20.873645+00', NULL); +INSERT INTO public.reservas_huerfanas VALUES ('9dad9cdf-a877-4003-acaf-6530325e64e0', '0a1acb61-9e30-4291-9b73-fa92a65d616c', 'Boxeo', '2026-06-11', '20:00:00', 'pendiente', '2026-06-06 20:48:20.873645+00', NULL); +INSERT INTO public.reservas_huerfanas VALUES ('b9a52bd1-ef4c-43a8-a5e5-6e7251338a86', '44364efa-ba85-499e-bfde-97cf19d26e53', 'Boxeo', '2026-06-11', '20:00:00', 'pendiente', '2026-06-06 20:48:20.873645+00', NULL); +INSERT INTO public.reservas_huerfanas VALUES ('072b8c62-0d37-4b57-91ce-af27c68c1824', '238e4169-968f-4c68-88d9-ca9ab7d0dfb5', 'Boxeo', '2026-06-11', '20:00:00', 'pendiente', '2026-06-06 20:48:20.873645+00', NULL); +INSERT INTO public.reservas_huerfanas VALUES ('4bae0c9e-1f23-40b2-a3fd-6c223d5f8ce0', '74c40cbd-88dd-4069-aa0b-4bd8ee17d97e', 'Boxeo', '2026-06-12', '18:00:00', 'pendiente', '2026-06-06 20:48:20.873645+00', NULL); +INSERT INTO public.reservas_huerfanas VALUES ('c32e8eed-ea75-428e-ad67-74c6fd2e8bc8', '7644fc92-cfa0-4bd1-90cf-6b7d01081774', 'Boxeo', '2026-06-12', '18:00:00', 'pendiente', '2026-06-06 20:48:20.873645+00', NULL); +INSERT INTO public.reservas_huerfanas VALUES ('4044f6c2-8859-4adf-b096-d31ced7b2717', '324a98da-78aa-4ffa-b0eb-029e85f85d76', 'Boxeo', '2026-06-12', '18:00:00', 'pendiente', '2026-06-06 20:48:20.873645+00', NULL); +INSERT INTO public.reservas_huerfanas VALUES ('928aac06-5bc6-4a39-9420-dd1e864b47e6', '79e05bdc-3abb-44e2-a560-73254499ad61', 'Boxeo', '2026-06-12', '18:00:00', 'pendiente', '2026-06-06 20:48:20.873645+00', NULL); +INSERT INTO public.reservas_huerfanas VALUES ('e487c98a-bf8f-43a4-83c7-de7a9b25e65f', '0b37f5da-af88-4e21-a447-7c5d55888ec7', 'Boxeo', '2026-06-12', '18:00:00', 'pendiente', '2026-06-06 20:48:20.873645+00', NULL); +INSERT INTO public.reservas_huerfanas VALUES ('55571fca-19fd-42b2-862b-5a1416076a8b', '083f3ead-5766-492c-96a2-a17e05e9f98f', 'Boxeo', '2026-06-12', '18:00:00', 'pendiente', '2026-06-06 20:48:20.873645+00', NULL); +INSERT INTO public.reservas_huerfanas VALUES ('3d44d2b1-66d5-4742-bd2c-00dc8cfdfe98', '3b14568a-7b64-4cad-8cde-25ad30b27746', 'Boxeo', '2026-06-12', '18:00:00', 'pendiente', '2026-06-06 20:48:20.873645+00', NULL); +INSERT INTO public.reservas_huerfanas VALUES ('54c5c140-b467-402b-825a-0578b223294a', 'db195bd3-4078-4034-b92f-e2529211b92a', 'Boxeo', '2026-06-12', '18:00:00', 'pendiente', '2026-06-06 20:48:20.873645+00', NULL); +INSERT INTO public.reservas_huerfanas VALUES ('c82c6cad-420f-45a9-b96f-a7492676ab0b', 'f351c4c2-1199-489f-9b43-32885b11cf22', 'Boxeo', '2026-06-12', '18:00:00', 'pendiente', '2026-06-06 20:48:20.873645+00', NULL); +INSERT INTO public.reservas_huerfanas VALUES ('41980f55-2245-4ddf-8af2-671325ca0fb6', '79e05bdc-3abb-44e2-a560-73254499ad61', 'Boxeo', '2026-06-12', '20:00:00', 'pendiente', '2026-06-06 20:48:20.873645+00', NULL); +INSERT INTO public.reservas_huerfanas VALUES ('9d5bd6f0-b344-4f49-a4c0-487fed8dff32', '9867ca58-96e8-4a91-8c2f-b6ecdc0837c9', 'Boxeo', '2026-06-12', '20:00:00', 'pendiente', '2026-06-06 20:48:20.873645+00', NULL); +INSERT INTO public.reservas_huerfanas VALUES ('9f814a7d-900b-4581-ae59-43c57346f521', '25f8aad9-58f1-4b8f-bd5b-cae7edd4f269', 'Boxeo', '2026-06-12', '20:00:00', 'pendiente', '2026-06-06 20:48:20.873645+00', NULL); +INSERT INTO public.reservas_huerfanas VALUES ('3a53577e-2e8e-47dd-b2ad-ac989684f90b', '79e9578c-e4b8-4586-a122-7ae21731bbe7', 'Boxeo', '2026-06-12', '20:00:00', 'pendiente', '2026-06-06 20:48:20.873645+00', NULL); +INSERT INTO public.reservas_huerfanas VALUES ('0f5961d7-ad48-4a22-a01d-ec9c65787415', '5515eddc-132d-4d91-ba8f-53aa4c32c3c2', 'Boxeo', '2026-06-12', '20:00:00', 'pendiente', '2026-06-06 20:48:20.873645+00', NULL); +INSERT INTO public.reservas_huerfanas VALUES ('fcb9cecf-64cb-4e3c-8203-652a24c17353', '198176d2-7923-46dc-b3b7-c95ccf091117', 'Boxeo', '2026-06-12', '20:00:00', 'pendiente', '2026-06-06 20:48:20.873645+00', NULL); +INSERT INTO public.reservas_huerfanas VALUES ('ac49d19b-7560-4f57-a1f3-f74efa1e9ec1', '43ee54cd-a953-4a73-88f7-5a018043ac10', 'Boxeo', '2026-06-12', '20:00:00', 'pendiente', '2026-06-06 20:48:20.873645+00', NULL); +INSERT INTO public.reservas_huerfanas VALUES ('deab5e2f-113a-4549-abd3-cf4c6279f0db', '88d879ca-b155-4aa2-9c53-feeec0ce6216', 'Boxeo', '2026-06-12', '20:00:00', 'pendiente', '2026-06-06 20:48:20.873645+00', NULL); + + +-- +-- Data for Name: rutinas; Type: TABLE DATA; Schema: public; Owner: - +-- + + + +-- +-- Data for Name: rutina_ejercicios; Type: TABLE DATA; Schema: public; Owner: - +-- + + + +-- +-- Data for Name: rutinas_clientes; Type: TABLE DATA; Schema: public; Owner: - +-- + + + +-- +-- Name: archivo_exports_id_seq; Type: SEQUENCE SET; Schema: internal; Owner: - +-- + +SELECT pg_catalog.setval('internal.archivo_exports_id_seq', 8, true); + + +-- +-- Name: permisos_id_permiso_seq; Type: SEQUENCE SET; Schema: internal; Owner: - +-- + +SELECT pg_catalog.setval('internal.permisos_id_permiso_seq', 44, true); + + +-- +-- Name: actividades_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - +-- + +SELECT pg_catalog.setval('public.actividades_id_seq', 7, true); + + +-- +-- Name: dias_especiales_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - +-- + +SELECT pg_catalog.setval('public.dias_especiales_id_seq', 1, false); + + +-- +-- Name: horario_actividad_especial_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - +-- + +SELECT pg_catalog.setval('public.horario_actividad_especial_id_seq', 1, false); + + +-- +-- Name: horario_actividad_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - +-- + +SELECT pg_catalog.setval('public.horario_actividad_id_seq', 78, true); + + +-- +-- Name: metodos_pago_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - +-- + +SELECT pg_catalog.setval('public.metodos_pago_id_seq', 4, true); + + +-- +-- PostgreSQL database dump complete +-- + +