FAQ Q384: What are some of the hidden advanced customizations I can use in the backend?

Section: Translations and language
By far the best way to customize the backend using either Javascript or CSS is explained in Q382. However, some items are easily customized using the "customized translation" feature which lets you add custom texts to your translations. This applies also if you're using Planyo in a single language. In such case you can still define your own custom translations ("defines") by clicking the button "Enter new item" in Custom translations. Such translation can then be used in all your templates and can be set on the level of a single resource, entire site or the metasite. One typical usage would be to let you define a different value for each resource and then use the tag $(S_CUS_xxx) in your template which will be replaced by resource-specific value. Note that whatever you enter in "Enter new item" will become a new "define" with the ID equal to S_CUS_xxx where xxx is the label you type, all upper-case and with spaces replaced by underscores, so if you type e.g. "new item", your define will have the ID of "S_CUS_NEW_ITEM".

Below is a table that shows which special "defines" can be used to customize the backend (mostly by changing default labels but there are some exception functions as well, see below).

Define IDDescription
S_CUS_BUTTON_1 ... S_CUS_BUTTON_5button labels for custom webhook buttons on the reservation details page. The custom webhooks triggered by these buttons can be defined on the notification callbacks (webhooks) page
S_CUS_INVOICE_FILENAMEif you want to customize the filename of the invoice attachments in your notifications (by default: [invoice number].pdf) you can define the filename using this define. Besides a fixed filename you can use the following tags: $(rental_id), $(sequential_number), $(financial_year_sequential_number) and $(invoice_date) in the YYYY-MM-DD format. The filename should end with the ".pdf" extension as it will be always generated as a PDF file
S_CUS_ASSIGNMENT, S_CUS_ASSIGNMENT_2 ... S_CUS_ASSIGNMENT_5for flexible packages you can assign a custom name to each category on the package page. You can use the links in the Actions section at the bottom of the page
S_CUS_PAYMENT_COMMENTSfor admin-entered offline payments ("add payment" button on the reservation details page) you can leave a comment as a text field. If you always have a few payment categories, you can add this define and specify comma-separated payment categories which will be displayed on the backend "new payment" page as a dropdown instead of a text field
S_CUS_PAYMENT_GATEWAY_xxxyou can rename one of the available payment gateway names by specifying the gateway ID or name, e.g. S_CUS_PAYMENT_GATEWAY_STRIPE_CHECKOUT and S_CUS_PAYMENT_GATEWAY_107 would both allow you to rename the Stripe Checkout gateway name. S_CUS_PAYPAL or S_CUS_1 would stand for Paypal. See this API documentation page for a listing of payment gateway numeric IDs
S_CUS_OTHER_GATEWAYa non-standard payment gateway will by default be marked as "Other", you can rename it using this define
S_CUS_BACKEND_MAKE_RESERVATIONyou can change the label of the green "Make reservation" button in the backend by setting this define. This won't change the text "Make reservation" elsewhere in the system
S_CUS_CALENDAR_EXTRAS_ONERES, S_CUS_CALENDAR_EXTRASequivalent of setting the default calendar overview extra parameters in Customize activity overview dashboard (for single and multiple resources); only useful if set on the metasite level and if you don't want to set this individually for each site
S_CUS_REPEAT_ERRORif the option "Disallow reservation if at least one date is not available" is selected in resource settings, a default error message (e.g. saying a given date is unavailable) will be displayed if one of the dates chosen is not available. You can override this error message by setting this define
S_CUS_SUBMIT_PRODUCTS_BUTTONif the reservation process includes selection of additional products, by default the button to submit selected products will say "Add to cart", "Make reservation" or "Update", depending on the context. You can set this define to override this label
S_CUS_RESOCC_2, S_CUS_RESOCC_3if a resource is not available, the default error message says "Cannot rent resource. It is unavailable on/from" followed by the first unavailable time slot. You can change this error message using standard translation of S_RESOCC but if you wish to add more text after the date/time you can do so using the define S_CUS_RESOCC_2 which will follow the text in S_RESOCC and then the date/time. Sometimes additional error message will follow (e.g. only X units are available if user is reserving more units than what is available). In such cases S_CUS_RESOCC_3 will be additionally appended to the error message at the very end
S_CUS_WAITING_LIST_BCCfor waiting lists, by default if a slot gets freed, an email to the main site admin is sent informing them that there are waiting list items which can be upgraded to full reservations. You can use this define to add another email address that will receive this administrative email message in addition to the main site admin. Note that this define can include resource/site tags so you can send it to e.g. the resource admin by using $(resource_admin_email) as the value of this define
S_CUS_FLEX_CAL_MAKE_RESERVATIONfor events, the flexible calendar showing a single resource will show the link "Make reservation" for the dates/times when the event takes place. You can override this text using this define

Additionally you can use this special link to define an alternative invoice recipient for the invoices made out by Planyo for your Planyo payments. By default, it's the company name and address specified in "Site settings" but this link will add a new field on that page called "Invoice data" where you can specify an alternative recipient.
Questions Fréquemment Posées (FAQ)