plansolve 0.1.5

Official Rust client library for the PlanSolve optimization API.
Documentation
//! Official Rust client library for the [PlanSolve](https://getplansolve.com) optimization API.
//!
//! Solve field service routing, professional services task assignment, and shift
//! scheduling problems with a simple, async API. All optimization types follow the
//! same workflow: construct a request, start the solver, poll for status, get results.
//!
//! ```no_run
//! # async fn run() -> plansolve::Result<()> {
//! use plansolve::Client;
//!
//! let client = Client::from_env()?;
//! let request = serde_json::from_str(&std::fs::read_to_string("request.json").unwrap()).unwrap();
//! let result = client
//!     .field_service
//!     .start_and_wait_for_completion(&request, 5000, 10)
//!     .await?;
//! println!("score: {:?}", result.score);
//! # Ok(())
//! # }
//! ```

mod client;
mod error;
mod score;
mod solver_status;
mod transport;

pub mod field_service;
pub mod professional_services;
pub mod shift;

pub use client::{Client, Environment};
pub use error::{Error, Result};
pub use score::Score;
pub use solver_status::{SolverStatus, SolverStatusResponse};