xperise Documentation

website·Indexed 32 days ago

https://docs.uts.network

Technical documentation for the xperise corporate payment and travel ecosystem. Includes specifications for the card payment system, physical and virtual card lifecycles, XPAY Merchant app guides for drivers, corporate portal RBAC, travel expense calculation rules for VCB and SCG policies, and B2B business account authentication.

Tokens
72.1K
Snippets
172
Records
442
Agent score
50%

What's inside xperise

  1. Overview of xperise documentation domains

    The xperise documentation is organized by domain to support product, engineering, and operations teams. Key areas include:

    • Account Documentation: Details on authentication and login flows.
    • Backend Service References: Information on internal APIs and service behavior.
    • Trip Workflows: Processes for proposals, approvals, and expense-related workflows.
    • Expense Documentation: Guidance on submission and reimbursement flows.
    • Product Specifications: Business rules, feature details, and implementation requirements.
  2. Overview of the Group Travel creation flow

    Group Travel is used for trip proposals involving multiple travelers, multiple destinations, or traveler-specific itineraries. The creation process consists of an eight-step flow: Trip Overview, Travelers, Trip Schedule, Travel Method, Accommodation, Transportation, Expense, and Final Review. The flow integrates company policy settings to determine available services, expense types, and approval behavior.
  3. Overview of backend service endpoints and authentication

    The backend service is divided into several functional areas with specific authentication requirements:

    • Notification Center (OTP): POST /otp (No authentication required).
    • Notification Center (Booking/Trip): POST /request_booking and POST /trip/request (Requires x-client-api-key).
    • Notification Center (Rental car/Expense): POST /rental-car/* and POST /expense/* (No authentication required).
    • Notification Center (Devices & in-app): GET, POST, and DELETE on /firebase-admin/* (Requires Authorization header).
    • Log Service: POST /v1/logs and POST /v1/logs/mobile (Requires Authorization token).
    • Store Service (Checkout): Sequence of calls: clear_shopping_items → begin_payment_checkout_session → confirm_payment → pay_with_*.
    • Flight Service (User Requests): GraphQL endpoint /graphql/v1 for operations including user_requests, confirm_user_request, decline_user_request, cancel_user_request, admin_user_requests, process_user_request, add_passenger_fee, and booking_request_progress. Requires Authorization token; administrative calls specifically require the ADMIN role.
  4. Overview of xperise Backend Services

    The xperise backend architecture consists of several specialized services:

    • Notification Center Service: Handles OTP delivery (ZNS/SMS) and booking notifications via endpoints such as /otp, /bookingnoti, and /request_booking.
    • Log Service: Manages structured log ingestion via /v1/logs and /v1/logs/mobile, forwarding client logs to Loki through the api-gateway.
    • Store Service: Manages the payment flow (cart reset, checkout sessions, corporate payment toggles, and execution) and handles specific corporate payment logic and validation errors (budget, guest, and traveler validation).
    • Flight Service: Manages the lifecycle of flight change and cancellation requests, including admin quotes, requester confirmation/declination, approvals, and passenger fee applications.
  5. Understand the Corporate Portal card management model

    Card management in the Corporate Portal follows a two-layer model where the 'card balance' represents Layer 1 (spending authority) and the 'company wallet' represents Layer 2 (funding). Card management operations do not move actual funds except when reclaiming a card's balance back to the company wallet.
  6. Manage PCI-DSS compliance for hybrid payment rails

    The system uses a hybrid architecture to minimize PCI-DSS scope:

    • Closed-loop instruments: Company wallets, QR, and xperise cards are managed internally using tokenization, no-CVV-storage, and HSM/KMS key management.
    • Credit-card rail: All credit card payments are routed through 2c2p. Sensitive PAN/CVV data is handled by 2c2p; xperise stores only 2c2p tokens and the last four digits of the card.
  7. Configure Trip Overview and Travelers

    The initial steps of group travel creation involve defining the trip identity and the participants:

    1. Trip Overview: Requires a 'Trip Name' (mandatory) and an optional 'Note'.
    2. Travelers: Travelers are added manually via a modal (file uploads are not supported). For each traveler, the user configures the Cost Center and Departure Location (defaults to the traveler's official location). Bulk editing is available for updating shared values across large groups.
  8. Card lifecycle actor responsibilities

    The card lifecycle is managed by several distinct actors with specific ownership areas:

    • xperise system admin / platform: Handles print orders, UID import, allocation, pre-personalization, and key issuance on the issuer side.
    • Perso bureau: Responsible for printing plastic, fitting chips, and returning chip UIDs.
    • Perso station: Writes diversified keys onto the chip (transitioning status from PENDING to PERSONALIZED).
    • Corporate super admin / card manager: Manages issuing, assigning, activating, funding, freezing, replacing, and cancelling cards.
    • Finance / approver: Acts as the 'checker' in maker-checker flows to approve large orders and balance/limit increases.
    • Cardholder (employee): Responsible for claiming and activating their card, setting verification preferences, and self-freezing.
  9. Understand the card personalization workflow

    The XPAY Card Kit app is one step in a larger issuance chain. The sequence is:

    1. Manufacturer: Cards are printed and chip UIDs are registered in the back office.
    2. Operator (This App): Keys and card data are written onto the chip.
    3. Admin/User: A corporate admin converts it to a real card, and the cardholder activates it.

    Key Caveats:

    • Registration: If a chip was never registered in the back office, the app will display "This chip is not registered with the back office." This is a stock issue and cannot be fixed by re-tapping.
    • Activation: A card marked as "WRITTEN" in the app is not yet functional; it remains unusable until the final activation step is completed by the admin/user.
  10. Understand VCB travel expense core concepts

    Travel expenses under the VCB corporate policy are calculated based on the following organizational units:

    • Trip: A container for one or more travellers. Expenses are calculated per traveller, not per trip.
    • Traveller: An individual with a unique itinerary (departure, destination, and dates). Travellers are calculated independently; no factors (distance, accommodation, duration, or policy tier) are shared between them.
    • Leg: A single segment of an itinerary defined by departure location, destination, start date, and end date. Legs are sequential and do not overlap in date range.
    • Same-day handoff: Occurs when one leg ends on the same calendar day that the next leg begins. This is the only condition that links two legs together.
    • Connected chain: A sequence of consecutive legs for one traveller linked by same-day handoffs. Chains are used for policy selection, though the UI still displays legs separately.
  11. Handle payment refunds in the two-layer model

    In the xperise payment architecture, a refund must credit both layers of the funding model: the vendor receivable/funding is reversed, and the employee's allowance (such as the monthly limit, cost center, or card balance) is restored.
  12. Interpret Flight Booking Detail Fields

    The Flight Booking Details screen is divided into several sections providing specific data about the trip:

    • Route Summary: Displays Origin (Departure city/airport code), Destination (Arrival city/airport code), Duration (Total flight time), and Date.
    • Contact Information (Thông tin liên lạc): Contains the Email and Phone number used by the airline or support team to reach the traveler.
    • Flight Details (Chi tiết chuyến bay): Includes the Booking reference (PNR), Departure/Arrival times and airports, Operating carrier, Flight number, and elapsed Duration.
    • Passenger (Hành khách): Lists the traveler's Name, Email, Title/Gender, Date of Birth, and optional National ID (CCCD/CMND) or Passport number.
    • Seat (Ghế): Shows the Cabin class (e.g., ECONOMY) and whether Priority check-in or Lounge access is included.
    • Baggage (Hành lý): Displays Carry-on and Checked baggage allowances (weight × pieces). Users can use the '+ Thêm hành lý' button to purchase additional baggage.
    • Price (Giá): Shows the Trip total and Grand total in Vietnamese đồng (VND), inclusive of taxes and fees.