StaffDto reference
This is for developers working with ReceiptRoller's staff (employee) master via the API or MCP. It explains the linkage with POS operator information and the logic for resolving the "responsible staff" of transaction data.
StaffDto is the canonical model for ReceiptRoller's staff (employee) master. It is used for shift management, time clocking, aggregating sales by responsible staff, labor cost calculation, and so on. It is managed per business account and can be assigned to multiple stores underneath it.
It is managed entirely separately from customers (CrmCustomerDto). Customers are visitors; staff are the employees who work at the store.
Main fields
Identifiers and basic information
| Field | Type | Description |
|---|---|---|
OrganizationId | string | Business account ID. PartitionKey. |
StaffId | string | RR internal staff ID (GUID). RowKey. |
UserId | string | Link to an RR user account (optional). For future employee login. Has an IsLinkedToUser helper. |
EmployeeNumber | string | Employee number (the number used by the store operator). |
LastName / FirstName | string | Last and first name. Has a FullName property. |
DisplayName | string | Display name. A fallback (nickname-style) used when the last/first name are empty. |
Employment information
| Field | Description |
|---|---|
Position | Job title (store manager, assistant manager, staff, etc.). Free text. |
EmploymentType | FullTime (full-time employee) / PartTime (part-time / casual) / Contract (contract employee) / Other. Localized via EmploymentTypeDisplayName. |
HourlyRate | Hourly wage (decimal). Formatted into "¥1,200/hr" form via FormattedHourlyRate. |
HireDate | Date of hire. |
AssignedStoreIds | Comma-separated list of assigned store IDs. Readable and writable as an array via AssignedStoreIdList. |
Contact and personal information
Phone, Email, DateOfBirth, Address, ProfileImageUrl. As emergency contacts, EmergencyContactName / EmergencyContactPhone / EmergencyContactRelation.
Fields for POS integration
| Field | Description |
|---|---|
SquareTeamMemberId | The Team Member ID of Square Team. An explicit link for associating an RR staff member with a Square operator. Reverse-lookupable via StaffService.FindBySquareTeamMemberIdAsync(). |
In the case of Smaregi, the current version does not keep a dedicated field on the StaffDto side; it references the StaffId (Smaregi's internal ID) on the transaction line item as-is. For details, see Mapping Smaregi staff data.
Other
Notes (free text), IsActive (false for retired staff), CreatedAt, UpdatedAt.
Resolving the responsible operator from the POS
A POS transaction (PosTransactionDto) includes the ID and name of the responsible staff. How you resolve this to an RR StaffDto depends on the POS.
- Square: match the transaction's
team_member_idagainstStaffDto.SquareTeamMemberId. You need to create the staff on the RR side in advance and enter the Square Team Member ID. - Smaregi: use the transaction's
staffId(Smaregi's internal ID) andstaffNamedirectly for receipt display and sales aggregation. Automatic matching with an RRStaffDtois not supported in the current version.
Mapping from the POS
- Mapping Square staff data to ReceiptRoller staff data
- Mapping Smaregi staff data to ReceiptRoller staff data
Notes
- The combination of
OrganizationIdandStaffIdis the unique key. - Retirement is represented with
IsActive = false. Avoid physical deletion; a logical delete is recommended, because the responsible-operator resolution of past transactions is still needed after retirement. - Setting
SquareTeamMemberIdis a manual operation. When you add a new Square Team Member, create the corresponding RR staff record and paste in the ID. - Use
AssignedStoreIdsto assign a staff member to multiple stores. It is used for filtering in shift management and sales aggregation.
Related guides
- PosTransactionDto reference — the canonical model for transaction data
- CrmCustomerDto reference — the customer master (managed separately from staff)
- Back to the Developer Help top