npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

soap-axess-crm

v2.2.6

Published

Axess CRM

Downloads

18

Readme

Axess CRM Client Library

Production vs configuration data

Axess splits data into two categories. Configuration data is all static data like definitions of the cashdesks, types of tickets and age categories. Those change seldom and are modified manually by the employees or Axess staff themselves. Production data is the dynamic data that gets automatically generated, like sales or access logs.

To download production data, use the method Importer#loadTransactions to get all transactions. The method will retrieve the sales data in batches and run a callback you supply. You will also receive an internal ID of the callback which you should store (and increment by one) for the next time you want to fetch data. This ensures that transactions are not loaded twice and you have no gaps.

To download configuration data, use the method Importer#getFullTable to download the content of an entire table. This method returns the full dataset.

Like so: SOAP_URL=url USERNAME=username PASSWORD='password' DESTINATION_NAME=samo yarn run ts-node-dev ./src/tasks/getFullTable.ts

Example scripts

  • tasks/getFullTable.ts: copies a set of Axess configuration tables to a local Excel file. Use this to get an overview over the Axess data.

Writing Prices

The scripts for the three actions described below are all located in price_updater.ts.

Creating sheets

Before you are able to write any data, you need to create a RabattBlattGuelt (TABRabattBlattGueltDef) for each day of the season. The required information for creating a RabattBlattGuelt is the following:

  • NRABATTBLATTNR: from TABRabattBlattDef.
  • NRABATTBLATTGUELTNR: any unique ID. Convention here: 43700 less than the number of days since 1899-11-30.
  • NNRKREISART: from TABRabattBlattDef.
  • DTGILTVON and DTGILTBIS: validity start and end date. Usually the same.
  • SZNAME: any name. Convention: date as dd.mm.yyyy.
  • SZBESCH: description. Convention: company name.

Creating prices

To write prices, you need to write one entry per day and product-and-person-type combination to RabattBlattGueltZuord (TABRabattBlattGueltZuord). The required information for writing is the following:

  • NRABATTBLATTNR: from TABRabattBlattDef, select by name.
  • NRABATTBLATTGUELTNR: from TABRabattBlattGueltDef, see 'Creating sheets'. Defines the validity date of this price.
  • NLFDNR: any unique ID.
  • NNRKREISART: see 'Creating sheets'.
  • SZNAME: any name. Convention: dd.mm.yyyy - KK: $kundenkartentyp - PT: $personentyp
  • NFIXTARIFBLATTNR: from TABTarifBlattDef
  • NFIXTARIFBLATTGUELTNR: from TABTarifBlattGueltDef
  • NFIXKUNDENKARTENTYPNR: ticket type from TABKundenKartenTypDef.
  • NFIXPOOLNR: to be defined by ski resort
  • NFIXLFDNR: from TABBerechtTarife, filter by KKT and PT.
  • NFIXZEITSTAFNR: from TABBerechtTarife, filter by KKT and PT.
  • NFIXPERSTYPNR: person type from TABPersonenTypDef.
  • FFIXTARIF: the price.
  • SZBESCH: any description. Convention: date as dd.mm.yyyy.

Updating prices

To update prices, you need to send an update request to the RabattBlattGueltZuord (TABRabattBlattGueltZuord) table. You need the following information:

  • NRABATTBLATTNR: see 'Creating prices'.
  • NRABATTBLATTGUELTNR: see 'Creating prices'.
  • NLFDNR: see 'Creating prices'.
  • NNRKREISART: see 'Creating prices'.
  • FFIXTARIF: the new price.