babelforce-manager-sdk 0.42.1

Rust SDK for the babelforce manager APIs — auth, user & agent management, call reporting, metrics, and task automations.
Documentation
/*
 * Manager API
 *
 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
 *
 * The version of the OpenAPI document: 0.0.0-dev
 * Contact: support@babelforce.com
 * Generated by: https://openapi-generator.tech
 */

use crate::gen::manager::models;
use serde::{Deserialize, Serialize};

///
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum MetricId {
    #[serde(rename = "abandon.total")]
    AbandonTotal,
    #[serde(rename = "abandon.value")]
    AbandonValue,
    #[serde(rename = "agents.line-status.total")]
    AgentsLineStatusTotal,
    #[serde(rename = "agents.not_available.total")]
    AgentsNotAvailableTotal,
    #[serde(rename = "agents.presence.total")]
    AgentsPresenceTotal,
    #[serde(rename = "agents.state.available.total")]
    AgentsStateAvailableTotal,
    #[serde(rename = "agents.state.busy.total")]
    AgentsStateBusyTotal,
    #[serde(rename = "agents.state.declined.total")]
    AgentsStateDeclinedTotal,
    #[serde(rename = "agents.state.in_call.total")]
    AgentsStateInCallTotal,
    #[serde(rename = "agents.state.originated.total")]
    AgentsStateOriginatedTotal,
    #[serde(rename = "agents.state.ringing.total")]
    AgentsStateRingingTotal,
    #[serde(rename = "agents.state.selected.total")]
    AgentsStateSelectedTotal,
    #[serde(rename = "agents.state.unreachable.total")]
    AgentsStateUnreachableTotal,
    #[serde(rename = "agents.state.wrap_up.total")]
    AgentsStateWrapUpTotal,
    #[serde(rename = "agents.total")]
    AgentsTotal,
    #[serde(rename = "calls.duration.avg")]
    CallsDurationAvg,
    #[serde(rename = "calls.duration.total")]
    CallsDurationTotal,
    #[serde(rename = "calls.hold.avg")]
    CallsHoldAvg,
    #[serde(rename = "calls.hold.total")]
    CallsHoldTotal,
    #[serde(rename = "calls.total")]
    CallsTotal,
    #[serde(rename = "conversations.events.total")]
    ConversationsEventsTotal,
    #[serde(rename = "conversations.total")]
    ConversationsTotal,
    #[serde(rename = "date.value")]
    DateValue,
    #[serde(rename = "one.value")]
    OneValue,
    #[serde(rename = "outbound.campaign.agents.in_call.total")]
    OutboundCampaignAgentsInCallTotal,
    #[serde(rename = "outbound.campaign.agents.in_calls.total")]
    OutboundCampaignAgentsInCallsTotal,
    #[serde(rename = "outbound.campaign.agents.in_dead_calls.total")]
    OutboundCampaignAgentsInDeadCallsTotal,
    #[serde(rename = "outbound.campaign.agents.in_disp.total")]
    OutboundCampaignAgentsInDispTotal,
    #[serde(rename = "outbound.campaign.agents.logged_in.total")]
    OutboundCampaignAgentsLoggedInTotal,
    #[serde(rename = "outbound.campaign.agents.paused.total")]
    OutboundCampaignAgentsPausedTotal,
    #[serde(rename = "outbound.campaign.agents.waiting.total")]
    OutboundCampaignAgentsWaitingTotal,
    #[serde(rename = "outbound.campaign.calls.answer_ratio.total")]
    OutboundCampaignCallsAnswerRatioTotal,
    #[serde(rename = "outbound.campaign.calls.answered.total")]
    OutboundCampaignCallsAnsweredTotal,
    #[serde(rename = "outbound.campaign.calls.being_placed.total")]
    OutboundCampaignCallsBeingPlacedTotal,
    #[serde(rename = "outbound.campaign.calls.drop_answer_ratio.total")]
    OutboundCampaignCallsDropAnswerRatioTotal,
    #[serde(rename = "outbound.campaign.calls.drop_ratio.total")]
    OutboundCampaignCallsDropRatioTotal,
    #[serde(rename = "outbound.campaign.calls.dropped.total")]
    OutboundCampaignCallsDroppedTotal,
    #[serde(rename = "outbound.campaign.calls.in_ivr.total")]
    OutboundCampaignCallsInIvrTotal,
    #[serde(rename = "outbound.campaign.calls.ringing.total")]
    OutboundCampaignCallsRingingTotal,
    #[serde(rename = "outbound.campaign.calls.total_today.total")]
    OutboundCampaignCallsTotalTodayTotal,
    #[serde(rename = "outbound.campaign.calls.waiting_for_agents.total")]
    OutboundCampaignCallsWaitingForAgentsTotal,
    #[serde(rename = "outbound.campaign.leads.dialable.total")]
    OutboundCampaignLeadsDialableTotal,
    #[serde(rename = "outbound.campaign.leads.in_hopper.total")]
    OutboundCampaignLeadsInHopperTotal,
    #[serde(rename = "outbound.campaign.status.total")]
    OutboundCampaignStatusTotal,
    #[serde(rename = "queues.bridge-time.total")]
    QueuesBridgeTimeTotal,
    #[serde(rename = "queues.calls.total")]
    QueuesCallsTotal,
    #[serde(rename = "queues.calls.waiting.total")]
    QueuesCallsWaitingTotal,
    #[serde(rename = "queues.expected.wait-time.avg")]
    QueuesExpectedWaitTimeAvg,
    #[serde(rename = "queues.handle-time.avg")]
    QueuesHandleTimeAvg,
    #[serde(rename = "queues.handle-time.total")]
    QueuesHandleTimeTotal,
    #[serde(rename = "queues.talk-time.avg")]
    QueuesTalkTimeAvg,
    #[serde(rename = "queues.talk-time.total")]
    QueuesTalkTimeTotal,
    #[serde(rename = "queues.total")]
    QueuesTotal,
    #[serde(rename = "queues.wait-time.avg")]
    QueuesWaitTimeAvg,
    #[serde(rename = "queues.wait-time.total")]
    QueuesWaitTimeTotal,
    #[serde(rename = "queues.wrapup.avg")]
    QueuesWrapupAvg,
    #[serde(rename = "queues.wrapup.total")]
    QueuesWrapupTotal,
    #[serde(rename = "random.float.value")]
    RandomFloatValue,
    #[serde(rename = "random.int.value")]
    RandomIntValue,
    #[serde(rename = "recordings.duration.avg")]
    RecordingsDurationAvg,
    #[serde(rename = "recordings.duration.total")]
    RecordingsDurationTotal,
    #[serde(rename = "recordings.total")]
    RecordingsTotal,
    #[serde(rename = "service-level.total")]
    ServiceLevelTotal,
    #[serde(rename = "service-level.value")]
    ServiceLevelValue,
    #[serde(rename = "sms.total")]
    SmsTotal,
    #[serde(rename = "time.value")]
    TimeValue,
    #[serde(rename = "zero.value")]
    ZeroValue,
}

impl std::fmt::Display for MetricId {
    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
        match self {
            Self::AbandonTotal => write!(f, "abandon.total"),
            Self::AbandonValue => write!(f, "abandon.value"),
            Self::AgentsLineStatusTotal => write!(f, "agents.line-status.total"),
            Self::AgentsNotAvailableTotal => write!(f, "agents.not_available.total"),
            Self::AgentsPresenceTotal => write!(f, "agents.presence.total"),
            Self::AgentsStateAvailableTotal => write!(f, "agents.state.available.total"),
            Self::AgentsStateBusyTotal => write!(f, "agents.state.busy.total"),
            Self::AgentsStateDeclinedTotal => write!(f, "agents.state.declined.total"),
            Self::AgentsStateInCallTotal => write!(f, "agents.state.in_call.total"),
            Self::AgentsStateOriginatedTotal => write!(f, "agents.state.originated.total"),
            Self::AgentsStateRingingTotal => write!(f, "agents.state.ringing.total"),
            Self::AgentsStateSelectedTotal => write!(f, "agents.state.selected.total"),
            Self::AgentsStateUnreachableTotal => write!(f, "agents.state.unreachable.total"),
            Self::AgentsStateWrapUpTotal => write!(f, "agents.state.wrap_up.total"),
            Self::AgentsTotal => write!(f, "agents.total"),
            Self::CallsDurationAvg => write!(f, "calls.duration.avg"),
            Self::CallsDurationTotal => write!(f, "calls.duration.total"),
            Self::CallsHoldAvg => write!(f, "calls.hold.avg"),
            Self::CallsHoldTotal => write!(f, "calls.hold.total"),
            Self::CallsTotal => write!(f, "calls.total"),
            Self::ConversationsEventsTotal => write!(f, "conversations.events.total"),
            Self::ConversationsTotal => write!(f, "conversations.total"),
            Self::DateValue => write!(f, "date.value"),
            Self::OneValue => write!(f, "one.value"),
            Self::OutboundCampaignAgentsInCallTotal => {
                write!(f, "outbound.campaign.agents.in_call.total")
            }
            Self::OutboundCampaignAgentsInCallsTotal => {
                write!(f, "outbound.campaign.agents.in_calls.total")
            }
            Self::OutboundCampaignAgentsInDeadCallsTotal => {
                write!(f, "outbound.campaign.agents.in_dead_calls.total")
            }
            Self::OutboundCampaignAgentsInDispTotal => {
                write!(f, "outbound.campaign.agents.in_disp.total")
            }
            Self::OutboundCampaignAgentsLoggedInTotal => {
                write!(f, "outbound.campaign.agents.logged_in.total")
            }
            Self::OutboundCampaignAgentsPausedTotal => {
                write!(f, "outbound.campaign.agents.paused.total")
            }
            Self::OutboundCampaignAgentsWaitingTotal => {
                write!(f, "outbound.campaign.agents.waiting.total")
            }
            Self::OutboundCampaignCallsAnswerRatioTotal => {
                write!(f, "outbound.campaign.calls.answer_ratio.total")
            }
            Self::OutboundCampaignCallsAnsweredTotal => {
                write!(f, "outbound.campaign.calls.answered.total")
            }
            Self::OutboundCampaignCallsBeingPlacedTotal => {
                write!(f, "outbound.campaign.calls.being_placed.total")
            }
            Self::OutboundCampaignCallsDropAnswerRatioTotal => {
                write!(f, "outbound.campaign.calls.drop_answer_ratio.total")
            }
            Self::OutboundCampaignCallsDropRatioTotal => {
                write!(f, "outbound.campaign.calls.drop_ratio.total")
            }
            Self::OutboundCampaignCallsDroppedTotal => {
                write!(f, "outbound.campaign.calls.dropped.total")
            }
            Self::OutboundCampaignCallsInIvrTotal => {
                write!(f, "outbound.campaign.calls.in_ivr.total")
            }
            Self::OutboundCampaignCallsRingingTotal => {
                write!(f, "outbound.campaign.calls.ringing.total")
            }
            Self::OutboundCampaignCallsTotalTodayTotal => {
                write!(f, "outbound.campaign.calls.total_today.total")
            }
            Self::OutboundCampaignCallsWaitingForAgentsTotal => {
                write!(f, "outbound.campaign.calls.waiting_for_agents.total")
            }
            Self::OutboundCampaignLeadsDialableTotal => {
                write!(f, "outbound.campaign.leads.dialable.total")
            }
            Self::OutboundCampaignLeadsInHopperTotal => {
                write!(f, "outbound.campaign.leads.in_hopper.total")
            }
            Self::OutboundCampaignStatusTotal => write!(f, "outbound.campaign.status.total"),
            Self::QueuesBridgeTimeTotal => write!(f, "queues.bridge-time.total"),
            Self::QueuesCallsTotal => write!(f, "queues.calls.total"),
            Self::QueuesCallsWaitingTotal => write!(f, "queues.calls.waiting.total"),
            Self::QueuesExpectedWaitTimeAvg => write!(f, "queues.expected.wait-time.avg"),
            Self::QueuesHandleTimeAvg => write!(f, "queues.handle-time.avg"),
            Self::QueuesHandleTimeTotal => write!(f, "queues.handle-time.total"),
            Self::QueuesTalkTimeAvg => write!(f, "queues.talk-time.avg"),
            Self::QueuesTalkTimeTotal => write!(f, "queues.talk-time.total"),
            Self::QueuesTotal => write!(f, "queues.total"),
            Self::QueuesWaitTimeAvg => write!(f, "queues.wait-time.avg"),
            Self::QueuesWaitTimeTotal => write!(f, "queues.wait-time.total"),
            Self::QueuesWrapupAvg => write!(f, "queues.wrapup.avg"),
            Self::QueuesWrapupTotal => write!(f, "queues.wrapup.total"),
            Self::RandomFloatValue => write!(f, "random.float.value"),
            Self::RandomIntValue => write!(f, "random.int.value"),
            Self::RecordingsDurationAvg => write!(f, "recordings.duration.avg"),
            Self::RecordingsDurationTotal => write!(f, "recordings.duration.total"),
            Self::RecordingsTotal => write!(f, "recordings.total"),
            Self::ServiceLevelTotal => write!(f, "service-level.total"),
            Self::ServiceLevelValue => write!(f, "service-level.value"),
            Self::SmsTotal => write!(f, "sms.total"),
            Self::TimeValue => write!(f, "time.value"),
            Self::ZeroValue => write!(f, "zero.value"),
        }
    }
}

impl Default for MetricId {
    fn default() -> MetricId {
        Self::AbandonTotal
    }
}