GCS Interface

1 | GCS Setup & XML POS Interface

This lesson covers the GCS Interface in general along with the details regarding Golf Computer Systems XML Interface such as configuration process and GCS Interface Functions.

1 | GCS Setup & XML POS Interface

Category: | CALink, Accounts & Gaming

This lesson covers the GCS Interface in general along with the details regarding Golf Computer Systems XML Interface such as configuration process and GCS Interface Functions.

 

Prerequisites​​​​​​​

  • To begin the implementation process, the Implementation Operator must have the following privileges enabled:
    • Have all 'System Setup' Operator flags turned on
    • GCS uses a standard TCPIP Link to communicate Member Details and Account Balances
    • You can charge sales to a Member Account in GCS and also post a Payment to GCS
    • You must turn on the "Supports Charging" flag in the Venue Setup and also select an External Payment Totaliser for reporting
    • Other CALink Options that must be Set:
        • Use Product Sort: By default, the system will use the Product Types (1-30) for Item Codes, if this flag is on, it will use the Product Sort (1-30). (See ItemCodes)
    • ITEMCODES:
        • There are 30 Types or Sorts (1-30)
        • There are also some preset Codes:
          Tips = 31
          HandlingFee = 32
          OtherCharges = 33
          MembershipFees = 34
          Discount = 35

CALink Settings

  • The settings within CALink.exe will need to be set up similar to the below image with the appropriate SQL Server Address and Ports in place:
    • You will need to get the following from GCS for each Installation and set up the relevant fields
      • Server IP Address
      • Server TCP Port Number


Payment Types

  • If sending payments across to GCS, then you also must have Payment Types in GCS that match the standard Payment types in BEpoz
    • These are matched via the name
    • The GCS Name may be longer than the BEpoz Requirement, but must include the exact text defined below:
      • POSCASH- This is the Cash Payment Type
      • POSCARD- This is used for any manual Credit card payment (This could be "Credit Card" in GCS
      • POSCHEQ or POSCHQ– This is for Cheques it may be called Cheque
      • POSEFT – This is for EFTPOS it may be called EFT or EFTPOS 

GCS Partial Charge Amount Only

  • Usually, GCS will charge the whole transaction to the members GCS Account
  • If you wish to only charge a portion of the transaction, you can put a new Partial Charge button on the keyboard of the Till
  • The CALink Charge Till function has a Flag to force a Tendered amount – this will force GCS to only charge the tendered amount

Member Download

  • There is also a Job called "Import GCS Members" in JobExport
    • This allows you to download the full member database from GCS into BEpoz for Member sales Analysis; this is Optional
    • GCS Partial Charge Amount Only:
      • Usually, GCS will charge the whole transaction to the members GCS Account
      • If you wish to only charge a portion of the transaction, you can put a new Partial Charge button on the keyboard of the Till
      • The CALink Charge Till function has a Flag to force a Tendered amount – this will force GCS to only charge the tendered amount

Background & Other Info

Golf Computer Systems
POSInterface 
Version 2.36.9.52 
01 February 2017 
The Golf Computer Systems XML Interface started life as the GCS XML Point of Sale Interface and has grown to support other functionality. Called "the Interface" for the remainder of this document, it is a module designed to accept data across a TCP/IP connection from Point of Sale terminals. POS Back Office or other third parter server into GCS's Membership Management System and return information about members and/or accept payments. 
Functionally the interface will enable member validation from MMS to occur when a member is identified at POS. Following successful validation the member POS transactions may pass across the interface and record against appropriate ledgers within MMS, either for account charging or reduction of credit account balances. Additionally the interface will enable account balance queries on a per member basis, and account payments by members to any applicable ledgers within MMS. In the latter case the payment will register for cash reconciliation in POS but will not form part of sales revenue. 
Contact
Questions relating to the Interface specification should be directed to Chris Matheson of Golf Computer Systems by phone on (07) 3366 6696 or email to chris@golfclub.com.au
Document Conventions
Information about interface fields is colour coded to represent the following:

 

Colour Meaning
Black Normal
Grey Deprecated Functionality
Blue Custom or complex data field types or arrays, further information follows
Green Planned functionality not yet implemented
Olive

Existing functionality that has been substantially changed and may not be backward compatible to previous versions

Purple Optional data field. If this is not received a default (specified) will be used
Red Preliminary functionality that does not exist. This is to be reviewed and feedback provided to GCS about suitability

 



Configuring the Interface

MMS Configuration

POS System

Setup the options for the POS System

 

Setting Options Notes
POS Interface Micros, DRS, RedCat, Squirrel, Generate, XML The POS Interface selection determines what options are available and how the system will handle data received from interfaces. Select XML.
Tax is… Inclusive, Exclusive, To be determined Set this to Inclusive to indicate that tax will be present in the data received from the interface.
Enforce Credit Limits Enabled, Disabled When enabled, members with a credit limit set will not be able to exceed that limit
Enforce On Hold Enabled, Disabled When enabled, members whose account is flagged as on hold will not be able to make any POS sales. Payments will still be accepted
Enable Global Account Enabled, Disabled When enabled, the Ledger Type code of GA is useable. This is configured in the Global Account section

 

Global Account

The Global Account is a method to allow the system to determine which ledger or ledgers a transaction is to be posted to. This allows the POS system to send a transaction to MMS without having to micromanage which ledgers can accept which POS sale items. 
Only ledgers labeled as 'Visible at POS' and 'Redeemable at POS' will be listed and ledgers that allow charging to account are shown in bold. Enable the required ledgers and use the Up and Down buttons to change the order of use. 
Note: Any ledgers below an enabled bold ledger will never be used as the remainder of the POS sale items will be allocated to the bolded ledger. 
Configure any other settings and click Save. The other settings on this tab, and the other tabs, are explained in greater detail in the Membership Management System User manual (available from the Golf Computer Systems webiste at www.golfclub.com.au/manuals.htm

Interface Configuration

When the Interface is launched, it appears as an icon on the system tray. Right-click and select Open, or double-click to show the main form

The Status tab shows the state of the Nexus database connection and the number of current connections:



 

Image

Status

No problems encountered

Error or function disabled – check Logs for more detail

The status could not be determined

An internal application error has occurred, contact GCS

 


The Current Queue shows any jobs that are being processed by the Interface. These are usually done within a fraction of a second, so anything visible here for more than a few seconds may indicate a problem.
The Settings tab allows changes to the configuration of the Interface. 

 

 

Application  
Settings Notes
Registered Name The name of the entity the Interface is registered to
Registration Code The GCS supplied registration code
Registration Expires Generated automatically based on the registration code
Log Filename Full path and filename of interface log file. If there appears to be a problem with the interface, open this file with the Log Viewer to check for more information
Append to log Check this to append to the log file instead of overwriting
Log Information Adds non-error information to log file. If there is a problem with the interface and the log file does not contain sufficient information, enable this option to see more detail. This writes a lot of information to the log file so must only be enabled while debugging the problem situation. 
Disable this option for normal use.
Close button hides application Changes Close button to a Hide button
Hide application on startup Hides the interface on startup
GCS Database  
Settings Notes
Nexus Server Name or IP address of the GCS Nexus database server
Alias Name of the database alias (usually FACTS)
Interface  
Setting Notes
TCP Port Set the TCP/IP Port the Interface will listen on
Auto-Start Interface Automatically start the interface when run
Extra Options  
Gaming card prefix If the card being swiped at POS has a valid member number 
prefixed by another number, set that prefix here. It will be 
stripped and the member number used to validate.
Lookup Number Types Comma separated list of the GCS Number Types to be 
checked against the received member number. Defaults to 
0000.
Member number includes sequence number Enable this if the membership number includes the card sequence number
Include Main number type in Member Info Enable this option if the member number has a sequence 
number appended
Use POSGLCode instead of Code Uses the POSGLCode stored in MMS instead of the Code supplied by the POS Sale function
Get Revenue Centre from Reference Uses the Revenue Centre supplied in the POS Sale function instead of the Lookup set in MMS
Automated Importer  
Settings for the Automated Importer are covered in another section of this document.  

 


System Tray Icon
The system tray icon shows the status of the interface. 

 

Image Status

Interface is running and ready to receive connections

There is a problem preventing the interface from starting

An error has occurred, see the log for more information

An application exception has occurred, contact GCS

 

 

Installing as a Service

The POSInterface.exe application can be installed as a Windows Service. From a command line run posinterface /install to install. If the Nexus Database is not installed as a service on this machine, then add /nodepend to ensure a dependency is not created. 
The Service does not require a logon account to run and can be set to System Account without the Interact with Desktop option. If the service is installed and running then running the application again will allow access to the settings. Changes to the settings will take effect immediately. 
If the service is installed and not running, or it is not installed, then the interface can be run as a stand-alone application.

Data Format

All communication with the Interface is done via a blocking TCP connection. The data sent over this connection uses XML format. XML schema information will be added to this documentation at a future date.

Using Lookup Tables

Some data types are referenced from Lookup Tables. These Lookup Tables are found in MMS: Setup | Maintain System Data | Lookup Tables on the main menu. Lookups are used when an item has rules that govern its usage or to promote consistency in user-entered data. 
Data fields that require lookups will have 'Lookup: TableName' in their description. The following is a list of the Lookup Tables used to date:

 

Lookup Functions
Ledger_Type Transaction, Balance Enquiry
Ledger Transaction
Payment_Type Transaction
Product_Group Transaction

 

 

Unless otherwise stated, the field value uses the Code from the Lookup. The following table lists additional Code values that are supported but not present in the Lookup Tables:

 

Lookup Code Use
Ledger_Type UA Usable Advance. This Code can be used as a LedgerType in Balance Enquiry, POS Sale and Journal and will cause the system to reference the Usable Advance system.
Ledger_Type GA Global Account. This Code can be used as a LedgerType in POS Sale only (at this time) and will cause the system to reference the Global Account. The use of this ledger type is configured in MMS

 



GCSInterface Functions

The following is a list of all the Interface functions available after version 2.16.9.24. These functions use <GCSInterface> XML tags

Function Description
Check Interface Checks the state of the Interface and returns version information
Balance Enquiry Returns the balance of a Member's Ledgers
POS Sale Sale items add debits to member accounts
Payment Payments add credits to member accounts
Journal Add a generic debit or credit to the member account
Lookup Details Returns the contents of a GCS Lookup Table
Member Information Returns a list of member numbers and names in a customisable format or sends that list to a file
Booked Stock Requests information about facility stock waiting for payment
Allocate Stock Informs GCS of payment of Stock Items
Refund Stock Flags Stock Items as unpaid based on the stock payment
Deallocate Stock Flags Stock Items as unpaid based on the stock items

 

Check Interface

This is used to check that the Interface is running and will accept transactions. A lack of response to this request after a few seconds is a good indication that the Interface is not running.
Transmission
Field Definitions

 

Field Name Data Type Description
FunctionType String Check Interface (must be Check Interface)

 

<GCSInterface> 
<FunctionType>Check Interface</FunctionType> 
</GCSInterface>

 

Example:
Response

Field Definitions

 

Field Name Data Type Description
FunctionType String Check Interface (always Check Interface)
DatabaseConnection Integer 0 – Interface will not accept transactions at this time 
1 – The Interface is functioning and can be used
CurrentVersion Float The current version of the Interface
UpdateRequirement Float The GCS Database Update requirement. If this requirement is not met, the Interface cannot be started
EnforceCreditLimit Integer 0 – There are no credit limits 
1 – Member with a Credit Limit set will not be able to exceed that limit on any single ledger
EnforceOnHold Integer 0 – OnHold checking is disabled 
1 – Transactions to members set as OnHold will be rejected.
GlobalAccountEnabled Integer 0 – Global Account is disabled 
1 – Global Account is enabled
GAChargeToAccount Integer 0 – Global Account cannot exceed available balance 
1 – Global Account is enabled and can exceed the available balance
POSLinks Integer 0 – Use linked only 
1 – Use member then linked 
2 – Use linked then member 
3 – Disabled

 

Example:

 

 

<GCSInterface> 
<FunctionType>Check Interface</FunctionType> 
<DatabaseConnection>1</DatabaseConnection> 
<CurrentVersion>2.25</CurrentVersion> 
<UpdateRequirement>9.40</UpdateRequirement> 
<EnforceCreditLimit>1</EnforceCreditLimit> 
<EnforceOnHold>1</EnforceOnHold> 
<GlobalAccountEnabled>0</GlobalAccountEnabled> 
<GAChargeToAccount>0</GAChargeToAccount> 
<POSLinks>3</POSLinks> 
</GCSInterface>

 

 

Balance Enquiry

Transmission

Field Definitions

 

Field Name Data Type Description
FunctionType String Balance Enquiry (must be Balance Enquiry)
MemberNumber String[10] Membership number of GCS Member
ManualInput Integer 0 – Member number obtained via card swipe (default) 
1 – Member number entered by staff on a keyboard
LedgerType String[4] If specified, then only the requested ledger is returned. Lookup: Ledger_Type 
If not specified, all ledgers are returned (default)
UserDefined Integer 0 – Do not return User Defined Fields (UDFs) 
1 – Return User Defined fields (default)
RevenueCentre String[4] VisibleLedger field of the return data will indicate 
ledgers that are available to this POS Terminal
NameOnly Integer 0 – Return full member balance (default) 
1 – Return only member name and UDFs (if requested)

 

 

Example:

 

 

<GCSInterface> 
<FunctionType>Balance Enquiry</FunctionType> 
<MemberNumber>2</MemberNumber> 
</GCSInterface>

 

 

Response

Field Definitions

 

Field Name Data Type Description
FunctionType String Balance Enquiry (always Balance Enquiry)
Result String[50] This will return information about input errors. If it is blank then no problems were encountered.
BalanceItems Balance Data Balances of all available Ledger Types.
LastName String[25] Member's last name
PreferredName String[15] Member's preferred first name
UserDefinedFields User Defined Data User Defined fields from Member Category and Member

 

 

Note: If the LedgerType specified is not valid the BalanceItems and UserDefined fields will not be returned. 
Note: A negative balance means the member has their own money (credit) in the account while positive means they owe the club money. 
Note: Where any ledger is to be visible at selected POS locations only, the display of that ledger at that POS location and/or the disabling of that ledger at non-displayable POS locations is a function to be controlled by the POS software. 
Balance Data
Field Definitions

 

 

Field Name Data Type Description
LedgerCode String[4] GCS Code for this Ledger type. Lookup: Ledger
LedgerDescription String[30] Display name
VisibleLedger Integer Always 1 as ledgers marked as not visible are not returned
PaymentsAllowed Integer 0 – Payments cannot be made to this ledger 
1 – Payments can be made to this ledger via the Interface
TransactionsAllowed Integer 0 – Sales transactions cannot be made to this ledger 
1 – This ledger can be used for sales
ChargeToAccount Integer 0 – You cannot spend more than the current balance, if the balance is negative (in credit) 
1 – There is no credit limit on this ledger
CurrentBalance Float The balance as at the current date. Negative numbers indicate credit balances
LinkedBalance Float If present, this is the balance of the member that this member is POS Linked to
LinkedMember String If present, this is the name and number of the member that this member is POS Linked to
POSSummary Integer 0 – Do not add this balance to the summary 
1 – Add this balance to the summary

 


Note: Only "POS Visible" ledgers are returned. 
User Defined Data
Field Definitions
The field names for User Defined Data are defined in MMS. The intention is for these to be displayed on the POS terminal as is

 

Field Name Data Type Description
FieldName String[30] The name of the User Defined Field. This is configured in MMS. Certain Field Names are hard coded, these are shown in the following table
FieldValue String[30] The value of the field.

 

The following fields may also be present and new fields may be added to this list in future releases. The values are always String[30] but can be interpreted as the listed Value Types

 

Field Name Value Type Description
On Hold Integer {Not Returned} – Sales can be processed on the member's account, balance permitting. 
1 – The member's account is on hold, sales will be rejected. Payments will be processed
Credit Limit Float If credit limits are enforced, and this member has a limit, it will be returned here

 

Example:

 

<GCSInterface> 
<FunctionType>Balance Enquiry</FunctionType> 
<Result /> 
<BalanceItems> 
<BalanceItem> 
<LedgerCode>0000</LedgerCode> 
<LedgerDescription>Main</LedgerDescription> 
<VisibleLedger>1</VisibleLedger> 
<PaymentsAllowed>1</PaymentsAllowed> 
<TransactionsAllowed>0</TransactionsAllowed> 
<ChargeToAccount>0</ChargeToAccount> 
<CurrentBalance>2500.00</CurrentBalance> 
<LinkedBalance>500.00</LinkedBalance> 
<LinkedMember>ADAMS, Harry (00003)</LinkedMember> </BalanceItem> 
<BalanceItem> 
<LedgerCode>0001</LedgerCode> 
<LedgerDescription>House</LedgerDescription> 
<VisibleLedger>1</VisibleLedger> 
<PaymentsAllowed>1</PaymentsAllowed> 
<TransactionsAllowed>1</TransactionsAllowed> 
<ChargeToAccount>0</ChargeToAccount> 
<CurrentBalance>52.45</CurrentBalance> 
<LinkedBalance>0</LinkedBalance> 
<LinkedMember>ADAMS, Harry (00003)</LinkedMember> </BalanceItem> 
<BalanceItem> 
<LedgerCode>UA</LedgerCode> 
<LedgerDescription>Usable Advance</LedgerDescription> 
<VisibleLedger>1</VisibleLedger> 
<PaymentsAllowed>0</PaymentsAllowed> 
<TransactionsAllowed>1</TransactionsAllowed> 
<ChargeToAccount>0</ChargeToAccount> 
<CurrentBalance>-200.00</CurrentBalance> 
<LinkedBalance>-120.00</LinkedBalance> 
<LinkedMember>ADAMS, Harry (00003)</LinkedMember> </BalanceItem> 
</BalanceItems> 
<LastName>Adams</LastName> 
<PreferredName>Susan</PreferredName> 
<UserDefinedFields> 
<UserDefinedField> 
<FieldName>On Hold</FieldName> 
<FieldValue>1</FieldValue> 
</UserDefinedField> 
<UserDefinedField> 
<FieldName>Rewards Program</FieldName> 
<FieldValue>Silver</FieldValue> 
</UserDefinedField> 
</UserDefinedFields> 
</GCSInterface> 

 

POS Sale

Transmission

Field Definitions

 

Field Name Data Type Description
FunctionType String POS Sale (must be POS Sale)
MemberNumber String[10] Membership number of GCS Member
ManualInput Integer 0 – Member number obtained via card swipe (default) 
1 – Member number entered by staff on a keyboard
RevenueCentre String[4] Revenue Centre for this sale. Lookup: Revenue_Centre
POSReference String[25] POS Terminal Reference for this transaction.
GCSReference Integer Numeric POS Terminal Reference. Optional for New Sales.
TransactionType Integer 0 – New sale. GCSReference is optional. 
1 – Void existing sale and post new (Resend) The GCSReference must match an existing transaction. 
2 – Void existing sale (Reverse) The GCSReference must match an existing transaction. Any SaleItems received will be ignored.
DateTime DateTime Any date and time format, but prefer less ambiguous
Description String[50] Description of transaction
LedgerType String[4] Ledger Type (AR) for this sale. Lookup: Ledger_Type
OfflineTransaction Integer 0 – Transaction is live (default) 
1 – This transaction was created while the Interface was not contactable
SaleItems Item Data Sale and payment data

Note: The TransactionType field is used in conjuction with the POSReference and GCSReference fields to determine the action to be taken. If TransactionType is 1 or 2, the reference fields will both be used to identify the existing transaction. If the existing transaction cannot be found an error will be returned and no other actions taken. If TransactionType is 2 then any SaleItems received will be ignored.
Item Data
Field Definitions

 

Field Name Data Type Description
ItemName String[20] Description of sale item
ItemCode String[4] This Ledger Code (GL) is used to group the sale items for reporting. Lookup: Ledger
ProductGroup String[4] Optional. Lookup: Product_Group
Quantity Positive Float Quantity of this item. This can be fractional to represent part of a split sale and can be negative when a credit sale item is required.
PriceIncTax Float Gross per unit item price
TaxAmount Float Tax amount of per unit item price

 

Example: Some purchases and a discount. These items will be sent to ledger 0000.

 

 

<GCSInterface> 
<FunctionType>POS Sale</FunctionType> 
<MemberNumber>2</MemberNumber> 
<POSReference>1-123</POSReference> 
<GCSReference>0</GCSReference> 
<TransactionType>0</TransactionType> 
<DateTime>2007-10-23 09:30:00</DateTime> 
<Description>Pro Shop purchase</Description> 
<LedgerType>0000</LedgerType> 
<OfflineTransaction>0</OfflineTransaction> 
<SaleItems> 
<SaleItem> 
<ItemName>Golf Balls</ItemName> 
<ItemCode>0023</ItemCode> 
<ProductGroup>0004</ProductGroup> 
<Quantity>5</Quantity> 
<PriceIncTax>4</PriceIncTax> 
<TaxAmount>0.36</TaxAmount> 
</SaleItem> 
<SaleItem> 
<ItemName>Roast Beef Sandwich</ItemName> 
<ItemCode>0193</ItemCode> 
<ProductGroup>0006</ProductGroup> 
<Quantity>1</Quantity> 
<PriceIncTax>1.50</PriceIncTax> 
<TaxAmount>0.14</TaxAmount> 
</SaleItem> 
<SaleItem> 
<ItemName>Staff Discount 10%</ItemName> 
<ItemCode>0201</ItemCode> 
<ProductGroup>0002</ProductGroup> 
<Quantity>-1</Quantity> 
<PriceIncTax>2.15</PriceIncTax> 
<TaxAmount>0.20</TaxAmount> 
</SaleItem> 
</SaleItems> 
</GCSInterface>

 

Example: Reverse an existing transaction

 

 

<GCSInterface> 
<FunctionType>POS Sale</FunctionType> 
<MemberNumber>2</MemberNumber> 
<POSReference>1-123</POSReference> 
<GCSReference>837465</GCSReference> 
<TransactionType>2</TransactionType> 
<DateTime>2007-10-23 09:30:00</DateTime> 
<Description>Reverse Pro Shop purchase</Description> 
<LedgerType>0000</LedgerType> 
<OfflineTransaction>0</OfflineTransaction> 
</GCSInterface>

 

 

Response
Field Definitions

 

 

Field Name  Data Type Description
Function Type String POS Sale (always POS Sale)
POSReference String[20] POS Terminal Reference for this transaction
GCSReference Integer Numerical reference for this transaction. This is required for any subsequent access to this transaction, such as a reversal or resend
Result String[50] If the transaction is successful, this will be blank, otherwise it will contain the reason for the failure. See Error Checking section for a list of possible messages

 


Example: Successful sale

 

 

<GCSInterface> 
<FunctionType>POS Sale</FunctionType> 
<POSReference>1-123</POSReference> 
<GCSReference>837465</GCSReference> 
<Result /> 
</GCSInterface>

 


Example: Unsuccessful sale

<GCSInterface> 
<FunctionType>POS Sale</FunctionType> 
<POSReference>1-123</POSReference> 
<GCSReference/> 
<Result>Insufficient funds</Result> 
</GCSInterface>

 

 

Payment

Transmission

Field Definitions

 

Field Name Data Type Description
FunctionType String Payment (must be Payment)
MemberNumber String[10] Membership number of GCS Member
ManualInput Integer 0 – Member number obtained via card swipe (default) 
1 – Member number entered by staff on a keyboard
POS Reference String[25] POS Terminal Reference for this transaction
GCSReference Integer Existing GCS Pay_ID or ignored for TransactionType=0
Transaction Type Integer 0 – New payment 
1 – Void existing payment and post new (Resend) 
2 – Void existing payment (Reverse)
DateTime DateTime Any date and time format, but prefer less ambiguous
Amount Float Total value of the payment
Description String[50] Description of payment
Ledger Type String[4] Ledger Type for this sale. Lookup: Ledger_Type
Payment Type String[4] Ledger Type for this sale. Lookup: Payment_Type

 

Note: The TransactionType field is used in conjuction with the GCSReference field to determine the action to be taken. If TransactionType is 1 or 2, the reference field will be used to identify the existing transaction. If the existing transaction cannot be found an error will be returned and no other actions taken. For TransactionType=2 any payment information supplied will be ignored. 
Example:

==============TABLE====================

<GCSInterface> 
<FunctionType>Payment</FunctionType> 
<MemberNumber>2</MemberNumber> 
<POSReference>2-93-31</POSReference> 
<GCSReference>0</GCSReference> 
<DateTime>2007-10-23 09:30:00</DateTime> 
<Amount>100</Amount> 
<Description>Member Payment</Description> 
<LedgerType>0001</LedgerType> 
<PaymentType>0012</PaymentType> 
</GCSInterface>

==============TABLE====================

 

Response
Field Definitions

==============TABLE====================

Field Name Data Type Description
Function type String Payment (Always)
POS Reference String[20] POS Terminal Reference for this transaction
GCS Reference Integer GCS Pay_ID. Returns-1 if the payment was not accepted
Result String[50] If the transaction is successful, this will be blank, otherwise it will contain the reason for the failure. See Error Checking section for a list of possible messages

==============TABLE====================

 

Journal

Transmission

Field Definitions

==============TABLE====================

Field Name Data Type Description
FunctionType String Journal (must be Journal)
MemberNumber String[10] Membership number of GCS Member.
ManualInput Integer 0 – Member number obtained via card swipe (default) 
1 – Member number entered by staff on a keyboard
POSReference String[20] POS Terminal Reference for this transaction.
GCSReference Integer Shows up as the Reference Number on the member's ledger in MMS and on their statement. Set to -1 or do not specify a number to have it pick up the next number in the series. This is a GCS Jnl_Ref.
DateTime DateTime Any date and time format, but prefer less ambiguous
Amount Float Total value of the journal. A negative amount credits the member's account
Description String[50] Description of journal
LedgerType String[4] Ledger Type for this sale. Lookup: Ledger_Type
LedgerCode String[4] Ledger Code (AR). The presence of a tax component is determined by this code. Lookup: Ledger
Source String Specifies the source of the Journal – GCS use only.

==============TABLE====================


Example

 

==============TABLE====================

<GCSInterface> 
<FunctionType>Journal</FunctionType> 
<MemberNumber>2</MemberNumber> 
<POSReference>23-53</POSReference> 
<DateTime>2007-10-23 09:30:00</DateTime> 
<Amount>12</Amount> 
<Description>Redeem Prize Voucher</Description> 
<LedgerType>0003</LedgerType> 
<LedgerCode>0132</LedgerCode> 
</GCSInterface>

==============TABLE====================

Response

Field Definitions

==============TABLE====================

Field Name Data Type Description
Function Type String Journal (always Journal)
POSReference String[20] POS Terminal Reference for this transaction
GCSReference Integer GCS Reference ID. Returns -1 if there is no GCS transaction record. This is a GCS JNL_ID.
Result String[50] If the transaction is successful, this will be blank, otherwise it will contain the reason for the failure. See Error Checking section for a list of possible messages

==============TABLE====================

 

Lookup Details

Transmission

Field Definitions

==============TABLE====================

Field Name

Data Type

Description

FunctionType String Lookup Details (must be Lookup Details)
LookupTable String[30] Name of the lookup table to be returned. Current valid options are: Payment_Type, Ledger_Type, Ledger, Document_Type

==============TABLE====================

 

Example

 

==============TABLE====================

<GCSInterface> 
<FunctionType>Lookup Details</FunctionType> 
<LookupTable>Ledger_Type</ LookupTable> 
</GCSInterface>

==============TABLE====================

 

Response

Field Definitions

==============TABLE====================

Field Name Data Type Description
FunctionType String Lookup Details (always Lookup Details)
Result String[50] If the requested table is valid this will be blank, otherwise it will contain the reason for the failure.
LookupDetails Lookup Data Contents of the Lookup Table. If this is empty and Result is empty then this table contains no records

==============TABLE====================

 

Lookup Data

==============TABLE====================

Field Name Data Type Description
Code String[4] The GCS internal code for this Lookup item
Comment String[30] The display name for this item

==============TABLE====================

 

Example

 

==============TABLE====================

<GCSInterface> 
<FunctionType>Lookup Details</FunctionType> 
<Result /> 
<LookupDetails> 
<LookupDetail> 
<Code>0000</Code> 
<Comment>Subs</Comment> 
</LookupDetail> 
<LookupDetail> 
<Code>0001</Code> 
<Comment>House</Comment> 
</LookupDetail> 
<LookupDetail> 
<Code>UA</Code> 
<Comment>Usable Advance</Comment> 
</LookupDetail> 
</LookupDetails> 
</GCSInterface>

==============TABLE====================

 

Member Information

Transmission

Field Definitions

==============TABLE====================

Field Name

Data Type

Description

FunctionType String Member Information (must be Member Information)
OutputFormat Output Format This string determines the format of the member information returned. See below for more information on the format characters. This formatting is onloy used when an OutputFilename is specified. If no OutputFormat specified, the default format is: 000mmmmmss|L|p
OutputFilename String[120] If specified, the output of this function will be written to this file instead of being returned by the interface
FinancialStatus String[30] Code or comment accepted. Lookup: Financial_Status Specified – Returns only members with this financial status 
Not Specified – Returns all members regardless of finanical status
MemberCategory String[30] Code or comment