Configuración Square
Conecte Square en Ajustes → Square Booking → Square. Use sandbox antes de producción.
Dónde configurar
Las credenciales están en Ajustes → Square Booking → Square. Las demás pestañas: Appearance, Booking flow, Payments, Analytics, Webhooks, Diagnostics, Advanced y License.

Modo de conexión
- Personal Access Token — Plus y Premium. Pegue el token en Access Token.
- OAuth — obligatorio en el plan gratuito. Cree una app en el panel de desarrollador Square, pegue la Redirect URL del plugin, guarde Application ID y Secret, luego Connect to Square.
Cambiar sandbox/producción en OAuth exige reconectar. En OAuth el teléfono es obligatorio. El sandbox está activado por defecto: desmarque Enable sandbox (disable in production) para producción.

Location ID
En Locations de la misma aplicación, copie el ID de la ubicación con Appointments. El widget solo muestra servicios de esa ubicación.
Varias ubicaciones
La tabla Locations muestra las ubicaciones activas de su cuenta de Square. Marque Enabled en cada ubicación reservable: con dos o más, el widget empieza por la elección de la ubicación y los servicios, el equipo y los horarios siguen esa ubicación. Las ubicaciones Hidden no aparecen en la lista pero se pueden reservar con [square_booking location_id="…"] o un enlace. La ubicación por defecto es siempre el Location ID de arriba. Pulse Refresh from Square tras añadir una ubicación en Square.

Probar conexión
Use Test Square Connection. Errores: 401 (token), ubicación de otro entorno, Appointments desactivado, plan gratuito con PAT (pase a OAuth; Diagnostics muestra support_seller_level_writes en false).

Pagos
- Disabled — reserva sin tarjeta (predeterminado).
- Card on file — guarda la tarjeta, 0 $ hoy.
- Pay in full now — cobra el precio del servicio al crear la reserva.
Hace falta un Square Application ID (sandbox y producción son distintos). En OAuth, reconecte para obtener PAYMENTS_WRITE. La Cancellation policy se muestra en el checkout; si está vacía, se usa el texto de Square cuando existe.

Opciones de visualización
En la pestaña Booking flow (Widget Content): descripciones, imágenes, nombre del miembro del equipo. Desmarque Show the All services link para ocultar la miga de pan a la lista de servicios; el botón Back sigue volviendo.

Preguntas de admisión
Deje Custom Intake Questions vacío para cargar el formulario de Square (Appointments → Settings → Intake Form). El JSON de ese campo tiene prioridad. Tipos: TEXT, DROPDOWN, CHECKBOX, TEXT_CONDITIONAL.
