- Getting Started
-
Web Red Apps
- Web Modules Overview
- Setup for Web Red Apps Development
- Web Modules Structure
- Web Red Apps Development
- Workflow Extensions
- UI Contributions
- Web Module APIs
-
Sabre Red 360 Services
- AgentProfileService
- ConfigService
- Display Graphical PNR
- EnvironmentPublicService
- EventBusService
- ExternalServiceConnector
- FormsService
- Get PNR
- Get PNR (Web API)
- IAreaService
- ICommandMessageService
- ICustomFormsService
- IEncodeDecodePublicService
- IExternalCommunicationService
- InterstitialService
- IReservationService
- ISeatMapService
- ISoapApiService
- PnrPublicService
- Profile Prefs Refresh
- PublicCslService
- PublicModalsService
- RestApiService
- SrwAsyncApi
- SrwSyncApi
- Trip Summary Refresh
- Trip Summary Refresh (Web API)
- React Components
-
Red App Cookbooks
- External website communication
- Using Redux
- Local storage
-
Web Red Apps examples
- com.sabre.redapp.example3.web.addpnr Sample
- com.sabre.redapp.example3.web.command.message Sample
- com.sabre.redapp.example3.web.forms.service Sample
- com.sabre.redapp.example3.web.handlebar Sample
- com.sabre.redapp.example3.web.persistence Sample
- com.sabre.redapp.example3.web.multimodalflow Sample
- com.sabre.redapp.example3.web.react.modal Sample
- com.sabre.redapp.example3.web.seat.map Sample
- com.sabre.redapp.example3.web.end.pnr.validator Sample
-
Desktop Red Apps
- How Do I Start?
- Audience
- Setup for Desktop Red App Development
- Sabre Red 360 Software Development Kit Upgrade and Maintenance
-
Red App Development using WebKit Browser
- WebKit Browser Quickstart
- Defining custom Java handler classes accessible from JavaScript in WebKit browser
- Native Browser to WebKit Browser Migration
- Registering JavaScript functions as Services in WebKit
- Using SRW API within OnLoad event
- Issues with calling SRW API
- Opening Editors Programmatically from a web based Red App
- Loading WebKit Browser with POST data
- Loading Webkit View with POST data
- Opening Views Programmatically from a Web based Red App
- Handling popups in WebKit
- Using load listener
- Introducing Red Apps and the Sabre Red 360 Software Development Kit
- Red App Requirements and Standards
- Plug-in Projects
-
Workbench or UI Elements
- UI or Workbench Elements Overview
- Editors (Tabs)
- Views (Assistant Tools Panel)
-
Basic Menus
- About Basic Menu Contributions
- Guidelines for Menu Contributions
- Main Menu Contributions
- Application Side Bar
- Identifiers and locationURI Syntax for Main Menus
- locationURI Syntax for the Application Side Bar
- Dependencies and Extension Points for Basic Menus
- Development Workflow for Basic Menus
- Creating Basic Menu Contributions
- Sample plugin.xml with Menu Contributions
- Additional Resources for Basic Menus
- Advanced Conditional Activation of Menus
- Status Lines
- Pop-up Dialogs
-
Notification Services
- About Notifications
- Dependencies and Classes for Notifications
- Development Workflow for Notifications
- Creating a Notification Service
- Creating a Basic Text Notification
- Creating a Notification with a More Details Link
- Creating a Notification with a Progress Bar
- Destroying or Replacing a Notification
- Additional Resources for Notifications
- Contributing to Preference Pages
- Icons for editor or view tab
-
Development Languages and Technologies
- Development Languages and Technologies Overview
- Website Integration Using a Custom Implementation
- Website Integration Using Default Implementations
-
Website Integration Using JavaScript
- About Website Integration with JavaScript
- Accessing Billing API from JavaScript (deprecated)
- Access to OSGi Services from Web Apps with JavaScript
- Registering JavaScript Functions as Services
- Registering Event Listeners in Web Apps with JavaScript
- Using JavaScript to Access OSGi NonCommunications Services
- Using JavaScript to Access SRWRuntime Communication Services
- Additional Resources for Website Integration Using JavaScript
- Sabre Scribe Scripts
- Swing Red Apps
- Web Modules in Desktop Red Apps
-
Communications in Red Apps
- Communications in Red Apps Overview
- Predefined Clients for Communication Services
- Synchronous Services
-
Emulator Command Intercept and Markup Services
- About Emulator Command Intercept and Markup Services
- EMU_COMMAND Service
- EMU_RESPONSE Service
- Flows for Emulator Intercept and Markup Services
- Simple Flow for Intercepting and Modifying Commands
- Flow for Defining Your Own Command
- Sabre Emulator Markup Flow
- Flow when SRWRuntime Invokes Services with Registered Commands
- Intercepting and Modifying Sabre Emulator Commands
- Sample Code for an Emulator Request and Response
- Additional Resources for Emulator Command Intercept and Markup
- Markup Instructions for EMU_RESPONSE
- Sending Information to Sabre Emulator
-
Sabre Host Communications Services
- About Sabre Host Communications Services
- Flow for Session Locking when Sending a Single Command to the Host Communications Service
- Flow for the Locking Service when Sending Multiple Commands to the Host Communications Service
- Using Host Communications to Send Commands
- Sample Code for Host Communications Services
- Sample Code for SDS Service
- Multiple Responses Handling
- Additional Resources for Host Communications
- Sabre Web Services Communications
- The Billing Service (deprecated)
- The Locking Service
- Single Sign-On
- The Graphical Seat Map Service
- Event Listeners and Event Listening
- Event Publishing
- Overview of Authentication, Authorization, and Registration
- SRWRuntime Error Codes
- Sabre System Special Characters
- Migration from MySabre API to SRWRuntime Services
- The Highlight Service
- Sabre Business Events
-
Plug-in Services
- Plugin Services Overview
- Traditional OSGi Services
- Other Plug-in Services
-
Creating and Securing a Red App Bundle
- Preparing to Create and Upload a Red App Bundle
- Building a redapp.xml File
- Manually Creating and Securing a Red App Bundle
- Automatically Exporting a Plug-in Project as a Bundle
- Automatically Exporting a Sabre Scribe Project as a Bundle
- Validating Your Generated Red App Bundle
- Uploading and Testing Red Apps
- Activator Classes
-
Red App Sample Plug-ins
- Red App Sample Plug-ins Overview
- com.sabre.redapp.example.cf.emu Sample
- com.sabre.redapp.example.cf.emu.bridge Sample
- com.sabre.redapp.example.cf.email Sample
- com.sabre.redapp.example.cf.event Sample
- com.sabre.redapp.example.cf.host Sample
- com.sabre.edge.example.cf.rest2sg Sample
- com.sabre.redapp.example.cf.sws Sample
- com.sabre.redapp.example.cf.webapp.services Sample
- com.sabre.redapp.example.conditional.activation Sample
- com.sabre.redapp.example.editor.basic Sample
- com.sabre.redapp.example.firstrun Sample
- com.sabre.redapp.example.logger Sample
- com.sabre.redapp.example.longrunning Sample
- com.sabre.redapp.example.resources Sample
- com.sabre.redapp.example.scribe Sample
- com.sabre.redapp.example.cf.sds Sample
- com.sabre.redapp.example.swing Sample
- com.sabre.redapp.example.swt Sample
- com.sabre.redapp.example.view.basic Sample
- com.sabre.redapp.example.cf.highlight Sample
- com.sabre.redapp.example.webkit Sample
- com.sabre.redapp.example.cf.webkit.webapp.services Sample
- com.sabre.redapp.example.openeditor Sample
- com.sabre.redapp.example3.desktop.hint Sample
- com.sabre.redapp.example3.desktop.linkpayment Sample
- com.sabre.redapp.example3.desktop.pnr Sample
- com.sabre.redapp.example3.desktop.sso Sample
- com.sabre.redapp.example3.desktop.pricing.qualifiers Sample
- com.sabre.redapp.example3.desktop.template Sample
- Red App Wizards
- Development Tools
- Java Workflow Extensions
- Generic Commands and Handlers
- Sabre Native API
- Configure HTTP client to work with Sabre Red 360 proxy settings
- Glossary
- Desktop Red Apps FAQs