Sha256: c73b85468b0292cdf564c16a1613d9e82a5bd115a57765c27eaecef46d0f101a

Contents?: true

Size: 1.6 KB

Versions: 1

Compression:

Stored size: 1.6 KB

Contents

@namespace("Switchboard")

protocol AdviceSession {
  /** The main class for this protocol */
  record AdviceSession {
    /** The primary key */
    int id;
    int specialty_id;
    int advisor_id;
    int review_id;
    boolean chose_advisor;

    string state;
    boolean called;
    union {null, string} advice_session_image_token = null;
    array<string> advice_session_image_tokens;
  }

  /** Options you can send for limiting AdviceSession results */
  record AdviceSessionFetchOption {
    /** Which page of records to fetch */
    int page = 1;

    /** How many records per page */
    int per_page = 30;
  }

  /** Params to create a new AdviceSession */
  record AdviceSessionCreateParams {
    int specialty_id;
    int advisor_id;

    string state;
    string client_name;
    string client_email_address;
    string client_phone_number;
    union {null, string} payment_gateway = null;
    string card_href;
    string name_on_card;
    union {null, string} advice_session_image_token = null;
    array<string> advice_session_image_tokens;
    union {null, string} promo_code = null;
  }

  record AdviceSessionPromoCode {
    int promo_discount_amount_in_cents;
    int promo_advice_session_price_in_cents;
  }

  /** Returns a list of AdviceSession */
  array<AdviceSession> index(AdviceSessionFetchOption options);

  /** Return a single AdviceSession */
  array<AdviceSession> show(int id);

  /** Create a new AdviceSession */
  array<AdviceSession> create(AdviceSessionCreateParams advice_session);

  /** Apply an Advice Session Promo Code */
  array<AdviceSessionPromoCode> find_promo_code(string promo_code);
}

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
switchboard-contract-1.9.5 contracts/mobile/source/advice_session.avdl