Rev 3106 | Rev 3168 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
namespace java in.shop2020.crmnamespace py shop2020.thriftpy.crmenum TicketPriority {LOW = 0,HIGH = 1,MEDIUM = 2}enum TicketStatus {OPEN = 0,CLOSED = 1,REOPEN = 2}enum TicketCategory {RETURN_FORM = 1,ORDER_CANCELLATION = 2,DELIVERY_PROBLEM = 3,PAYMENT_STATUS = 4,ORDER_STATUS = 5,PRODUCT_REQUEST = 6,PRODUCT_QUESTION = 7,OTHER = 8}enum ActivityType {EMAIL_CUSTOMER = 1,CALL_CUSTOMER = 2,OTHER = 3}struct Ticket {1:i64 id,2:i64 customerId,3:i64 openDate,4:i64 closeDate,5:string description,6:TicketPriority priority,7:TicketCategory category,8:TicketStatus status,9:i64 assigneeId10:i64 creatorId,11:i64 orderId,12:string airwayBillNo,13:string productName}struct Activity {1:i64 id,2:string description,3:i64 creationTimestamp, // represents time at which this activity occurred4:ActivityType type,5:i64 customerId,6:i64 creatorId,// ticket related fields to track changes on ticket fields7:i64 ticketId,8:TicketPriority ticketPriority,9:i64 ticketAssigneeId,10:TicketStatus ticketStatus,11:TicketCategory ticketCategory,12:string ticketDescription}struct Agent {1:i64 id,2:string name,3:string emailId,4:i64 managerId,5:string password}service CRMService {// Methods to read/write tickets from/in databaselist<Ticket> getTickets(1:i64 customerId);list<Ticket> getAssignedTickets(1:i64 agentId);list<Ticket> getUnassignedTickets();// Retrieves all tickets assigned to an agent or its reportee.list<Ticket> getAllTickets(1:i64 agentId);Ticket getTicket(1:i64 ticketId);void updateTicket(1:Ticket ticket);i64 insertTicket(1:Ticket ticket);// Methods to read/write activities from/in databaselist<Activity> getActivities(1:i64 customerId);list<Activity> getActivitiesForTicket(1:i64 ticketId);Activity getActivity(1:i64 activityId);Activity getLastActivity(1:i64 ticketId);void insertActivity(1:Activity activity);// Methods to read agent informationlist<Agent> getAllAgents();Agent getAgent(1:i64 agentId);Agent getAgentByEmailId(1:string agentEmailId);void updatePasswordForAgent(1:string agentEmailId, 2:string password);// Methods to read roles and permissions informationlist<string> getRoleNamesForAgent(1:string agentEmailId);list<string> getPermissionsForRoleName(1:string roleName);}