Índice
Sección: Menú Configuración > Configuración General > Plantillas
Preguntas Frecuentes
Introducción
En este artículo veremos cómo crear y editar las plantillas para nuestros emails de confirmación y/o facturas, entre otros. Por defecto, Golfmanager tiene predefinidas algunas plantillas que luego podrán ser editadas y personalizadas por el club.
Vamos a mostrarte que significan cada uno de estos campos para que seas capaz de personalizar estas plantillas en incluso crearlas desde cero. En caso de querer editar una plantilla ya existente, por tu seguridad, recomendamos realizar una copia de la misma y trabajar sobre esta.
Si necesitas crear cualquier tipo de plantilla (reservas, facturas, etc..) traducida a otro idioma, no te preocupes lo puedes hacer tu solo ya que no hace falta tener conocimientos de lenguaje HTML.
El proceso es muy sencillo, solo tienes que seguir estas instrucciones:
Consejos extra:
No te olvides de declarar correctamente todos los caracteres especiales usando códigos de entidad HTML para mejorar la experiencia de usuario.
Siempre crea plantillas nuevas a partir del botón Nuevo en vez de Copiar
Sección General
Sección: Menú Configuración > Configuración General > Plantillas
Tipo. En este campo seleccionaremos el tipo de plantilla. Los tipos existentes son:
Albarán. Se usará esta plantilla para tus órdenes de compra.
Cancelación de compra online. Se usará esta plantilla cuando un cliente cancele su venta a través de la página web.
Confirmación de compra online. Se usará esta plantilla cuando un cliente compre a través de la página web.
Enviar para pago online. Se usará esta plantilla cuando solicitemos el pago de una venta a un cliente via email.
Factura. Se usará esta plantilla para crear facturas. Puedes tener más de una plantilla y seleccionarlas manualmente al generar la factura.
Factura por email. Ahora, al enviar una factura por email a un cliente podrás elegir de entre una de tus plantillas con el texto por defecto, la firma, etc. ¡Ahorra tiempo con esta nueva funcionalidad!
Factura proforma. Se usará esta plantilla para crear facturas proforma. Puedes tener más de una plantilla y seleccionarlas manualmente al generar la factura proforma.
Factura recapitulativa. Se usará esta plantilla para crear facturas. Puedes tener más de una plantilla y seleccionarlas manualmente al generar la factura.
Reserva. Se mostrará esta plantilla al querer mandar una confirmación de reserva desde el plano de reservas. Puedes tener más de una plantilla.
Nombre. Le pondremos un nombre a esta plantilla, por ejemplo Confirmación de compra online.
Prioridad. Orden de envío, en caso de haber más de una plantilla del mismo tipo y de ser una tarea automática como "enviar un email de confirmación de compra online", se enviará la de la prioridad con el número más bajo.
Marcar HTML. Si está activado este campo, nuestra plantilla tiene formato HTML. Si vamos a mandar un texto plano, no hace falta marcar esta opción, pero recomendamos fuertemente crear unas plantillas que impacten positivamente a tu cliente.
De sistema. Este campo nos dice si la plantilla fue creada por el Sistema o no:
SI: por el Sistema:
No podréis guardar modificaciones.
Puede sufrir modificaciones internas por nuestros desarrolladores.
NO: por un Usuario.
Podréis guardar modificaciones.
No sufre modificaciones internas por nuestros desarrolladores.
Para plantillas personalizadas.
NOTA: Si deseas tener una plantilla personalizada, recomendamos de crear una plantilla Nueva. NO usar el botón de Copiar.
Cuerpo. Aquí es donde editaremos nuestro HTML. Para editar el contenido de una plantilla en formato HTML, la mejor opción es copiarla y modificar la copiada. Si no sabes sobre HTML es recomendable utilizar un editor web o pedir ayuda a un desarrollador web. Por internet podemos encontrar muchos editores HTML, entre ellos uno sencillo y efectivo como https://html5-editor.net/.
ATENCIÓN a mantener intacto los códigos de la plantilla que "pintan" información dinámica de una reserva o factura como por ejemplo <%= publicPath %><%= info.logo %>. Todas estas son fácilmente reconocibles porque empiezan por <% y acaban por %>.
NOTA. Puedes configurar para que el sistema envíe un email automático nada más hacer una reserva desde administración sin tener que mandar manualmente. Esta plantilla puede tener un código que, según sea una confirmación de reserva, actualización o cancelación, mande un texto u otro al cliente.
Consulta con el equipo técnico para recuperar este código en caso de haberlo perdido en alguna modificación.
Cómo traducir o modificar el texto/palabra de una plantilla existente
Sección: Menú Configuración > Configuración General > Plantillas
Selecciona en el ID de la plantilla que se quiere traducir o modificar el texto o palabra
Selecciona en el botón de Ver pantalla completa
Selecciona con el ratón en cualquier parte del Cuerpo de la Plantilla
Selecciona las teclas de tu teclado CTRL+F y se abrirá una ventana donde puedes escribir los conceptos o palabras que quieres modificar ("total" en el ejemplo adjunto)
Una vez escrito el concepto o frase o palabra a modificar, encontrarás a la derecha el número de veces (4 veces en el ejemplo adjunto) que se encuentra ese concepto en la plantilla y seleccionando en las flechas, el sistema os indicará con un color distinto cada una de las repeticiones (repetición número 2 en el ejemplo adjunto).
Reemplazar los conceptos o palabras de la plantilla original por las modificaciones correspondientes
Selecciona en el botón de Guardar y Seguir
Plantilla Reservas: envío automático confirmación, modificación y cancelación
<% if (type == "confirmed") { %>
<h1 style="font-size: 2.4em; margin-bottom: 40px">
Thanks for your booking!
</h1>
<% } else if (type == "updated") { %>
<h1 style="font-size: 2.4em; margin-bottom: 40px">
Your reservation has been updated!
</h1>
<% } else if (type == "canceled") { %>
<h1 style="font-size: 2.4em; margin-bottom: 40px">
Your reservation has been canceled!
</h1>
<% } %>
Plantilla Reservas: añadir código QR
Sección: Menú Configuración > Configuración General > Plantillas
<%== runtime.exec("autocheckin.getQrLinksFromReservations", model.reservations, "text-decoration:none; color:#865bf4; font-weight:600;")?.replace(" ", "<br>") %>
Plantilla Confirmación compra online: añadir código QR
Sección: Menú Configuración > Configuración General > Plantillas
<% if (runtime.context.hasPlugin("autocheckin")) { %>
<%== runtime.exec("autocheckin.getQrLinks", model.sale, "text-decoration:none; color:#865bf4; font-weight:600;")?.replace(" ", "<br>") %>
Plantilla Facturas: modificar el código del país
Sección: Menú Configuración > Configuración General > Plantillas
Antes: <%= T("@@País") %>: <%= invoice.billingCountry || invoice.clientCountry %><br>
Añadir: T(.....)
Después: <%= T("@@País") %>: <%= T(invoice.billingCountry || invoice.clientCountry) %><br>
Plantilla Facturas: para solventar el mensaje de error 505 en todas las plantillas
Sección: Menú Configuración > Configuración General > Plantillas
Antes: let price = gLines.sum(t => t.total) / gLines.sum(t => t.quantity)
Añadir: (... || 1)
Después: let price = gLines.sum(t => t.total) / (gLines.sum(t => t.quantity) || 1)
Plantilla Facturas: cómo visualizar los motivos de cancelación
Sección: Menú Configuración > Configuración General > Plantillas
Código: <%= invoice.cancelationReason %>
Plantilla Pedidos: para solventar el mensaje de error 505 en la línea 20
Sección: Menú Configuración > Configuración General > Plantillas
Si visualizas este mensaje al intentar imprimir un Pedido, hay que modificar en la plantilla Albarán, las líneas que te aparecen en el mensaje:
Se visualiza el mensaje de error por estos códigos:
<div class="date">
<%= T("@@Fecha") %>: <%= deliveryNote.date.local().format("d") %>Hay que modificarlos por estos:
<div class="createDate">
<%= T("@@Fecha") %>: <%= deliveryNote.createDate.local().format("d") %>
Antes: <div class="date">
<%= T("@@Fecha") %>: <%= deliveryNote.date.local().format("d") %>
Añadir: createDate
Después: <div class="createDate">
<%= T("@@Fecha") %>: <%= deliveryNote.createDate.local().format("d") %>
NOTA. En caso de que no tengas permisos para modificar una Plantilla, ponte en contacto con soporte técnico a través de la burbuja azul.
Plantilla "Enviar pago online" en HTML y con botón de Pagar
Sección: Menú Configuración > Configuración General > Plantillas
<p>Estimado/a <%= model.client.name %>,</p>
<p>A continuación puede encontrar el link donde acceder al pago con tarjeta del producto que nos ha solicitado.</p>
<br><br><a style="color: #fff; background-color: #15c; padding: 8px 15px; text-decoration: none; border-radius: 3px; font-family: arial, sans-serif; font-size: 1.3em;" href="<%= model.url %>"><%= T("@@Pagar") %></a><br><br>
<br><br><% if (model.timeout) { %>Fecha de caducidad: <%= model.timeout.format("g") %><% } %><br><br>
<p>Por favor, en caso de cualquier duda o incidencia póngase en contacto con nosotros llamando al <%= model.tenant.phone %> o enviando un email al <%= model.tenant.email %>.</p>
<p>Muchas gracias.</p>
<p>Un saludo,</p>
<p><%= model.tenant.name %></p>
propiedades con[] al final son arrays,
listados de elementos que se iteran con for (let v of x) { } para acceder a sus propiedades
*** model.invoice
id
number
date
cancelationNumber
comments
idTemplate
idCancelationOf
idClient
idFirstTicket // recapitulativas, el id del primer ticket
// las siguientes 7 propiedades se guardan en la factura, abajo están las deli cliente y empresa
name
street
town
province
zipCode
country
countryCode
// las siguientes 4 son de recapitulativas, primer y ultimo numero, normal y cancelación
firstTicketNumber
lastTicketNumber
firstTicketCanceledNumber
lastTicketCanceledNumber
// los siguientes 3 bloques son direcciones: cliente normal, cliente facturación y empresa
clientName
clientNationalID
clientAccount
clientStreet
clientTown
clientProvince
clientZipCode
clientCountry
clientCountryCode
billingName
billingStreet
billingTown
billingProvince
billingZipCode
billingCountry
billingCountryCode
idCompany
companyName
companyCIF
companyStreet
companyTown
companyProvince
companyZipCode
companyPhone
companyEmail
----------------------aquí termina model.invoice------------------------
*** model.lines[] // listado de líneas
id // id de la saleline
idInvoiceLine
description
quantity
price
discount
taxes
total
canceled
coupon
useDate
createDate
idProduct
name // nombre del producto
supplied
idTax
taxName
taxPercent
taxDescription
subfamily
family
idClient
clientName
guestName // nombre guardado en la saleline
guestEmail // email guardado en la saleline
idBeneficiary
beneficiaryName
idTicket
ticketNumber
*** model.payments[] // listado de pagos
amount // importe pagado en una forma de pago
paymentMethodName // la forma de pago
*** model.account
id
idCompany
companyName
account
bic
lastDigits
bankName
priority
*** model.company // contiene las propiedades de Centro, no incluí todas
name
cif
headerLabel
description
language
currency
currencySymbol
phone
web
street
town
province
zipCode
country
countryCode
latitude
longitude
*** model.taxItems[] // listado de taxItems
id
idTaxType
name
percent
realPercent
account
*** model.client // incluye customfields_
id
avatar
name
memberCode
fiscalType
nationalID
issueDate
expirationDate
gender
birthDate
password
nationality
idGroup
tags
phoneCountryCode
phoneCountryCodeName
phone
phoneCountryCode2
phoneCountryCode2Name
phone2
street
town
province
regionCode
region
zipCode
country
countryCode
billingName
billingStreet
billingTown
billingRegionCode
billingRegion
billingZipCode
billingCountryCode
billingCountry
idInvoiceClient
account
requiresInvoice
isCompany
contact
invoicesEmail
alert
comments
tag
tagColor
tagBackgroundColor
other1
other2
centerCard
acceptedTerms
acceptedMarketing
isPublic
api
hasApp
isAgency
onCredit
online
emailValidated
blocked
idPrivacyPolicy
fails
federationCode
hcpExact
*** model.taxes[] // listado de impuestos
name // nombre del impuesto
total // total de este impuesto
model.net // importe base
model.total // importe total
model.tenant // el subdominio del tenant
model.footerData // Pie de página guardado en Empresa