/**
 * Shell Card Management APIsLib
 *
 * This file was automatically generated by APIMATIC v3.0 ( https://www.apimatic.io ).
 */

import { object, optional, Schema, string } from '../schema';

export interface UpdateMPayRegStatusRequestMPayRequestsItems {
  /**
   * List of MPay Request to be updated for Fleet Manager approval status.
   * Mandatory
   * Maximum number of requests that can be submitted are 50
   */
  globalRequestID?: string;
  /**
   * Status of mobile payment registration request
   * Mandatory.
   * Allowed values –
   * •    Approved
   * •   Rejected
   */
  status?: string;
  /**
   * Approver’s User ID
   * ApproverUserID is mandatory when Status is Approved else optional
   */
  approverUserID?: string;
  /**
   * Approver’s display name
   * Mandatory when Status is Approved else optional.
   */
  approverUserDisplayName?: string;
  /**
   * Reason for Fleet Manager approval/rejection.
   * Optional
   */
  reason?: string;
}

export const updateMPayRegStatusRequestMPayRequestsItemsSchema: Schema<UpdateMPayRegStatusRequestMPayRequestsItems> = object(
  {
    globalRequestID: ['GlobalRequestID', optional(string())],
    status: ['Status', optional(string())],
    approverUserID: ['ApproverUserID', optional(string())],
    approverUserDisplayName: ['ApproverUserDisplayName', optional(string())],
    reason: ['Reason', optional(string())],
  }
);
