Skip to main content

Overview

Office Operations in TradeMaster Transactions allows you to create and manage box offices (taquillas) where tickets are sold. Box offices can be physical locations with operating hours or virtual offices for online sales. Each office has assigned collaborators, payment methods, and access to specific events.
Box offices are the primary sales channels in TMT. They connect collaborators, payment methods, and events to enable ticket transactions.

Office Types

Physical Office

Brick-and-mortar location with scheduled operating hours. Ideal for walk-up ticket sales and in-person customer service.

Virtual Office

Online sales channel operating 24/7. Connects to web portals and mobile apps for digital ticket purchases.

Accessing Office Management

1

Navigate to Offices

From the main menu, go to Taquillas > Lista de Taquillas
2

View Office Table

The table displays all box offices with their type, status, and client association
3

Search and Filter

Use the search bar to find offices by name, type, or status

Creating a Box Office

1

Click Create Office

Click the Crear Taquilla button in the top-right corner
2

Enter Basic Information

Fill in the office details:
{
  name: "Main Box Office",
  office_type: "Physical", // or "Virtual"
  status: true,
  client: {
    name: "Client Name",
    client_id: "client_123"
  }
}
3

Configure Address

Provide the office location details:
address: {
  country: { name: "United States", code: "US" },
  city: "Los Angeles",
  zipcode: "90001",
  line: "123 Main Street, Suite 100"
}
4

Assign Payment Methods

Select which payment methods this office can accept:
  • Credit/Debit Cards
  • Cash
  • Bank Transfers
  • Digital Wallets
5

Add Collaborators

Assign team members to work at this office:
  • Taquilleros: Ticket sellers
  • Administradores: Office managers and supervisors
6

Set Operating Hours (Physical Offices Only)

Configure the schedule for each day of the week with opening and closing times
7

Save and Activate

Click Guardar to create the office and make it operational
At least one collaborator must be assigned as an administrator to manage office operations.

Office Configuration Details

Required Fields

FieldTypeRequiredDescription
NameTextYesDisplay name for the office
TypeDropdownYesPhysical or Virtual
CountryDropdownYesCountry location
CityTextYesCity location
ZipcodeTextYesPostal code
Address LineText AreaYesComplete street address
Payment MethodsMulti-selectYesAvailable payment options
CollaboratorsMulti-selectYesAssigned ticket sellers
AdministratorsMulti-selectYesOffice managers
ClientDropdownYesOwner/producer organization

Office Data Structure

// Complete office configuration
{
  id: "office_123",
  name: "Main Box Office",
  office_type: "Physical",
  status: true,
  client: {
    name: "TradeMaster Transactions",
    client_id: "TMT"
  },
  address: {
    country: { name: "United States", code: "US" },
    city: "Los Angeles",
    zipcode: "90001",
    line: "123 Main Street, Suite 100"
  },
  contact: {
    name: "John Smith",
    email: "[email protected]",
    phone: "+1 555-0123"
  },
  manager: {
    name: "Jane Doe",
    email: "[email protected]",
    phone: "+1 555-0124"
  },
  date: {
    created: "2024-01-15T10:00:00",
    updated: ""
  },
  schedules: [
    {
      day: "Lunes",
      timeslot: { from: "09:00 am", to: "06:00 pm" }
    },
    // ... other days
  ]
}

Contact and Manager Information

Primary Contact

The first collaborator assigned automatically becomes the primary contact:
contact: {
  name: values.collaborators[0].value.name,
  email: values.collaborators[0].value.email,
  phone: values.collaborators[0].value.phone
}

Office Manager

The first administrator assigned becomes the office manager:
manager: {
  name: values.administrators[0].value.name,
  email: values.administrators[0].value.email,
  phone: values.administrators[0].value.phone
}
The contact and manager information is displayed in reports and used for notifications about office operations.

Managing Office Schedules

For physical offices, configure operating hours for each day of the week:

Schedule Configuration

1

Select Active Days

Check the checkbox for each day the office is open
2

Set Opening Time

Use the time picker to select when the office opens
3

Set Closing Time

Select when the office closes for the day
4

Repeat for All Days

Configure hours for Monday through Sunday

Schedule Examples

{
  day: "Lunes",
  timeslot: {
    from: "09:00 am",
    to: "06:00 pm"
  }
}
Virtual offices don’t have schedules since they operate 24/7 for online sales.

Assigning Collaborators

Collaborators are the team members who work at the office:

Collaborator Roles

Front-line staff who process ticket sales:
  • Search for available tickets
  • Process customer payments
  • Generate tickets and receipts
  • Handle basic customer inquiries
Permissions: Can sell tickets, view inventory, process payments
Supervisors who manage office operations:
  • Oversee ticket sellers
  • Generate sales reports
  • Manage daily cash reconciliation
  • Handle customer issues and refunds
Permissions: All ticket seller permissions plus reporting and management
Senior managers with full control:
  • Configure office settings
  • Assign collaborators
  • Manage payment methods
  • Access all financial data
Permissions: All administrator permissions plus configuration access

Assignment Process

// When creating an office, collaborators are assigned
values.collaborators.forEach(async (user) => {
  // Create bidirectional relationship
  await Firestore.collection(`offices/${officeId}/collaborators`)
    .doc(user.value.uid)
    .set({ name: user.value.name, status: true });
  
  await Firestore.collection(`u_collaborators/${user.value.uid}/offices`)
    .doc(officeId)
    .set({ name: officeName, status: true, office_type: officeType });
});
Collaborators must have an active account and be assigned to the same client organization as the office.

Payment Method Configuration

Offices need assigned payment methods to process transactions:

Adding Payment Methods to Office

// Payment method assignment
values.payments_methods.forEach(async (payment) => {
  await Firestore.collection(`offices/${officeId}/payment_methods`).add({
    currency: payment.value.currency,
    name: payment.value.name,
    payment_method_id: payment.value.id,
    custody_account: payment.value.custody_account,
    method: payment.value.method,
    percentage: 0 // Office-specific fee adjustment
  });
});

Payment Method Properties

PropertyDescription
nameDisplay name (e.g., “Credit Card - Visa”)
currencySupported currency (USD, MXN, etc.)
custody_accountBank account for deposits
methodPayment type (card, cash, transfer)
percentageOffice-specific fee or discount

Office Operations Dashboard

When collaborators log in, they see their assigned office dashboard:

Active Office View

Available Events

List of events with tickets available for sale at this office

Today's Sales

Real-time sales statistics for the current day

Active Collaborators

Team members currently working at the office

Cash Drawer

Current cash balance and transaction log

Selling Tickets from Office

1

Select Event

Choose the event from the available events list
2

Search for Tickets

Browse available tickets by zone, price, or seat number
3

Add to Order

Select one or more tickets to add to the current order
4

Choose Payment Method

Select from the payment methods assigned to this office
5

Process Payment

Complete the transaction and generate tickets
6

Print/Send Tickets

Print physical tickets or send digital tickets via email/SMS

Office Status Management

Active Status

Office is operational and can process sales. Collaborators can log in and sell tickets.

Inactive Status

Office is closed. Cannot process sales or access the system. Used for temporary closures or decommissioned offices.

Activating/Deactivating Offices

1

Open Office Details

Click on the office from the offices list
2

Toggle Status

Use the status switch to activate or deactivate
3

Confirm Change

Confirm the status change in the dialog
Deactivating an office immediately prevents all collaborators from processing sales at that location. Active transactions may be interrupted.

Offices Table Interface

The offices table provides an overview of all box offices:

Table Features

  • Global Search: Find offices by name, type, or client
  • Column Sorting: Click headers to sort by any field
  • Status Filter: Show only active or inactive offices
Click the download icon to export office data as CSV:
Name,Type,Status,Client,City,Created Date
Main Box Office,Physical,Active,Client Name,Los Angeles,2024-01-15
Virtual Sales Portal,Virtual,Active,Client Name,Online,2024-01-20

Table Columns

ColumnDescription
NameOffice display name
TypePhysical or Virtual
StatusActive (green) or Inactive (red)
ActionsView details icon

Office Detail View

Click on any office to view comprehensive details:

Information Tabs

1

General Information

  • Office name, type, and status
  • Address and contact details
  • Client/producer association
  • Creation and update dates
2

Collaborators

  • List of assigned ticket sellers
  • Administrator assignments
  • Contact information for each
  • Status and permissions
3

Payment Methods

  • Available payment options
  • Custody account associations
  • Processing fees
  • Currency support
4

Schedule (Physical Only)

  • Weekly operating hours
  • Open and closed days
  • Holiday schedule overrides
5

Sales Statistics

  • Total sales for the office
  • Top selling events
  • Payment method breakdown
  • Performance metrics
6

Transactions

  • Recent orders processed
  • Transaction history
  • Daily sales reports
  • Cash reconciliation records

Offline Ticket Sales

Physical offices can process offline sales when internet connectivity is unavailable:

Offline Mode

1

Enable Offline Mode

System detects loss of connectivity and switches to offline mode
2

Access Local Cache

Ticket inventory and event data are cached locally
3

Process Sales Locally

Transactions are recorded locally with temporary IDs
4

Sync When Online

When connection is restored, all offline transactions sync to the server
Offline mode supports cash transactions only. Card payments require active internet connection.

Sales Reports

Generate reports for office performance:

Available Reports

Total sales for a specific day including:
  • Total revenue
  • Number of tickets sold
  • Payment method breakdown
  • Collaborator performance
  • Hourly sales trends
Compare sales across all offices:
  • Revenue by office
  • Tickets sold per office
  • Average transaction size
  • Peak operating hours
Individual performance metrics:
  • Sales by collaborator
  • Average transaction time
  • Customer service ratings
  • Accuracy and error rates
Balance cash drawer with system records:
  • Opening balance
  • Cash sales total
  • Expected closing balance
  • Actual closing balance
  • Variance and discrepancies

Best Practices

Strategic Location

Place physical offices in high-traffic areas near event venues

Adequate Staffing

Assign enough collaborators to handle peak sales periods

Multiple Payment Options

Enable diverse payment methods to accommodate all customers

Regular Training

Train collaborators on system usage and customer service

Daily Reconciliation

Balance cash drawers and reconcile sales daily

Monitor Performance

Review office reports weekly to optimize operations

Troubleshooting

  1. Verify the collaborator is assigned to the office
  2. Check that both collaborator and office status are “Active”
  3. Confirm the collaborator account type matches required roles
  4. Verify the collaborator is assigned to the correct client
  5. Check that office schedules are configured (for physical offices)
  1. Check that payment method is assigned to the office
  2. Verify payment method status is “Active”
  3. Ensure currency matches ticket prices
  4. Confirm custody account is properly configured
  5. Check payment gateway credentials (for online payments)
  1. Ensure all required fields are completed
  2. Verify at least one collaborator and administrator are selected
  3. Check that at least one payment method is assigned
  4. Confirm the client account is active
  5. Verify you have permission to create offices
  1. Ensure opening time is before closing time
  2. Check that day checkboxes are selected
  3. Verify time format is correct (12-hour with AM/PM)
  4. For virtual offices, schedule is not required

User Management

Create and manage collaborators to assign to offices

Payment Processing

Configure payment methods for office use

Ticket Sales

Process ticket sales through configured offices

Event Management

Link events to offices for ticket sales

Build docs developers (and LLMs) love