{"id":34723890,"url":"https://github.com/airsim/tvlsim","last_synced_at":"2026-01-18T20:14:56.631Z","repository":{"id":1754348,"uuid":"2581379","full_name":"airsim/tvlsim","owner":"airsim","description":"The Travel Market Simulator project aims at providing reference implementation, mainly in C++, of a travel market simulator.","archived":false,"fork":false,"pushed_at":"2025-12-25T00:19:11.000Z","size":19935,"stargazers_count":7,"open_issues_count":1,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-12-26T13:25:25.552Z","etag":null,"topics":["customer-choice","demand-forecasting","discrete-event-simulation","revenue-management","schedule-management","simulation"],"latest_commit_sha":null,"homepage":"https://airsim.github.io/tvlsim/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-2.1","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/airsim.png","metadata":{"files":{"readme":"README.md","changelog":"ChangeLog","contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS","dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2011-10-15T11:23:39.000Z","updated_at":"2025-12-25T00:19:11.000Z","dependencies_parsed_at":"2025-03-31T11:38:11.685Z","dependency_job_id":null,"html_url":"https://github.com/airsim/tvlsim","commit_stats":null,"previous_names":[],"tags_count":19,"template":false,"template_full_name":null,"purl":"pkg:github/airsim/tvlsim","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/airsim%2Ftvlsim","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/airsim%2Ftvlsim/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/airsim%2Ftvlsim/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/airsim%2Ftvlsim/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/airsim","download_url":"https://codeload.github.com/airsim/tvlsim/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/airsim%2Ftvlsim/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28549750,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-18T19:56:05.265Z","status":"ssl_error","status_checked_at":"2026-01-18T19:55:54.685Z","response_time":98,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["customer-choice","demand-forecasting","discrete-event-simulation","revenue-management","schedule-management","simulation"],"created_at":"2025-12-25T02:15:53.984Z","updated_at":"2026-01-18T20:14:56.619Z","avatar_url":"https://github.com/airsim.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"C++ Simulated Travel-Oriented Distribution System Library\n=========================================================\n\n# Summary\nThe Travel Market Simulator project aims at providing reference implementation,\nmainly in C++, of a travel market simulator, focusing on revenue management (RM)\nfor airlines. It is intended to be used for applied research activities only:\nit is by no way intended to be used by production systems. It is a new breed of\nsoftware and aims to become the new generation PODS (http://podsresearch.com/),\nwhich was instrumental in the inception of the Travel Market Simulator project.\n\nOver a dozen components have been implemented and are fully functional,\nencompassing for instance (but not limited to) traveller demand generation\n(booking requests), travel distribution (GDS/CRS), low fare search (LFS),\nprice calculation and inventory availability calculation), customer choice\nmodelling (CCM), revenue management (RM), schedule and inventory management,\nrevenue accounting (RA).\n\nThe Travel Market Simulator can used in either batch or hosted mode. It is\nthe main component of the Travel Market Simulator:\nhttps://travel-sim.org\n\nThat project makes an extensive use of existing open-source libraries for\nincreased functionality, speed and accuracy. In particular the Boost (C++\nStandard Extensions: https://www.boost.org) library is used.\n\nThe TvlSim component itself aims at providing a clean API and a simple\nimplementation, as a C++ library, of a travel market simulator, focusing\non revenue management (RM) for airlines. That library uses the Standard\nAirline IT C++ object model (https://github.com/airsim/stdair).\n\n# Installation\n\n## On Fedora/CentOS/RedHat distribution\nJust use DNF:\n```bash\n$ dnf -y install tvlsim-devel tvlsim-doc\n```\n\nYou can also get the RPM packages (which may work on Linux\ndistributions like Novel Suse and Mandriva) from the Fedora repository\n(_e.g._, for Fedora Rawhide, \nhttps://fr2.rpmfind.net/linux/RPM/fedora/devel/rawhide/x86_64/)\n\n\n## Building the library and test binary from Git repository\nThe Git repository may be cloned as following:\n```bash\n$ git clone git@github.com:airsim/tvlsim.git tvlsimgit # through SSH\n$ git clone https://github.com/airsim/tvlsim.git # if the firewall filters SSH\n$ cd tvlsimgit\n```\n\nThen, you need the following packages (Fedora/RedHat/CentOS names here, \nbut names may vary according to distributions):\n* cmake\n* gcc-c++\n* boost-devel / libboost-dev\n* python-devel / python-dev\n* gettext-devel / gettext-dev\n* sqlite3-devel / libsqlite3-dev\n* readline-devel / readline-dev\n* ncurses-devel\n* soci-mysql-devel, soci-sqlite3-devel\n* stdair-devel / libstdair-dev\n* sevmgr-devel / libsevmgr-dev\n* airrac-devel / libairrac-dev\n* rmol-devel / librmol-dev\n* airinv-devel / libairinv-dev\n* simfqt-devel / libsimfqt-dev\n* airtsp-devel / libairtsp-dev\n* doxygen, ghostscript, graphviz\n* tetex-latex (optional)\n* rpm-build (optional)\n\n## Building the library and test binary from the tarball\nThe latest stable source tarball (`tvlsim*.tar.gz` or `.bz2`)\ncan be found here:\nhttps://github.com/airsim/tvlsim/releases\n\nTo customise the following to your environment, you can alter the path\nto the installation directory:\n```bash\nexport INSTALL_BASEDIR=\"${HOME}/dev/deliveries\"\nexport TVLSIM_VER=\"1.01.12\"\n```\n\nThen, as usual:\n* To configure the project\n  * When dependencies are installed in standard directories (_e.g._, `/usr`):\n```bash\n  mkdir build \u0026\u0026 cd build\n  cmake -DCMAKE_INSTALL_PREFIX=${INSTALL_BASEDIR}/tvlsim-${TVLSIM_VER} \\\n   -DCMAKE_BUILD_TYPE:STRING=Debug -DENABLE_TEST:BOOL=ON \\\n   -DINSTALL_DOC:BOOL=ON -DRUN_GCOV:BOOL=OFF ..\n```\n  * When dependencies are installed in non-standard directories (_e.g._,\n    in the same base directory as of RMOL, that is, `${INSTALL_BASEDIR}`):\n```bash\n  mkdir build \u0026\u0026 cd build\n  cmake -DCMAKE_INSTALL_PREFIX=${INSTALL_BASEDIR}/tvlsim-${TVLSIM_VER} \\\n   -DWITH_STDAIR_PREFIX=${INSTALL_BASEDIR}/stdair-stable \\\n   -DWITH_TRADEMGEN_PREFIX=${INSTALL_BASEDIR}/trademgen-stable \\\n   -DWITH_SEVMGR_PREFIX=${INSTALL_BASEDIR}/sevmgr-stable \\\n   -DWITH_TRAVELCCM_PREFIX=${INSTALL_BASEDIR}/travelccm-stable \\\n   -DWITH_AIRTSP_PREFIX=${INSTALL_BASEDIR}/airtsp-stable \\\n   -DWITH_AIRRAC_PREFIX=${INSTALL_BASEDIR}/airrac-stable \\\n   -DWITH_RMOL_PREFIX=${INSTALL_BASEDIR}/rmol-stable \\\n   -DWITH_AIRINV_PREFIX=${INSTALL_BASEDIR}/airinv-stable \\\n   -DWITH_SIMFQT_PREFIX=${INSTALL_BASEDIR}/simfqt-stable \\\n   -DWITH_SIMCRS_PREFIX=${INSTALL_BASEDIR}/simcrs-stable \\\n   -DCMAKE_BUILD_TYPE:STRING=Debug -DENABLE_TEST:BOOL=ON \\\n   -DINSTALL_DOC:BOOL=ON -DRUN_GCOV:BOOL=OFF ..\n```\n* To build the project, type:\n```bash\n  make\n```\n* To test the project, type:\n```bash \n make check\n```\n* To install the library (`libtvlsim*.so*`) and the binary (`tvlsim`),\n  just type:\n```bash\n  make install\n  cd ${INSTALL_BASEDIR}\n  rm -f tvlsim-stable \u0026\u0026 ln -s tvlsim-${TVLSIM_VER} tvlsim-stable\n  cd -\n```\n* To package the source files, type:\n```bash\n  make dist\n```\n* To package the binary and the (HTML and PDF) documentation:\n```bash\n  make package\n```\n* To browse the (just installed, if enabled) HTML documentation:\n```bash\n  midori file://${INSTALL_BASEDIR}/tvlsim-$TVLSIM_VER/share/doc/tvlsim/html/index.html\n```\n* To browse the (just installed, if enabled) PDF documentation:\n```bash\n  evince ${INSTALL_BASEDIR}/tvlsim-$TVLSIM_VER/share/doc/tvlsim/html/refman.pdf\n```\n* To run the local binary version:\n```bash\n  ./tvlsim/tvlsim -b\n```\n* To run the installed version:\n```bash\n  ${INSTALL_BASEDIR}/tvlsim-$TVLSIM_VER/bin/tvlsim -b\n```\n\n`simulate` binary:\n------------------\nThe `simulate` executable requires a MySQL/MariaDB relational database.\nAlso, the StdAir package contains helper scripts in order to create:\n* a database user, namely `tvlsim`;\n* as well as a database, namely `sim_tvlsim`.\nSome data need to be loaded into a specific table, namely `airlines`.\n\nFollowing is a sequence of commands allowing to initialise the MySQL database\ncorrectly:\n```bash\n$ /usr/libexec/stdair/create_tvlsim_user.sh\n# Then, enter the credentials of an admin MySQL account.\n# Launch with the '-h' option to see how to change the hostname and/or port.\n$ /usr/libexec/stdair/create_tvlsim_db.sh\n# Then, enter the credentials of an admin MySQL account.\n# Launch with the '-h' option to see how to change the hostname and/or port.\n$ /usr/libexec/stdair/load_tvlsim_data.sh\n# Launch with the '-h' option to see how to change the hostname and/or port.\n$ simulate\n$ less simulate.log\n```\n\n`TvlSimServer` binary:\n----------------------\nSame as for the `simulate` executable.\nA command-line (test) client exists in Python\n(`appserver/django/tvlsimClient.py`).\n```bash\n$ TvlSimServer \u0026\n$ wget https://raw.github.com/airsim/tvlsim/trunk/appserver/django/tvlsimClient.py\n$ python tvlsimClient.py\n$ kill %1\n$ less tvlsimServer.log\n```\n\nNote that a Django-based Web application server also exists,\nbut it has not been packaged yet.\n\n\nDenis Arnaud\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fairsim%2Ftvlsim","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fairsim%2Ftvlsim","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fairsim%2Ftvlsim/lists"}