Skip to main content

v3 - Custos Mobile Integration

Complete guide to the Custos ball machines: players buy and dispense balls from the phone using their voucher (or by card at the dataphone), step-by-step setup, every field explained, authorization form, support and FAQs.

Contents

What is this integration?

The Custos integration connects Golfmanager with the Custos ball-dispensing machines at the driving range. It lets players buy and get balls from their phone, with no tokens or coins: they pick the bucket they want, pay for it, and the machine dispenses the balls automatically.

Players can get balls in two ways:

  • With their ball voucher: they pay from the app with their prepaid balance and the machine releases the balls. This operation is recorded in Golfmanager.

  • By card at the machine's dataphone: they tap their card on the dispenser's own card reader. For this, the club needs a Redsys payment gateway dedicated exclusively to the machine (you can't use the same gateway already configured in Golfmanager).

A voucher in Golfmanager is a prepaid balance. The player tops up a ball voucher and, each time they want to practice, pays with that balance from the phone and the machine releases the balls. There is no separate module called "Custos Mobile": it's this same ball-machine integration, accessed from the phone/app.

What problem does it solve?

  • Self-service at the driving range: the player gets balls without going to the front desk or using tokens.

  • No cash or physical tokens: payment is by prepaid voucher (or by card at the dataphone), more convenient and with no coin handling.

  • Available whenever the player wants, including outside front-desk hours.

  • Automated process: dispensing happens on its own once the purchase is completed.

  • Everything is recorded in Golfmanager: the voucher usage (and, if configured, a formal sale).

Which systems does it connect, and which way does the data flow?

It connects the Golfmanager portal/app with the Custos machines' server, in real time:

  • The player chooses a ball option from the phone.

  • Golfmanager deducts the amount from their ball voucher.

  • Golfmanager sends the order to the Custos machine (quantity and the specific machine).

  • The machine dispenses the balls and the player sees the confirmation.

For card payment, the charge is handled by the machine's dataphone with Redsys, outside of Golfmanager.

What information is exchanged?

Information

Direction

Purpose

Chosen ball option

Player → Golfmanager

Know which bucket they want

Quantity and machine

Golfmanager → Custos machine

Have the machine dispense the balls

Operation confirmation

Custos machine → Golfmanager

Confirm to the player and keep a record

Prerequisites (before turning the integration on)

  1. Have Custos ball machines with their server reachable from Golfmanager.

  2. Have the "Custos Ball Machine" module installed (from the App Market), along with the vouchers module.

  3. Have a voucher type created for the balls, which is what the usage is deducted from.

  4. The Custos server connection details: IP address, username and password (provided by the vendor).

  5. For card payment at the machine: a dedicated Redsys gateway (separate from Golfmanager's) and the signed authorization form (see below).

  6. System administrator permissions for the configuration.

The authorization form

To authorize the integration between the club, the company Custos and Golfmanager (and enable card payment via Redsys), the club must fill in and send a form. Once received, Golfmanager signs it and sends it to Custos.

Fields to fill in:

Merchant details

  • FUC code: request it from your bank, under sector 2422 (vending).

  • Merchant name: that of the club's company contracting it.

  • Equipment delivery address: the club company's address.

  • Contact person, email and phone of the club.

  • Identifier on the ATENTO server (operator name): leave it blank; Redsys fills it in.

  • Name of the bank the club uses.

Service and equipment details

  • Number of units with card payment and telemetry: enter 1 by default.

  • Number of units with telemetry ONLY: enter 1 by default.

Machine information

  • Manufacturer, model, software version and number of machines.

How to set it up (step by step)

Step 1 — Install the module

  1. Go to Settings > System > App Market.

  2. Install the Custos Ball Machine plugin.

Step 2 — Connection with the Custos server

  1. Go to Settings > CRM > Settings, the Ball machine section.

  2. Enter the Server IP address (it's the same for all machines).

  3. Enter the Username (golfmanager, lowercase) and the Password (the same for all machines, provided by the vendor).

  4. Save your changes.

ℹ️ The only thing that changes between machines is each one's IP/identifier; the username and password are common.

Step 3 — Create and assign the voucher type

  1. Go to Settings > Vouchers > Voucher types and create the balls voucher type.

  2. Go back to the Ball machine section (Settings > CRM > Settings) and select that Voucher type.

  3. Save your changes.

Step 4 — Formal sale (optional)

  1. In the Ball machine section, turn on Generate formal sale if you want a sale (paid with the voucher) to be generated in addition to deducting from the voucher, for accounting.

  2. If you turn it on, select the Formal-sale product.

  3. Save your changes.

Step 5 — Create the ball-purchase options

  1. Go to Settings > CRM > Ball Machine.

  2. Click New and fill in: Name (for example, "50-ball bucket"), Amount to deduct from the voucher, Description (optional, useful if there are several machines), Image, Priority, Quantity to send to the machine and Machine ID.

  3. Save. Create one option for each machine available.

⚠️ Important: the Machine ID must match the real Custos machine's ID (provided by the reader's vendor). If it doesn't match, the order won't reach the right machine.

Step 6 — Create the home-screen access button

  1. Go to Settings > CRM > Home cards and click New.

  2. Fill in the Text (title), the URL with //consumer/ballMachines, the Priority, the Image, the background color, a short description and the button text (for example, "Get balls").

  3. In Customer tags, set which customers will see the card; in Include subfolders, select No (it's a direct access).

  4. Save.

Each configuration field explained

Below, each field is explained: what it is, how it affects the system, how it behaves, and an example of use. They're split into the connection and billing ones (the Ball machine section) and the ones for each purchase option.

Connection and billing (Settings > CRM > Settings > Ball machine)

Voucher type

  • Field name: Voucher type.

  • Description: the voucher the ball usage is deducted from.

  • System impact: it's required; without it, purchases error ("The voucher to be deducted from is not configured").

  • System behavior: on purchase, the chosen option's amount is deducted from this voucher, and the player is shown their balance for this voucher.

  • Example of use / what happens: you select the "Balls" voucher; that voucher's balance is what the player sees and spends.

Server IP address

  • Field name: Server IP address.

  • Description: the address of the Custos machines' server (Atento).

  • System impact: it's where Golfmanager sends the dispense order. Without it, the machines can't be reached.

  • System behavior: Golfmanager connects to this address to authenticate and send the order. It's the same for all the club's machines.

  • Example of use / what happens: you enter the IP the vendor gives you and save; from then on, purchases can reach the machines.

Username

  • Field name: Username.

  • Description: the user Golfmanager authenticates with on the Custos server.

  • System impact: without a valid user, the server rejects the connection.

  • System behavior: it's sent on every request to the Custos server.

  • Example of use / what happens: it's usually golfmanager (lowercase), the same for all machines.

Password

  • Field name: Password.

  • Description: the password for the Custos server user.

  • System impact: it completes the authentication. If it's missing or wrong, balls can't be dispensed.

  • System behavior: it accompanies the username in the connection to the server.

  • Example of use / what happens: it's the same for all machines; provided by the vendor. You enter it and save.

Generate formal sale

  • Field name: Generate formal sale. It's a toggle (on/off).

  • Description: decides whether, in addition to deducting from the voucher, a sale (paid with the voucher) is generated.

  • System impact: with it on, each purchase leaves a formal sale for accounting; off, it only deducts from the voucher (a voucher entry remains, with no sale).

  • System behavior: if you turn it on, you must also set the sale's product.

  • Example of use / what happens: turn it on if your accounting needs a sale per operation; leave it off if the voucher usage is enough.

Formal-sale product

  • Field name: Formal-sale product.

  • Description: the product used in the formal sale when that option is enabled.

  • System impact: it determines how each ball purchase is recorded for accounting.

  • System behavior: it's only used if "Generate formal sale" is on.

  • Example of use / what happens: you select a product like "Driving-range balls"; each formal sale comes out with that product.

Each ball-purchase option (Settings > CRM > Ball Machine)

Name

  • Field name: Name.

  • Description: how the option is shown to the player (for example, "50-ball bucket").

  • System impact: it's what the player sees when choosing; it doesn't affect dispensing.

  • System behavior: it appears in the list of options on the phone.

  • Example of use / what happens: you set "Large bucket"; the player sees it that way in the app.

Amount to deduct from the voucher

  • Field name: Amount to deduct from the voucher (after each purchase).

  • Description: how much voucher balance that option costs.

  • System impact: it's what's subtracted from the player's voucher on purchase.

  • System behavior: it's deducted from the configured voucher on each operation.

  • Example of use / what happens: you set 1; each purchase of that option uses 1 unit of the voucher.

Description

  • Field name: Description (optional).

  • Description: a supporting text the player sees; useful to identify which machine it corresponds to if there are several.

  • System impact: informational only.

  • System behavior: it's shown under the option's name.

  • Example of use / what happens: you set "Driving-range machine" so the player knows which machine the balls will come from.

Image

  • Field name: Image.

  • Description: the image that represents the option in the app.

  • System impact: it improves visual clarity for the player; it doesn't affect dispensing.

  • System behavior: it's shown on the option's card.

  • Example of use / what happens: you upload a photo of a ball bucket so the option is recognizable.

Priority

  • Field name: Priority.

  • Description: the order in which the options are shown.

  • System impact: it sorts the list the player sees.

  • System behavior: options are ordered by this value.

  • Example of use / what happens: you give the most popular bucket a lower priority so it appears first.

Quantity to send to the machine

  • Field name: Quantity to send to the machine.

  • Description: the value sent to the machine to dispense, expressed in money and without decimals.

  • System impact: it determines how many balls the machine releases.

  • System behavior: Golfmanager sends this value to the Custos machine when the purchase is confirmed.

  • Example of use / what happens: if a ball bucket is worth €1, you put 50 here (no decimals, according to the machine's equivalence).

Machine ID

  • Field name: Machine ID.

  • Description: the identifier of the Custos machine the order is sent to (provided by the reader's vendor).

  • System impact: it routes the order to the right machine. If it's wrong, the balls will come from another machine or none.

  • System behavior: it's sent to the machine together with the quantity.

  • Example of use / what happens: if the club has several machines, you create one option per machine, each with its ID; that way each option dispenses on its machine.

How it works day to day

For the player, it's a self-service process:

  1. They go into the Golfmanager portal/app (they must be logged in) and open the ball machine section (for example, from the "Get balls" button on the home).

  2. They see their voucher balance and the available options (the buckets).

  3. They choose an option and confirm (a "Continue?" appears).

  4. Golfmanager deducts the amount from the voucher and orders the machine to dispense.

  5. The machine releases the balls and the player sees the message "Purchase made successfully".

Alternatively, the player can pay by card at the machine's own dataphone (via Redsys); in that case the charge is handled by the machine.

The ball voucher

For payment from the app, the player uses their ball voucher (prepaid balance). When it runs out, they can top it up from the screen itself (the "Top up voucher" button, which goes to the online shop) or at the front desk.

Each operation's usage is deducted from the voucher according to the amount to deduct defined in the chosen option.

Limitations to keep in mind

  • The player must be logged in and have voucher balance (for payment from the app).

  • Card payment is via the machine's dataphone: it requires a dedicated Redsys gateway, different from Golfmanager's. Those card charges are not yet recorded in Golfmanager (voucher ones are).

  • It depends on the Custos machines: if the server isn't reachable, balls can't be dispensed.

  • Each option points to a specific machine via its ID; it must be configured correctly.

  • The voucher usage is applied on confirmation: if right after that the machine didn't respond, the balance could be deducted without dispensing; in such a case, review the operation and contact support.

  • It's a player self-service integration, designed for the phone/portal, not for the front-desk POS.

Frequently asked questions

Is there a separate module called "Custos Mobile"?

No. It's the same Custos ball-machine integration, which the player accesses from the phone/app. The module you install is called "Custos Ball Machine".

How does the player pay for the balls?

In two ways: with their ball voucher (prepaid balance, from the app) or by card at the machine's own dataphone. Voucher payment is recorded in Golfmanager; card payment is handled by the dataphone with Redsys.

Why is a separate Redsys gateway needed for card payment?

Because card payment at the machine uses a Redsys gateway dedicated exclusively to the machine's dataphone. You can't use the same payment gateway already configured in Golfmanager; it's a separate registration (hence the authorization form).

Do card charges at the machine appear in Golfmanager?

Not for now: card-payment transactions at the dataphone are not yet recorded in Golfmanager. Operations paid with the voucher are recorded (voucher usage and, if you enable it, a formal sale).

What does the player need to get balls from the app?

To be logged in on the portal/app and have balance on their ball voucher. Without a session or balance, they can't complete the purchase.

I get "You need to be logged in to buy balls". What's happening?

The player isn't logged in. They must sign in on the portal/app to be able to buy.

I get "The voucher to be deducted from is not configured". What should I check?

The voucher type is missing in the configuration. Go to Settings > CRM > Settings > Ball machine and select the voucher type (created beforehand in Vouchers).

I get "The machine server is not configured". What should I check?

The IP address, the username or the password of the Custos server is missing. Fill in all three in the Ball machine section of the settings.

I get "Could not reach the ball machine". What do I do?

The Custos server isn't responding. Check that it's powered on and reachable on the network and that the configured address is correct. If it persists, contact Custos support.

I get an "ERROR …" message. What does it mean?

It's an error returned by the Custos server when trying to dispense (for example, a machine problem or an issue with the data sent). The message includes the code and the detail; review it and, if it isn't resolved, give it to Custos support.

The player doesn't have enough balance. What do they do?

They must top up the voucher before getting balls, from the "Top up voucher" button (which goes to the online shop) or at the front desk.

The balls come from the wrong machine. Why?

Because the Machine ID of that option is wrong. Review the identifier in the purchase option (Settings > CRM > Ball Machine) and check that it matches the real machine's.

What's the difference between "amount to deduct from the voucher" and "quantity to send to the machine"?

The amount to deduct from the voucher is what the option costs in voucher balance (for example, 1). The quantity to send to the machine is the value the dispenser receives to release the balls, in money and without decimals (for example, 50 if the bucket equals €1). They're two different concepts: one is the cost to the player, the other the order for the machine.

I have several ball machines. How do I configure it?

You must create one purchase option per machine, each with its Machine ID. That way each option dispenses on its specific machine. You can use each option's description to indicate which machine it corresponds to.

What is "Generate formal sale" and when do I enable it?

If you enable it, each ball purchase generates, in addition to the voucher usage, a formal sale (paid with the voucher) with the product you choose. Enable it if your accounting needs a sale per operation; leave it off if the voucher entry is enough.

Where is the ball usage recorded?

In the player's voucher usage (always) and, if you've enabled "Generate formal sale", also as a sale paid with the voucher. Card payments at the dataphone, for now, aren't recorded in Golfmanager.

The voucher was deducted but the balls didn't come out. What's happening?

The usage is applied when the purchase is confirmed; if right after that the machine didn't respond, the balance could be left deducted without dispensing. Review the player's operation and, if the balance needs correcting, contact support. Also check that the machine is operational.

How does the player top up their voucher?

From the ball-machine screen itself, with the "Top up voucher" button (which goes to the online shop), or at the front desk.

How do I add the ball-purchase access to the app?

Create a home card (Settings > CRM > Home cards) with the URL //consumer/ballMachines and, for example, the button text "Get balls". That card is the player's direct access.

What username and password do I enter in the connection?

The username is usually golfmanager (lowercase) and the password is the same for all machines; both are provided by the vendor. The only thing that changes between machines is their identifier/IP.

Do I need to fill in any form before starting?

Yes. To authorize the integration between the club, Custos and Golfmanager (and enable card payment via Redsys), you must fill in and send the authorization form. Golfmanager signs it and forwards it to Custos. You have the documents in the "The authorization form" section.

What is the form's "FUC code" and where do I get it?

It's a code you must request from your bank, under sector 2422 (vending). It's part of the merchant details on the authorization form.

What permissions do I need to configure the integration?

System administrator permissions for the configuration (installing the module, configuring the server, the options and the home card).

Does it work outside front-desk hours?

Yes. It's a self-service: as long as the player has balance (or pays by card at the machine) and the machines are operational, they can get balls at any time.

Who do I contact if the issue is with the machine or the hardware?

Custos support (see the "Support and contact" section). For questions about the configuration in Golfmanager, contact Golfmanager support.

Support and contact

For any question or issue with the machine or the service, contact Custos:

For questions about the configuration in Golfmanager, contact Golfmanager support.

Recommended best practices

  • Check the connection with the machines with a test operation at go-live.

  • Review the machine IDs of each option so the balls come out where they should.

  • Use clear names and images on the ball options so the player chooses easily.

  • Make voucher top-ups easy (online and at the front desk) so the player never runs out of balance.

  • Decide whether to generate a formal sale based on your accounting needs.

  • If you're going to offer card payment, arrange the dedicated Redsys gateway and the authorization form in good time.

Did this answer your question?